본문 바로가기
AWS/서비스

[AWS] AWS RDS, AWS Aurora, AWS DynamoDB, AWS ElastiCache 기본 개념

by Johnny's 2023. 5. 14.

Amazon Relational Database Service (AWS RDS)

클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장 수 있는 관리형 서비스 모음(웹 서비스)

 

RDS 주요 기능

- 자동 백업 :  데이터베이스 인스턴스를 특정 시점으로 복구 가능

- 데이터베이스 스냅샷 : S3에 저장된 인스턴스에 대해 사용자가 시작하는 백업으로서 명시적으로 삭제할 때까지 보관

- 다중 AZ 배포 : 두개 이상의 AZ에 걸쳐 DB를 구축하고 원본과 다른 DB(standby)를 자동으로 동기화(Snyc), 읽기 전용 복제본

- CloudWatch 연동 : DB 인스턴스의 모니터링 (디테일 모니터링, CPU, Storage 사 용량, 그 이외의 Error Log)

 

RDS를 사용하는 이유

DB를 사용을 할 때 EC2 위에서 데이터베이스를(MySQL 등) 설치해서 사용해도 아무런 문제가 없음

하지만, RDS를 사용해서 좀 더 DB 모니터링하기 쉽게하고, DB에 대한 설정값들을 쉽게 설정할 수 있음(관리가 쉬움)

 

RDS 구조

AWS Aurora

Amazon Aurora는 고성능 상용 데이터베이스의 성능과 가용성에 오픈 소스 데이터베이스의 간편성과 비용 효율성을 결합했고, 클라우드를 위해 구축된 MySQL 및 PostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스

 

- RDS에서 사용하는 EBS 대신 NVMe SSD 드라이브 위에 구축되어 훨씬 빠름


- Aurora은 기존 애플리케이션을 거의 변경하지 않고도 MySQL의 처리량을 최대 5배, PostgreSQL의 처리량을 최대 3배 제공

- 서버리스 기능과 Auto Scaling을 기본적으로 지원
- 비용이 비쌈
 (r6g.2xlarge 기준 MySQL: $1.02 / Aurora: $1.253
) - 25%

 

Aurora 구조

 

AWS DynamoDB

Amazon DynamoDB는 완전관리형 NoSQL 데이터베이스 서비스로서 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공

 

- AWS에서 제공하는 서버리스 기반 Key-Value NoSQL 데이터베이스, 따로 유지비용 없이 사용한 만큼한 지불
- 보조 인덱스를 통한 빠른 조회를 지원

- NoSQL 특성상 관계가 없기 때문에 일반적으로 데이터를 찾기에는 인덱싱이 없으면 속도가 느려지지만 그 부분을 해결해줌
- 서버리스(람다) 서버와의 궁합이 매우 잘 맞음

 

* 서비스가 점점 서버리스쪽으로 가는 이유

- 너무 편함, 서버가 죽는다는 개념이 없음, 스케일링 개념이 없음, 람다를 하나 더 띄우면 됨

- 다만, 실서버로 쓰기에는 서버리스는 레이턴시(Latency)가 있기 때문에 특정 분야(상황)에 맞게 사용하면 됨

- 비동기로 처리를 해야되는 경우나, 병렬적으로 많은 작업을 해야되는 경우 등 특정한 경우에만 서버리스를 많이 씀

- 대용량 데이터(사진) - 일반 서버로 하면 서버가 터짐, 서버리스로 하면 충분히 감당할 수 있음

- 반응이 빨라야하는 경우에는 서버리스를 추천하지 않음

 

 

AWS ElastiCache

Amazon ElastiCache는 클라우드에서 분산된 인 메모리 데이터 스토어 또는 캐시 환경을 손쉽게 설정, 관리 및 확장할 수 있는 웹 서비스

 

- Redis와 Memcached을 지원
- 캐시 노드 실패에서 자동 감지 및 복구
- 사용 예시 : 캐싱 / 세션 스토어 / AIML모델 / 실시간성이 높은 작업들

 

 

* 참고 

- Amazon Relational Database Service(Amazon RDS)

- Amazon Aurora

- Amazon DynamoDB

- Amazon ElastiCache

- 원티드(프리온보딩 백엔드 챌린지 5월) - Database

 

'AWS > 서비스' 카테고리의 다른 글

[AWS] AWS SQS, AWS Kinesis 개념  (0) 2023.05.10
[AWS] AWS Lambda  (0) 2023.05.05
[AWS] AWS EC2, AWS Elastic Beanstalk, AWS Fargate 개념  (0) 2023.05.04
[AWS] AWS 인프라  (0) 2023.05.02
[AWS] ECS 설정 방법 (ECR, Cluster, VPC, Fargate)  (0) 2023.04.22

댓글