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 형태로 안정화됩니다.


4. 상황별 선택

읽기 트래픽이 많아 성능 최적화가 필요한 경우 -> 리드 레플리카 사용

고가용성이 중요하고 장애 발생 시 자동 복구가 필요한 경우 -> Multi-AZ 사용

고가용성과 읽기 부하 분산이 모두 필요한 경우 -> Multi-AZ + Read Replica 조합 사용