Notice
Recent Posts
Recent Comments
Link
반응형
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

HeeLee_DBA

AWS - Amazon RDS 다중 AZ 본문

AWS/RDS

AWS - Amazon RDS 다중 AZ

HeeLee_ 2025. 3. 11. 15:47
반응형

RDS 다중 AZ 아키텍처 및 마이너 업그레이드 테스트

 

DBMS : RDS MySQL 8.0.36

 

💡 RDS의 Standby, Read Instance 차이

  Standby (대기 인스턴스) Read Replica (읽기 복제본)
목적 고가용성 (장애 조치) 및 내구성 향상 읽기 성능 향상, 읽기 부하 분산
복제 방식 동기 복제 (Primary와 Standby는 항상 동일) 비동기 복제 (Primary의 데이터 변경을 주기적으로 복제)
읽기/쓰기 쓰기 작업만 Primary에서 처리, 읽기 작업은 Standby에서 처리 안 됨 읽기 전용, Primary에서 발생한 변경 사항을 복제본에서 읽기 가능
보통 1개 (Multi-AZ 배포) 여러 개 가능 (읽기 부하 분산용으로 다수 설정 가능)

1. 대기가 1개인 Amazon RDS 다중 AZ → Multi AZ로 구성된 경우

- 다중 AZ -

자동 장애 조치 데이터베이스 성능 보호 내구성 강화 가용성 증가
데이터 손실이 없고 수동 개입 없이 60초 이내에 완료되는 자동 데이터베이스 장애 조치로 애플리케이션의 고가용성을 지원합니다. 대기 인스턴스에서 백업하여 백업 중에 프라이머리에서 I/O 활동을 일시 중단하지 않도록 합니다. Amazon RDS 다중 AZ 동기 복제 기술을 사용하여 대기 데이터베이스 인스턴스의 데이터를 프라이머리와 함께 최신 상태로 유지합니다. 두 번째 AZ에 대기 인스턴스를 배포하여 가용성을 높이고 AZ 또는 데이터베이스 인스턴스 장애 발생 시 내결함성을 확보합니다.

 

👉 작동 방식

Amazon RDS 다중 AZ 배포에서 Amazon RDS는 자동으로 프라이머리 데이터베이스 DB 인스턴스를 생성하고 동시에 다른 AZ의 인스턴스에 데이터를 복제합니다. 장애를 감지하면 Amazon RDS는 수동 개입 없이 자동으로 대기 인스턴스로 장애 조치합니다.

- 다중 AZ 아키텍처 -


2. 읽기 가능한 대기가 2개인 Amazon RDS 다중 AZ → 클러스터링으로 구성된 경우

- 다중 AZ 클러스터 -

일반적으로 35초 이내에 자동 장애 조치 읽기와 쓰기에 개별 엔드포인트 사용 최대 2배 빠른 트랜잭션 커밋 지연 시간 확보 일반적으로 1초 이내에 마이너 버전 업그레이드
데이터 손실 및 수동 개입 없이 일반적으로 35초 이내에 자동으로 장애 조치합니다. 쿼리를 쓰기 서버와 적절한 읽기 전용 복제본 대기 인스턴스로 경로 지정하여 성능과 확장성을 극대화합니다. 대기가 1개인 다중 AZ에 비해 쓰기 지연 시간이 최대 2배 향상됩니다. 마이너 버전 업그레이드 가동 중단 시간을 일반적으로 35초 미만으로 줄여줍니다. 오픈 소스 또는 RDS 프록시를 배포에 추가하여 가동 중단 시간을 일반적으로 1초 미만으로 추가로 줄일 수 있습니다.

 

👉 작동 방식

읽기 가능한 대기가 2개인 Amazon RDS 다중 AZ를 사용하여 3개의 AZ에서 고가용성, 내구성 MySQL 또는 PostgreSQL 데이터베이스를 배포합니다. 일반적으로 35초 이내에 자동으로 장애 조치되고, 대기가 1개인 Amazon RDS 다중 AZ 대비 트랜잭션 커밋 지연 시간이 최대 2배 더 빠르며, 추가 읽기 용량이 있고, AWS Graviton2 또는 인텔 기반 인스턴스를 컴퓨팅에 선택할 수 있습니다.

 

- 다중 AZ 클러스터 아키덱처 -


Amazon RDS 단일 AZ 또는 대기가 1개인 Amazon RDS 다중 AZ 또는 읽기 가능한 대기가 2개인 Amazon RDS 다중 AZ

  Single-AZ Multi-AZ with one standby Multi-AZ with two readable standbys
사용 가능한 엔진 • Amazon RDS for PostgreSQL
• MySQL용 Amazon RDS
• Amazon RDS for MariaDB
• Amazon RDS for SQL Server
• Amazon RDS for Oracle
• Amazon RDS for Db2
• Amazon RDS for PostgreSQL
• MySQL용 Amazon RDS
• Amazon RDS for MariaDB
• Amazon RDS for SQL Server
• Amazon RDS for Oracle
• Amazon RDS for Db2
• Amazon RDS for PostgreSQL
• Amazon RDS for MySQL
추가 읽기용량 • 없음: 읽기 용량은 프라이머리로 제한됩니다. • 없음: 대기 DB 인스턴스는 고가용성을 위한 수동 장애 조치 대상일 뿐입니다. • 2개의 대기 DB 인스턴스가 장애 조치 대상 역할을 하고 읽기 트래픽을 제공합니다.
• 읽기 용량은 프라이머리의 쓰기 트랜잭션의 오버헤드에 의해 결정됩니다.
·
트랜잭션 커밋에 대한 짧은 대기 시간(높은 처리량)     • 대기가 1개인 Amazon RDS 다중 AZ에 비해 최대 2배 더 빠른 트랜잭션 커밋
자동 장애 조치 기간 • 사용할 수 없음: 사용자, 사용자가 시작한 특정 시점으로 복원 작업이 필요합니다.
• 이 작업은 완료하는 데 몇 시간이 걸릴 수 있습니다.
• 최근 복원 가능 시간(일반적으로 마지막 5분 이내) 이후 발생한 데이터 업데이트는 사용할 수 없게 됩니다.
• 60초 이내에 새로운 워크로드를 처리할 수 있는 새로운 프라이머리를 사용할 수 있습니다.
• 장애 조치 시간은 쓰기 처리량과 무관합니다.
• 일반적으로 35초 이내에 새로운 워크로드를 처리할 수 있는 새로운 프라이머리를 사용할 수 있습니다.
• 장애 조치 시간은 복제본 지연 시간에 따라 다릅니다.
마이너 버전 업그레이드 가동 중단 시간 • 자동 마이너 버전 업그레이드를 사용하는 경우 Amazon RDS의 30분 유지 관리 기간 동안 마이너 버전 업그레이드 가동 중단 시간이 발생합니다. • 자동 마이너 버전 업그레이드를 사용하는 경우 Amazon RDS의 30분 유지 관리 기간 동안 마이너 버전 업그레이드 가동 중단 시간이 발생합니다. • 오픈 소스 또는 Amazon RDS 프록시를 배포에 추가하는 경우 일반적으로 1초 미만입니다.
• 읽기 가능한 대기 모드 2개가 있는 다중 AZ의 경우 일반적으로 35초 미만입니다.
AZ 중단에 대한 더 높은 복원력 • 없음: AZ 장애가 발생하면 위험 데이터 손실 및 장애 조치 시간이 발생합니다. • AZ 장애가 발생하면 워크로드는 최신 대기 상태로 자동 장애 조치됩니다. • 장애가 발생하면 나머지 2개의 대기 중 1개가 인계받아 프라이머리에서 워크로드(쓰기)를 처리합니다.
트랜잭션 커밋 시 더 낮은 지터 • 지터 최적화 없음 • 전용 로그 볼륨에 대한 액세스 • 트랜잭션 로그에 로컬 스토리지를 사용하여 지터를 줄입니다.

📌 RDS 마이너 버전 업그레이드 다운 타임 테스트

✅ PostgreSQL의 경우 Multi-AZ 환경에서 Standby를 먼저 업그레이드한 후 Failover하는 방식이 적용됨.

❌ 하지만 MySQL에서는 Primary를 직접 업그레이드하는 방식이 사용됨.

  • 테스트 결과 : 2~3분 다운 타임 발생

- 마이너 업그레이드 이벤트 로그 -

 

* 이벤트 로그에 빨간 박스의 Backing up DB instance는 자동 백업 설정되어있으면 동작함, 검은색 네모박스가 실제 DB downtime -> 자동 백업 설정을 off 하면 1분 줄어듬


결론: 마이너 업그레이드는 Failover 방식이 아님!

업그레이드 유형 Standby 먼저 업그레이드? Failover 발생? 다운타임
인스턴스 타입 변경 Yes Yes 1분 이내
스토리지 변경 Yes Yes 1분 이내
MySQL 엔진 마이너 업그레이드 No No 3분
MySQL 엔진 메이저 업그레이드 No No 테스트 필요

* Single AZ → Multi AZ 변경 시 다운타임은 없고 서비스 지연은 발생함


 

- 참조 -

AWS 공식문서 : https://aws.amazon.com/ko/rds/features/multi-az/

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.Migrating.html

반응형

'AWS > RDS' 카테고리의 다른 글

AWS - Aurora MySQL 파라미터 값 권장 사항  (4) 2024.11.26
AWS - Aurora for MySQL JDBC driver 정리  (1) 2023.02.01