인스턴스 스토어 및 Elastic Block Store(EBS)
인스턴스 스토어
EC2 인스턴스에 임시 블록 수준 스토리지 제공
- 물리적으로 EC2 인스턴스의 호스트 컴퓨터와 연결
- 인스턴스와 수명이 동일
- 인스턴스가 종료되면 인스턴스 스토어의 데이터 손실
- 장기적으로 필요하지 않은 임시 데이터가 포함된 사용 사례에 적합
Elastic Block Store(EBS)
EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스
- EC2 인스턴스를 중지 또는 종료해도 연결된 EBS 볼륨의 모든 데이터 사용 가능
- EBS 볼륨을 생성하려면 구성을 정의하고 프로비저닝
- EBS 볼륨 생성 후 볼륨을 EC2 인스턴스에 연결할 수 있음
- EBS 스냅샷을 통해 EBS 볼륨을 증분 백업할 수 있음
EBS 스냅샷
증분 백업
- 처음 볼륨을 백업하면 모든 데이터가 복사
- 이후의 백업은 가장 최근 스냅샷 이후의 변경된 데이터 블록만 저장
Simple Storage Service(S3)
객체 스토리지
- 각 객체는 데이터, 메타데이터, 키로 구성
- 데이터: 이미지, 동영상 또는 기타 유형의 파일
- 메타데이터: 데이터의 내용, 사용 방법, 객체 크기 등에 대한 정보
- 키: 고유 식별자
- 블록 스토리지와 달리 파일 수정 시 전체 개체가 업데이트
Simple Storage Service(S3)
객체 수준 스토리지를 제공하는 서비스
- 데이터를 버킷에 객체로 저장
- 저장 공간 무제한
- 저장할 수 있는 객체의 최대 파일 크기는 5TB
- 파일 업로드 시 권한 설정하여 파일에 대한 표시 여부 및 액세스 제어 가능
- 버전 관리 기능을 사용해 시간 경과에 따른 객체 변경 사항 추적 가능
S3 스토리지 클래스
비즈니스 및 비용 요구 사항에 맞춰 다양한 스토리지 클래스 중 선택 가능
- 데이터 검색 빈도와 필요한 데이터 가용성을 고려
- 클래스 종류
- S3 Standard
- 자주 액세스하는 데이터
- 최소 3개의 가용 영역에 데이터 저장
- 다른 스토리지 클래스보다 비용 높음
- S3 Standard-Infrequent Access(S3 Standard-IA)
- 자주 액세스하지 않는 데이터
- 최소 3개의 가용 영역에 데이터 저장
- S3 Standard에 비해 스토리지 가격 저렴, 검색 가격 높음
- S3 One Zone-Infrequent Access(S3 One Zone-IA)
- 단일 가용 영역에 데이터 저장
- S3 Standard-IA보다 낮은 스토리지 가격
- 스토리지 비용 절감, 가용 영역 장애 발생 시 데이터를 손쉽게 재현할 수 있는 경우 적합
- S3 Intelligent-Tiering
- 액세스 패턴을 알 수 없거나 자주 변화하는 데이터에 적합
- 객체당 소량의 월별 모니터링 및 자동화 요금 부과
- 사용자가 30일 연속 객체에 액세스하지 않으면 자동으로 해당 객체를 S3 Standard-IA로 이동
- 이 객체에 다시 액세스하면 자동으로 S3 Standard로 이동
- S3 Glacier
- 데이터 보관용으로 설계된 저비용 스토리지
- 객체를 몇 분에서 몇 시간 이내에 검색
- S3 Glacier Deep Archive
- 보관에 이상적인 가장 저렴한 객체 스토리지 클래스
- 객체를 12시간 내에 검색
- 얼마나 빨리 검색해야 하는지 고려하여 두 Glacier 서비스 간에 어떤 서비스 사용할 지 결정
- S3 Standard
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용 인 메모리 캐시
- 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상 가능