RDS PostgreSQL을 Aurora PostgreSQL로 자동 마이그레이션하기
핵심 내용
Netflix는 400개 규모의 PostgreSQL 클러스터를 Aurora PostgreSQL로 옮기기 위해 셀프서비스 자동 마이그레이션을 구축했다.
자세히 보기
Netflix는 2024년 데이터베이스 표준을 Amazon Aurora PostgreSQL로 정하고, 기존 RDS PostgreSQL을 옮기는 자동화 마이그레이션 워크플로를 만들었다. 내부 평가에서 Aurora PostgreSQL은 다른 관계형 워크로드의 95% 이상을 지원해, 표준화의 중심이 됐다.
마이그레이션은 단순 복사가 아니라 복제, quiescence, 검증, cutover가 이어지는 정교한 전환 과정이다. Netflix는 약 400개 PostgreSQL 클러스터를 수동으로 옮기는 방식이 비현실적이라고 보고, 서비스 오너가 직접 실행할 수 있는 self-service 방식을 택했다.
핵심 요구사항은 명확했다.
- Zero data loss: 아주 짧은 전환 구간에서도 데이터 손실이 없어야 함
- Minimal downtime: 사용자 영향이 거의 없는 수준으로 중단 시간을 최소화해야 함
- No control over client applications: 애플리케이션 팀이 쓰기 중단을 직접 제어하지 않도록 해야 함
- No direct access to RDS credentials: 사용자 자격 증명에 의존하지 않아야 함
- Full ecosystem parity: parameter group, read replica, replication slot까지 함께 맞춰야 함
AWS가 권장하는 방식 중 Netflix가 선택한 것은 Aurora read replica 기반 마이그레이션이다. snapshot 방식보다 구현은 복잡하지만, 소스와 대상 간 지속적인 비동기 복제로 동기화 상태를 유지할 수 있어, 최종 cutover 때의 중단 시간을 훨씬 짧게 만들 수 있다.
Netflix의 RDS 환경에는 Data Access Layer(DAL) 가 있어 애플리케이션과 데이터베이스 사이에서 인증과 라우팅을 중앙집중식으로 처리한다. 이 구조 덕분에 애플리케이션이 DB 자격 증명을 직접 다루지 않아도 되고, 백엔드 DB를 설정 변경만으로 투명하게 바꿀 수 있어 저중단 전환에 유리하다.
자동화된 워크플로는 다음 순서로 진행된다.
- 소스 환경을 준비하고 Automated backups를 활성화
- Aurora read replica를 초기화해 연속 복제를 시작
- 복제 지연을 관리하며 대상 클러스터를 검증
- 쓰기 트래픽을 잠시 멈춰 source를 따라잡게 한 뒤
- Aurora replica를 독립 클러스터로 승격하고 트래픽을 전환
결국 목표는 단순한 DB 이전이 아니라, 운영팀 개입 없이도 예측 가능하고 안전하게 진행되는 Aurora PostgreSQL 표준화 경로를 제공하는 것이다. 이 방식으로 Netflix는 대규모 서비스 환경에서 다운타임을 최소화하면서도, 성능과 운영 특성을 유지한 채 플랫폼 전환을 추진한다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.