클라우드 컴퓨팅 관련해서 공부를 하던 도중 RDS DB Instance와 Aurora DB Instance 는 무슨 차이가 있는지 궁금해서 공부해보았다.
Amazon RDS란?
Amazon Relational Database Service(Amazon RDS)는 클라우드에서 관계형 데이터베이스를 보다 쉽게 설정, 운영 및 확장할 수 있는 웹 서비스이다.
- 기존 데이터베이스 아키텍쳐를 중심으로 완전히 관리되는 추상화 계층 제공
- RDS 내에서 데이터베이스 플랫폼은 EC2에서 수동으로 수행하는 것 처럼 구축.
- 적절한 AMI (Amazon Machine Image)에서 provisioning 되고, EBS스토리지는 provisioning된 인스턴스에 연결됨.
- 적절한 서브넷 그룹과 보안 그룹이 인스턴스에 연결되는 구조.
특징
- 트랜잭션 로그 및 데이터베이스 데이터 파일은 로컬 EBS 스토리지 볼륨 사용
- 데이터베이스의 모든 커밋된 트랜잭션 I/O는 WAL(Write-Ahead Log)라고 하는 전후 이미지가 있는 로그 레코드를 생성한 후, 지속가능한 스토리지로 저장
- 체크포인트 작업은 수정된 페이지를 디스크로 플러시하여 수행
- EC2 인스턴스에 생성되기 때문에 I/O 대역폭 및 IOPS 로 인해 성능이 제한됨.
- DB 인스턴스 튜닝 시 I/O Bandwidth를 늘리거나 I/O Count를 줄여야 함.
Amazon Aurora란?
Amazon Aurora(Aurora)는 MySQL 및 PostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스 엔진으로, 관리형 데이터베이스 서비스 Amazon Relational Database Service(Amazon RDS)의 일부입니다
- Aurora 플랫폼은 AWS만의 관계형 데이터베이스로써, 기존의 소스를 커스터마이징하여 AWS에 최적화 시킴.
- 기존 RDS의 모든 관리 기능 뿐만 아니라, 데이터베이스에 최적화된 스토리지 하위 시스템을 제공하여 RDS 플랫폼 확장.
- RDS에서 사용하는 EBS 스토리지 대신, NVMe SSD 드라이브 위에 구축되어 훨씬 빠른 성능 이점 제공
특징
- 애플리케이션에 따라 자동으로 확장
- 6개의 데이터 복사본을 만들어 여러 위치에 배포하고 Amazon S3 에 지속적으로 백업
- 99.99% 이상의 가용성 제공
- 스토리지 장애로부터 투명하게 복구
- 일반적으로 30초 미만의 인스턴스 장애조치 허용
- 롤백 기능 제공.
AWS RDS와 Aurora의 비교 분석
RDS Aurora는 일반적인 RDS DB Instance에 비해 빠른 로컬 성능 및 재해 복구를 위해 여러 지역에 데이터를 복제하고, 컴퓨팅 및 스토리지 작업을 분리하여, I/O 병목현상을 줄인다.
로컬 스토리지에 대한 체크포인트 작업으로, 데이터베이스 인스턴스에 부담을 주는 대신 Aurora는 지속적인 체크포인트를 위해 분산 스토리지 플릿을 사용한다.
이 분산 스토리지 플릿은 Aurora가 처리량 측면에서 표준 MySQL을 능가하는데 도움이 되며 가용성과 내구성도 향상된다.
결론적으로 말해서, Aurora가 더 비싼 대신 성능 및 장애 조치에 대해 좋은 성능을 보인다는 것이다!
AWS Aurora DB Cluster
그런데 여기서 Multi-AZ DB Instance를 사용하는 것보다는 Aurora DB Cluster 를 사용하는 것이 장애 조치에 매우 효과적이다.
Multi-AZ DB Instance는 데이터 손실 없이 최대 60초 만에 완료되는 자동 데이터베이스 장애 조치를 통해 애플리케이션의 고가용성을 지원하며 수동 개입도 필요 없다.
Multi-AZ Aurora DB Cluster는 하나의 Writer Instance와 두 개의 ReadOnly 대기 인스턴스가 있는 데이터베이스 클러스터이다.
최대 2배 더 빠른 트랜잭션 커밋 대기 시간과 일반적으로 35초 미만의 자동 장애 조치를 제공합니다.

참고
[AWS] Amazon Aurora 와 Amazon RDS 의 주요 기능 차이 및 데이터 마이그레이션 방법
게시일 : 2021.04.12 키워드 : Amazon Aurora, Amazon RDS, 마이그레이션 Question 1. Amazon Aurora 와 Amazon RDS의 주요 기능 차이를 알고 싶습니다. (특히, Aurora 를 사용 시 RDS 에 비해 어떠한 점들이 좋아지는지 유
support.bespinglobal.com
https://docs.aws.amazon.com/rds/
https://docs.aws.amazon.com/rds/
docs.aws.amazon.com
'Infra & Cloud > AWS' 카테고리의 다른 글
[AWS] EC2 환경에서 Redis 구축하기 (0) | 2024.07.25 |
---|---|
[AWS] EC2와 RDS 연결하기 (0) | 2024.07.25 |
[AWS] EC2에 MySQL 적용 및 사용하기 (0) | 2024.06.15 |
[AWS] S3 이미지 업로드 및 EC2 연결하기 (0) | 2024.06.13 |
[AWS] EC2에서 https 프로토콜 적용하기 (0) | 2024.05.25 |