AWS RDS 레플리카와 Multi-AZ
AWS RDS 레플리카란?
AWS RDS의 레플리카(Replica)는 읽기 성능 향상 및 장애 복구 대비를 위해 데이터베이스의 복제본을 생성하는 기능입니다.
레플리카는 크게 두 가지 유형으로 나뉩니다.
- 리드 레플리카 (Read Replica)
- 멀티 AZ (Multi-AZ)
1. 리드 레플리카 (Read Replica)
리드 레플리카는 읽기 작업 부하 분산을 위해 사용되며, 프라이머리 데이터베이스(Primary DB)의 변경 사항을 비동기적으로 복제합니다.
1) 리드 레플리카의 특징
- 읽기 전용으로 사용되며, 직접 쓰기 작업은 불가능합니다.
- 비동기 복제 방식으로 이루어지며, 약간의 데이터 복제 지연(latency)이 발생할 수 있습니다.
- 여러 개의 리드 레플리카를 생성할 수 있으며, 하나의 프라이머리에 대해 여러 개의 리드 레플리카를 운영할 수 있습니다.
- Cross-Region 복제 가능하여 다른 AWS 리전에도 배포할 수 있습니다.
2) 리드 레플리카 구성 예시
Primary DB (읽기/쓰기)
├── Read Replica 1 (읽기 전용)
├── Read Replica 2 (읽기 전용, 다른 리전 가능)
2. Multi-AZ 구성 (고가용성 보장)
Multi-AZ는 고가용성을 위한 자동 페일오버(Failover) 지원을 목적으로 운영되며, 프라이머리와 스탠바이 DB가 동기적으로 복제됩니다.
1) Multi-AZ 구성의 특징
- 자동 페일오버 지원: 프라이머리에 장애가 발생하면 스탠바이 인스턴스가 자동으로 프라이머리로 승격됩니다.
- 동기적 복제를 사용하여 데이터 손실 없이 복제됩니다.
- 프라이머리 1개 + 스탠바이 1개로만 운영됩니다.
- 읽기 부하 분산이 불가능하며, 스탠바이 인스턴스는 대기 상태로 유지됩니다.
2) Multi-AZ 구성 예시
Primary DB (읽기/쓰기)
├── Standby DB (복제, 자동 페일오버)
3) Multi-AZ 장애 발생 시 동작 흐름
(1) 정상 운영
- Primary가 모든 트래픽을 처리하며, Standby는 대기 상태로 유지됩니다.
(2) Primary 장애 발생
- AWS RDS가 자동으로 장애를 감지하고, Standby DB를 새로운 Primary로 승격시킵니다.
- 애플리케이션에서 사용하는 엔드포인트는 변경되지 않으므로 자동으로 새로운 Primary를 사용하게 됩니다.
(3) 복구 후 역할 변경
- 기존 Primary가 복구되면 새로운 Standby로 전환됩니다.
- 최종적으로 다시 Primary + Standby 형태로 안정화됩니다.