About/Cloud
AWS RDS 배포 옵션 정리 - (Multi-AZ Clusters vs Multi-AZ DB Instances vs Single DB Instance)
김징어
2023. 10. 6. 00:55
AWS에서 RDS 상품을 신청할 때 위 사진과 같이 가용성 및 내구성 필드에서 배포 옵션을 설정해야합니다.
- 다중 AZ DB 클러스터
- 다중 AZ DB 인스턴스
- 단일 DB 인스턴스
이 세 가지 옵션에 대하여 어떤 차이가 있는지 간단하게 알아보겠습니다.
다중 AZ 클러스터(Multi-AZ Clusters) 특징
- 다중 AZ 클러스터 방식은 두 개의 Reader DB Instance(읽기 전용 인스턴스)와 한 개의 Writer DB Instance(기존 단일 인스턴스)로 구성되어 있습니다.
- 각각의 인스턴스를 세 개의 서로 다른 Availability Zone에 배치되어 있습니다.
- 데이터는 Writer DB Instance로 부터 다른 Reader DB Instance에 반동기식으로 복제됩니다. (공식 문서 참조)
- 장애가 발생한 경우 Reader DB Instance가 Writer DB Instance로 빠르게 전환되므로 고가용성을 제공한다고 볼 수 있습니다. 또한 장애복구에도 뛰어난 구성입니다.
- 또한 Reader DB Instance를 두 개 배치함으로써 높은 애플리케이션의 Read(읽기) 처리량을 높였다고 할 수 있습니다.
- 고가용성과 뛰어난 장애복구 그리고 높은 읽기 처리량을 가집니다.
다중 AZ DB 인스턴스(Multi-AZ DB Instances)
- 다중 AZ DB 인스턴스 배포 방식은 하나의 Primary DB Instance와 하나의 Standby Replica Instance로 구성되어 있습니다.
- Primary DB Instance는 읽기/쓰기 작업을 수행하고, Standby Replica로 동기식으로 데이터를 복제합니다.
- Standby Replica는 읽기/쓰기 작업을 수행하지 않고 Primary의 장애에 대응하는 역할입니다. Standby Replica가 읽기 작업을 수행하게 하고 싶으면? 위의 다중 AZ 클러스터 방식을 사용하면 됩니다.
- Primary DB에 문제가 생긴 경우 Standby Replica를 Primary DB로 프로모션(변경)하고 트래픽을 Standby Replica가 받도록 수정합니다. (failover라고 합니다.) 이 때 Standby Replica가 동작을 수행하는 것입니다.
- 애플리케이션의 중단을 최소화하고, 가용성을 높이는 일반적인 방식이라고 할 수 있습니다.
단일 DB 인스턴스(Single DB Instance)
- 다중 AZ 클러스터나 다중 AZ DB 인스턴스와 달리 예비 DB가 존재하지 않습니다. 대신 비용 효율적입니다. (인스턴스가 하나니깐 저렴하겠죠)
- 데이터베이스 장애 시 복구 시간이 깁니다. (예비용 데이터베이스가 없으므로, 새로운 인스턴스를 생성하고 데이터베이스를 설치하고, 데이터를 복구해야하므로 꽤 오래걸립니다.)
- 일반적으로 더 간단한 구성 및 관리를 제공하여, 개발 및 테스트 작업을 더 쉽게 수행할 수 있습니다. 프로덕션 환경에는 권장하지 않습니다.
- 단일 DB 인스턴스는 다중 AZ 구성에 비해 미미하지만 더 낮은 지연 시간을 제공합니다.
- 하지만, 단일 DB 인스턴스는 시스템 장애나 데이터 손실의 위험이 높아, 데이터의 무결성과 가용성을 보장하기 위해 주기적인 백업 및 모니터링이 필요합니다.
AWS에서 RDS 상품의 배포 옵션에 대하여 알아보았습니다.