라벨이 Read Replica인 게시물 표시

RDS Multi-AZ 이점 완전 정리: 고가용성, 페일오버, 그리고 성능 오해

프로덕션 RDS 인스턴스를 처음 설정할 때 Multi-AZ 옵션을 보고 '이거 켜면 성능도 좋아지겠지?'라고 생각했다면, 그 가정이 장애 대응 중에 당신을 배신할 수 있다. Multi-AZ는 고가용성과 페일오버 를 위한 기능이지, 읽기 성능 향상을 위한 기능이 아니다. TL;DR: RDS Multi-AZ 핵심 요약 항목 Multi-AZ 동작 목적 고가용성 및 자동 페일오버 스탠바이 인스턴스 직접 접근 불가 (읽기/쓰기 모두 차단) 읽기 성능 향상 없음 — 읽기 스케일아웃은 Read Replica 사용 쓰기 성능 영향 동기 복제로 인한 소폭 지연 가능 페일오버 소요 시간 일반적으로 60~120초 (공식 보장 없음) 데이터 내구성 동기 복제로 RPO ≈ 0 자동 백업 스탠바이에서 수행 (프라이머리 I/O 영향 감소) RDS Multi-AZ가 실제로 하는 일 Multi-AZ를 활성화하면 AWS는 다른 가용 영역(AZ)에 스탠바이 인스턴스를 자동으로 프로비저닝한다. 프라이머리 인스턴스에 쓰기가 발생하면 Amazon RDS는 동기식 블록 수준 복제를 통해 스탠바이에 데이터를 미러링한다. 애플리케이션은 항상 프라이머리 엔드포인트 하나만 바라본다. 여기서 핵심은 동기(synchronous) 복제 라는 점이다. 프라이머리가 트랜잭션을 커밋하기 전에 스탠바이에도 기록이 완료되어야 한다. 이 구조 덕분에 페일오버 시 데이터 손실이 없지만, 반대로 스탠바이는 항상 '대기 중'이지 '서비스 중'이 아니다. graph LR App["애플리케이션"] -->|"단일 엔드포인트 (DNS)"| Primary["프라이머리 인스턴스 AZ-A"] Primary -->|"동기 ...