메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

고가용성(다중 AZ)

Amazon RDS는 다중 AZ 배포를 사용해 DB 인스턴스에 고가용성과 장애 조치 기능을 지원합니다. Amazon RDS는 다양한 기술을 이용해 장애 조치 지원을 제공합니다. Oracle, PostgreSQL, MySQL 및 MariaDB DB 인스턴스용 다중 AZ 배포는 Amazon의 장애 조치 기술을 사용합니다. SQL Server DB 인스턴스는 SQL Server 미러링을 사용합니다. Amazon Aurora 인스턴스는 DB 클러스터의 인스턴스가 여러 가용 영역에 걸쳐 있는지 여부와 상관없이, 단일 AWS 리전의 여러 가용 영역에 걸쳐 있는 DB 클러스터에 데이터의 복사본을 저장합니다. Amazon Aurora에 대한 자세한 내용은 Amazon RDS 기반 Amazon Aurora 단원을 참조하십시오.

다중 AZ 배포에서 Amazon RDS는 자동으로 서로 다른 가용 영역에 동기식 예비 복제본을 프로비저닝하고 유지합니다. 기본 DB 인스턴스는 가용 영역에서 예비 복제본으로 동기식으로 복제되어 데이터 이중화를 제공하고 I/O 중지를 제거하며 시스템 백업 시 지연 시간 스파이크를 최소화합니다. DB 인스턴스를 고가용성으로 실행하면 계획된 시스템 유지 관리 중 가용성을 향상시킬 수 있으며, 데이터베이스에 DB 인스턴스 오류 및 가용 영역 중단이 일어나는 것을 방지할 수 있습니다. 가용 영역에 대한 자세한 내용은 리전 및 가용 영역 단원을 참조하십시오.

참고

고가용성 기능은 읽기 전용 시나리오의 확장 솔루션이 아니므로 예비 복제본을 사용하여 읽기 트래픽을 지원할 수 없습니다. 읽기 트래픽을 지원하려면 읽기 전용 복제본을 사용해야 합니다. 자세한 내용은 PostgreSQL, MySQL 및 MariaDB 읽기 전용 복제본 작업 단원을 참조하십시오.

 고가용성 시나리오

RDS 콘솔을 사용하여 DB 인스턴스 생성 시 다중 AZ를 지정함으로써 간편하게 다중 AZ 배포를 생성할 수 있습니다. 또한 콘솔을 사용하여 DB 인스턴스를 수정하고 다중 AZ 옵션을 지정함으로써 기존 DB 인스턴스를 다중 AZ 배포로 변환할 수 있습니다. RDS 콘솔에 보조 AZ라는 예비 복제본의 가용 영역이 표시됩니다.

CLI를 사용하여 다중 AZ 배포를 지정할 수도 있습니다. AWS CLI describe-db-instances 명령 또는 Amazon RDS API DescribeDBInstances 작업을 사용하여 예비 복제본의 가용 영역(보조 AZ)을 찾을 수 있습니다.

RDS 콘솔에는 예비 복제본의 가용 영역(보조 AZ)이 표시됩니다. 또한 AWS CLI describe-db-instances 명령 또는 Amazon RDS API DescribeDBInstances 작업을 사용하여 보조 AZ를 찾을 수 있습니다.

다중 AZ 배포를 사용하는 DB 인스턴스는 동기식 데이터 복제 실행으로 인하여 단일 AZ 배포에 비해 쓰기 및 저장 지연 시간이 길어질 수 있습니다. AWS는 가용 영역 간 지연 시간이 짧은 네트워크 연결을 제공하도록 엔지니어링되어 있지만, 예비 복제본으로 배포 장애 조치를 취한 경우 지연 시간이 변경될 수 있습니다. 프로덕션 워크로드에 대하여, 빠르고 안정적인 성능을 구현하도록 프로비저닝된 IOPS에 최적화된 프로비저닝된 IOPS 및 DB 인스턴스 클래스(m1.large and larger)를 사용할 것을 권장합니다.

다중 AZ 배포가 되도록 DB 인스턴스 수정

단일 AZ 배포에 DB 인스턴스가 있고 이 배포를 다중 AZ 배포로 수정하는 경우(SQL Server 또는 Amazon Aurora 이외의 다른 엔진에 대해) Amazon RDS는 몇 가지 조치를 취합니다. 우선 Amazon RDS는 배포에서 기본 DB 인스턴스의 스냅샷을 캡처한 후 이 스냅샷을 또 다른 가용 영역으로 복원합니다. 그런 다음 Amazon RDS는 기본 DB 인스턴스와 새 인스턴스 간에 동기 복제를 설정합니다. 이로써 단일 AZ에서 다중 AZ로 전환할 때 가동 중지를 피할 수 있지만 처음 다중 AZ로 전환할 때는 성능에 상당한 영향을 미칠 수 있습니다. 대용량의 쓰기 집약적인 DB 인스턴스일 경우에는 이러한 영향이 더욱 커집니다.

일단 수정이 완료되면 Amazon RDS는 과정 완료를 표시하는 이벤트(RDS-EVENT-0025)를 트리거합니다. Amazon RDS 이벤트를 모니터링할 수 있습니다. 이벤트에 대한 자세한 정보는 Amazon RDS 이벤트 알림 서비스 사용 단원을 참조하십시오.

Amazon RDS 장애 조치 프로세스

다중 AZ를 활성화한 경우, DB 인스턴스에 계획되거나 계획되지 않은 중단이 발생하면 Amazon RDS는 자동으로 다른 가용 영역에 있는 예비 복제본으로 전환합니다. 장애 조치가 완료되는 데 소요되는 시간은 기본 DB 인스턴스를 사용할 수 없게 된 시점의 데이터베이스 활동 및 기타 조건에 따라 달라집니다. 장애 조치에 소요되는 시간은 일반적으로 60-120초입니다. 그러나 트랜잭션의 규모가 크거나 복구 프로세스가 복잡한 경우 장애 조치에 소요되는 시간이 증가할 수 있습니다. 장애 조치가 완료되면 RDS 콘솔 UI가 새로운 가용 영역에 반영하는 데 추가적으로 시간이 소요됩니다.

장애 조치 메커니즘은 자동으로 DB 인스턴스의 DNS 기록을 예비 DB 인스턴스 지점으로 변경합니다. 그 결과 DB 인스턴스의 기존 연결을 모두 재설정해야 합니다. Java DNS 캐싱 메커니즘의 작동 방법으로 인해 , JVM 환경을 재구성해야 할 수 있습니다. 장애 조치의 경우에 DNS 값을 캐싱하는 Java 애플리케이션의 관리 방법에 대한 자세한 정보는 AWS SDK for Java 단원을 참조하십시오.

Amazon RDS는 자동으로 장애 조치를 취하여 관리자의 개입 없이 데이터베이스 작업을 신속하게 재개할 수 있도록 합니다. 다음 상태가 발생하는 경우 기본 DB 인스턴스는 자동으로 예비 복제본으로 전환됩니다.

  • 가용 영역 중단

  • 기본 DB 인스턴스 오류

  • DB 인스턴스 서버 유형 변경

  • DB 인스턴스의 운영 체제에서 소프트웨어 패치를 수행하는 중

  • 장애 조치 재부팅을 사용하여 DB 인스턴스에 수동 장애 조치가 취해진 경우

몇 가지 방법을 통해 다중 AZ DB 인스턴스에 장애 조치가 취해졌는지 확인할 수 있습니다.

  • DB 이벤트 구독을 설정하여 장애 조치가 취해졌음을 이메일이나 SMS를 통해 알릴 수 있습니다. 이벤트에 대한 자세한 내용은 Amazon RDS 이벤트 알림 서비스 사용 단원을 참조하십시오.

  • Amazon RDS 콘솔 또는 API 작업을 사용하여 DB 이벤트를 확인할 수 있습니다.

  • Amazon RDS 콘솔 및 API 작업을 통해 다중 AZ 배포의 현재 상태를 확인할 수 있습니다.

장애 조치, 복구 시간 절감 및 기타 Amazon RDS 모범 사례에 대한 자세한 내용은 Amazon RDS 모범 사례 단원을 참조하십시오.

관련 주제