[AWS Cloud Practitioner] 스토리지 및 데이터베이스 정리

AWS Cloud Practitioner Essential 스토리지 및 데이터베이스 정리

인스턴스 스토어 및 Elastic Block Store(EBS)

인스턴스 스토어

EC2 인스턴스에 임시 블록 수준 스토리지 제공

  • 물리적으로 EC2 인스턴스의 호스트 컴퓨터와 연결
  • 인스턴스와 수명이 동일
  • 인스턴스가 종료되면 인스턴스 스토어의 데이터 손실
    • 장기적으로 필요하지 않은 임시 데이터가 포함된 사용 사례에 적합

Elastic Block Store(EBS)

EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스

  • EC2 인스턴스를 중지 또는 종료해도 연결된 EBS 볼륨의 모든 데이터 사용 가능
  • EBS 볼륨을 생성하려면 구성을 정의하고 프로비저닝
    • EBS 볼륨 생성 후 볼륨을 EC2 인스턴스에 연결할 수 있음
  • EBS 스냅샷을 통해 EBS 볼륨을 증분 백업할 수 있음

EBS 스냅샷

증분 백업

EBS 스냅샷 예시

  • 처음 볼륨을 백업하면 모든 데이터가 복사
  • 이후의 백업은 가장 최근 스냅샷 이후의 변경된 데이터 블록만 저장

Simple Storage Service(S3)

객체 스토리지

  • 각 객체는 데이터, 메타데이터, 키로 구성
    • 데이터: 이미지, 동영상 또는 기타 유형의 파일
    • 메타데이터: 데이터의 내용, 사용 방법, 객체 크기 등에 대한 정보
    • 키: 고유 식별자
  • 블록 스토리지와 달리 파일 수정 시 전체 개체가 업데이트

Simple Storage Service(S3)

객체 수준 스토리지를 제공하는 서비스

  • 데이터를 버킷에 객체로 저장
  • 저장 공간 무제한
  • 저장할 수 있는 객체의 최대 파일 크기는 5TB
  • 파일 업로드 시 권한 설정하여 파일에 대한 표시 여부 및 액세스 제어 가능
  • 버전 관리 기능을 사용해 시간 경과에 따른 객체 변경 사항 추적 가능

S3 스토리지 클래스

비즈니스 및 비용 요구 사항에 맞춰 다양한 스토리지 클래스 중 선택 가능

  • 데이터 검색 빈도와 필요한 데이터 가용성을 고려
  • 클래스 종류
    1. S3 Standard
      1. 자주 액세스하는 데이터
      2. 최소 3개의 가용 영역에 데이터 저장
      3. 다른 스토리지 클래스보다 비용 높음
    2. S3 Standard-Infrequent Access(S3 Standard-IA)
      1. 자주 액세스하지 않는 데이터
      2. 최소 3개의 가용 영역에 데이터 저장
      3. S3 Standard에 비해 스토리지 가격 저렴, 검색 가격 높음
    3. S3 One Zone-Infrequent Access(S3 One Zone-IA)
      1. 단일 가용 영역에 데이터 저장
      2. S3 Standard-IA보다 낮은 스토리지 가격
      3. 스토리지 비용 절감, 가용 영역 장애 발생 시 데이터를 손쉽게 재현할 수 있는 경우 적합
    4. S3 Intelligent-Tiering
      1. 액세스 패턴을 알 수 없거나 자주 변화하는 데이터에 적합
      2. 객체당 소량의 월별 모니터링 및 자동화 요금 부과
      3. 사용자가 30일 연속 객체에 액세스하지 않으면 자동으로 해당 객체를 S3 Standard-IA로 이동
      4. 이 객체에 다시 액세스하면 자동으로 S3 Standard로 이동
    5. S3 Glacier
      1. 데이터 보관용으로 설계된 저비용 스토리지
      2. 객체를 몇 분에서 몇 시간 이내에 검색
    6. S3 Glacier Deep Archive
      1. 보관에 이상적인 가장 저렴한 객체 스토리지 클래스
      2. 객체를 12시간 내에 검색
      3. 얼마나 빨리 검색해야 하는지 고려하여 두 Glacier 서비스 간에 어떤 서비스 사용할 지 결정

Elastic File System(EFS)

파일 스토리지

  • 여러 클라이언트가 공유 파일 폴더에 저장된 데이터에 액세스 가능
  • 스토리지 서버가 블록 스토리지를 로컬 파일 시스템과 함께 사용하여 파일 구성
  • 클라이언트는 파일 경로를 통해 데이터에 액세스
  • 많은 수의 서비스 및 리소스가 동시에 동일한 데이터에 액세스해야 하는 사례에 적합
  • 파일을 추가 또는 제거하면 EFS는 자동으로 확장되거나 축소됨
    • 애플리케이션을 중단하지 않고 온디맨드로 페타바이트 규모로 확장 가능

EBS와 EFS 비교

EBS

  • 단일 가용 영역에 데이터 저장
  • EC2 인스턴스를 EBS 볼륨에 연결하려면 둘 다 동일한 가용 영역에 상주해야 함

EFS

  • 리전별 서비스. 여러 가용 영역에 걸쳐 데이터 저장
  • 온프레미스 서버는 AWS Direct Connect를 사용해 EFS에 액세스 가능

Relational Database Service(RDS)

AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스

  • 하드웨어 프로비저닝, 데이터베이스 설정, 패치 적용 백업과 같은 작업을 자동화
  • Lambda를 사용하여 서버리스 애플리케이션에서 데이터베이스를 쿼리하는 등 다른 서비스와 통합하여 비즈니스 및 운영 요구 사항 충족 가능
  • 다양한 보안 옵션 제공
    • 저장 시 암호화(데이터가 저장되는 동안 데이터 보호)
    • 전송 중 암호화(데이터를 전송 및 수신하는 동안 데이터 보호)

RDS 데이터베이스 엔진

  • 메모리, 성능 또는 입출력에 최적화된 6개의 데이터베이스 엔진에서 사용 가능
    • Amazon Aurora
    • PostgreSQL
    • MySQL
    • MariaDB
    • Oracle Database
    • Microsoft SQL Server

Amazon Aurora

엔터프라이즈급 관계형 데이터 베이스

  • MySQL, PostgreSQL 관계형 데이터베이스와 호환
  • 표준 MySQL 데이터베이스보다 최대 5배 빠르며 표준 PostgreSQL 데이터베이스보다 최대 3배 빠름
  • 데이터베이스 리소스의 안정성 및 가용성을 유지하면서 불필요한 입출력 작업을 줄여 데이터베이스 비용 절감
  • 워크로드에 고가용성이 필요한 경우 적합
    • 6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 S3에 백업함

DynamoDB

키-값 데이터베이스 서비스

  • 모든 규모에서 한 자릿수 밀리초 성능 제공
  • 서버리스 데이터베이스
  • 데이터베이스 크기가 축소 또는 확장되면 용량 변화에 맞춰 자동으로 크기를 조정하면서 일관된 성능 유지
    • 크기를 조정하는 동안 고성능이 필요한 경우에 적합

Redshift

빅 데이터 분석에 사용할 수 있는 데이터 웨어하우징 서비스

  • 여러 원본에서 데이터를 수집해 데이터 간 관계 및 추세를 파악하는데 도움이 되는 기능 제공

AWS Database Migration Service(DMS)

관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션 하는 서비스

  • DMS 를 사용하면 원본 데이터베이스와 대상 데이터베이스 간에 데이터 이동 가능
  • 원본 데이터베이스와 대상 데이터베이스는 유형이 같을 필요 없음
  • 마이그레이션동안 원본 데이터베이스가 계속 작동하므로 다운타임 최소화

DMS 사용 사례

  • 개발 및 테스트 데이터베이스 마이그레이션: 프로덕션 사용자에게 영향을 주지 않고 개발자가 프로덕션 데이터에서 테스트할 수 있도록 지원
  • 데이터베이스 통합: 여러 데이터베이스를 단일 데이터베이스로 통합
  • 연속 복제: 일회성 마이그레이션이 아닌 데이터의 진행 중 복제본을 다른 대상 원본으로 전송

추가 데이터베이스 서비스

DocumentDB

  • MongoDB 워크로드를 지원하는 문서 데이터베이스 서비스

Neptune

  • 그래프 데이터베이스 서비스
  • 추천 엔진, 사기 탐지, 지식 그래프와 같이 고도로 연결된 데이터 세트로 작동하는 애플리케이션 빌드 및 실행

Quantum Ledger Database(QLDB)

  • 원장 데이터베이스 서비스
  • 애플리케이션 데이터에 발생한 모든 변경 사항의 전체 기록 검토 가능

Managed Blockchain

  • 오픈소스 프레임워크를 사용해 블록체인 네트워크를 생성하고 관리하는 데 사용할 수 있는 서비스
  • 블록체인은 여러 당사자가 중앙 기관없이 거래를 실행하고 데이터를 공유할 수 있는 분산형 원장 시스템

ElastiCache

  • 자주 사용되는 요청의 읽기 시간을 향상시키기 위해 데이터베이스 위에 캐싱 계층을 추가하는 서비스
  • Redis, Memcached 지원

DynamoDB Accelerator(DAX)

  • DynamoDB용 인 메모리 캐시
  • 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상 가능
Hugo로 만듦
JimmyStack 테마 사용 중