[AWS Cloud Practitioner Essentials]모듈 5 스토리지 및 데이터베이스 요약

yylog·2023년 1월 2일
0

📌요약

Amazon EC2 인스턴스 스토어 및 Amazon EBS
Amazon S3
Amazon EFS
관계형 데이터베이스 및 Amazon RDS
비관계형 데이터베이스 및 DynamoDB
Amazon Redshift
AWS DMS
추가 데이터베이스 서비스

인스턴스 스토어

EC2 인스턴스에 임시 블록 수준 스토리지
EC2가 사라지면 사라짐

Amazon Elastic Block Store(Amazon EBS)

EC2에서 사용할 수 있는 블록 수준 스토리지 볼륨
EC2가 종료되더라도 살아있다.
EBS 스냅샷을 생성하여 EBS 볼륨을 증분 백업 (볼륨은 증분 백업)
단일 가용 영역에 데이터 저장
EC2와 EBS볼륨이 동일한 가용 영역에 상주해야 연결 가능

Amazon Simple Storage Service(Amazon S3)

객체 스토리지
한번 쓰기/여러번 읽기에 특화
데이터를 버킷에 객체로 저장한다.(객체 변경 시 전체 파일 업데이트)
데이터를 검색할 빈도와 필요한 데이터 가용성을 고려하여 스토리지 클래스 선택

1. S3 Standard

기본/자주 액세스하는 데이터용으로 설계/최소 3개 가용 영역에 데이터 저장/비쌈

2. S3 Standard-Infrequent Access(S3 Standard-IA)

자주 액세스 X/S3 Standard정도는 아니지만 가끔 검색할 때 빨라야함/좀 더 쌈

3. S3 One Zone-Infrequent Access(S3 One Zone-IA)

위에는 3개의 가용영역에 저장 여기는 1개의 가용영역에 저장 > 저렴
장애가 나도 쉽게 복구할 수 있는 데이터를 저장

4. S3 Intelligent-Tiering

액세스 패턴을 모르거나 자주 변화할 때 사용
모니터링을 통해 자동으로 S3 클래스 변경

5. S3 Glacier

데이터 보관용으로 설계된 저렴한 스토리지
검색 시 몇분 소요

6. S3 Glacier Deep Archive

검색 시 12시간 이내에 검색

EBS VS S3

1.사용자가 사진을 업로드하면 닮은 동물을 찾아주는 서비스 -> S3

객체별 URL 보유 / 백업 전략 보유/비용 절감 효과/ 서버리스 EC2 노필요

2. 80GB 동영상 업로드 서비스 -> EBS

블록백업으로 인하여 변경된 부분만 업데이트

결론

복잡하고 빈번한 읽기/쓰기엔 EBS 사용
완성 객체를 사용하거나 변경 횟수가 적으면 S3사용

Amazon Elastic File System(Amazon EFS)

파일 스토리지(많은 수의 서비스 및 리소스가 동시에 동일한 데이터 액세스 시 사용)
여러 클라이언트에서 공유 파일 폴더에 저장된 데이터에 액세스 -> 공유 폴더 역할
리전별 서비스로 여러 가용 영역에 걸쳐 데이터 저장
중복 스토리지를 사용하여 파일 시스템이 위치한 리전의 모든 가용 영역에서 동시에 데이터 엑세스 가능
온프레미스 서버는 AWS Direct Connect를 사용하여 EFS에 액세스 가능

Amazon Relational Database Service(Amazon RDS)

관계형 데이터베이스
프로비저닝 자동화
AWS Lambda와 같이 사용 가능

- RDS Proxy

  • 애플리케이션이 데이터베이스 연결을 풀링하고 공유하도록 허용하여 확장 기능을 향상할 수 있는 서비스이다.
  • 애플리케이션 연결을 유지하면서 예비 DB 인스턴스에 자동으로 연결하여 데이터베이스 장애에 대한 애플리케이션의 복원력을 높인다.
  • 예기치 않은 트래픽 급증에 대처할 수 있다. 데이터베이스 연결 풀을 설정하고 이 풀에서 연결을 재사용한다.
  • 과다 연결 수 를 제어할 수 있다.
  • 데이터베이스에 대해 AWS Identity and Access Management(IAM) 인증을 사용하고 AWS Secrets Manager에 자격 증명을 안전하게 저장한다.

Amazon Aurora

엔터프라이즈급 관계형 데이터베이스
6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 S3에 백업

Amazon DynamoDB

비관계형 데이터 베이스(NoSQL)
서버리스 데이터베이스

Amazon Redshift

빅데이터 분석에 사용할 수 있는 데이터 웨어 하우징 서비스
여러 원본에서 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는데 도움을 줌.

AWS Database Migration Service

기존 관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터 저장소를 다른 데이터베이스로 마이그레이션 할 수 있는 서비스

추가 데이터베이스 서비스

1. Amazon DocumentDB

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

2. Amazon Neptune

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

3. Amazon Quantum Ledger Database(Amazon QLDB)

원장 데이터베이스 서비스
데이터에 발생한 모든 변경 사항의 전체 기록을 검토할 수 있다.

4. Amazon Managed Blockchain

오픈 소스 프레임워크를 사용하여 블록체인 네트워크를 생성하고 관리하는데 사용할 수 있는 서비스

5. Amazon ElastiCache

자주 사용되는 요청의 읽기 시간을 향상시키기 위해 데이터 베이스 위에 캐싱 계층 추가하는 서비스
Redis 및 Memcached 저장소 지원
RED, S3, MongoDB, DynamoDB 등의 데이터베이스/ 데이터 스토어 캐싱 레이어
캐싱, 세션 스토어, 게이밍, 지리 공간 서비스, 실시간 분석 및 대기열과 같은 실시간 서비스에 사용
밀리 초 미만의 응답 시간을 필요로 하는 서비스

6. Amazon DynamoDB Accelerator

DynamoDB용 인 메모리 캐시
응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상시킬 수 있다.

DAX VS ElasiCache

  • DAX는 DB 결과 각각의 오브젝트를 캐싱하고, ElastiCache는 집약된 결과를 캐싱한다.
  • DAX API는 기존 DynamoDB API 호출과 호환되므로 애플리케이션 로직 변경 필요 없이 DAX SDK만 클라이언트에 적용하면 캐시 무효화등을 따로 처리할 필요 없다.(애플리케이션 재구성 필요 없음) 또 Java, JavaScript, .NET, Python, GO언어만을 지원한다.
  • ElastiCache는 오픈소스로 제공되는 Memcached 혹은 Redis와 동일한 API를 제공한다. 기존 애플리케이션이 이걸 사용하고 있었다면 수정할 부분 없다. 기존에 RDS 데이터베이스만 사용하고 있었다면 별도의 API를 사용해 액세스 한다.
    캐싱 레이어에서 캐싱 로직 수정이나 필요한 API로 변경해야 한다는 특징이 있다. 실시간 데이터가 필요한 쿼리에서 현재의 캐시값이 최신인지 데이터 스토어와 비교하는 로직을 애플리케이션에서 직접 구현해야한다.

출처
https://explore.skillbuilder.aws/learn/course/1928/play/6248/aws-cloud-practitioner-essentials-korean

profile
경험하고 공부한 모든 것을 기록하는 공간

0개의 댓글