Summary

Multi-AZ 로 구성된 RDS 의 Failover 원인과, Failover 이벤트 발생 시 알람 받을 수 있도록 설정하고 싶습니다.


Solution

1. Multi - AZ 로 구성된 RDS 의 Failover 원인

  1. 성능 병목 현상 및 리소스 경합으로 인해 기본 가용 영역의 가용성이 손실되거나 과도한 워크로드가 발생.

  2. 기본 인스턴스에 대한 네트워크 연결 끊김, 기본 인스턴스의 컴퓨팅 유닛 문제 또는 기본 인스턴스의 스토리지 문제와 같은 기본 인프라 문제.

  3. DB 인스턴스 클래스 유형은 DB 인스턴스 수직 크기 조정 활동의 일부로 변경.

  4. 특정 유지 관리 기간 동안 RDS DB 인스턴스의 기본 호스트에 소프트웨어 패치가 적용. 자세한 내용은 DB 인스턴스 유지 관리 및 DB 인스턴스 엔진 버전 업그레이드를 참조하세요.

  5. 재부팅 또는 장애 조치와 함께 재부팅 옵션을 사용하여 DB 인스턴스의 수동 재부팅을 시작.

추가적으로 Failover 원인으로는 다음과 같은 경우가 있을 수 있습니다.

  1. 네트워크 연결 손실로 인한 RDS Multi - AZ 인스턴스의 기본 호스트에 연결할 수 없는 경우

  2. RDS Multi - AZ 기본 인스턴스가 사용 중이며 응답하지 않는 경우

  3. Multi - AZ 인스턴스 활성화가 시작된 경우

  4. Multi - AZ 인스턴스 활성화가 완료된 경우

    1. 2 ~ 4 번 경우는 다음과 같은 메시지가 표시됩니다.

      1. 기본 DB 인스턴스가 응답하지 않습니다.

      2. 데이터베이스의 과도한 메모리 소비 후 메모리 크런치로 인해 RDS 모니터링 시스템이 기본 호스트에 연결하지 못했습니다. 따라서 모니터링 시스템에 의해 사전 예방적 조치로 데이터베이스가 재시작됩니다.

      3. DB 인스턴스에서 기본 호스트에 간헐적인 네트워크 문제가 발생했습니다.

      4. 인스턴스가 데이터베이스 로드를 경험했습니다.



2. RDS Failover 이벤트 생성 방법

=> Amazon RDS 는 Amazon Simple Notification Service(Amazon SNS)를 사용하여 RDS 이벤트가 발생할 때 알림을 제공합니다. 이러한 알림은 이메일, 문자 메시지 또는 HTTP 엔드포인트 호출과 같이 AWS 리전에 대해 Amazon SNS에서 지원하는 모든 알림 형식일 수 있습니다.

생성하는 방법은 아래와 같습니다.

(1) RDS 이벤트 구독을 선택하여 이벤트 생성하기를 선택

(2) 이벤트 구독을 설정

✅ 대상 기존에 생성하신 SNS 혹은 새로운 SNS 을 생성하신 후 알림을 보낼 이메일 주소를 선택합니다.

✅ 소스 알람을 받고 싶은 인스턴스 혹은 클러스터를 선택합니다.

✅ 특정 이벤트 범주를 선택하셔서 알람을 받고 싶으신 이벤트 종류를 선택합니다 

(예를 들어 Failover) 이벤트에 대한 설명은 아래 문서[2]를 참고하여 주시길 바랍니다.

(3) 메일로 수신되는 구독 확인 메일 링크를 클릭하여 확인합니다.

(4) 이벤트 발생시 정상적으로 알람이 수신되는지 확인합니다. (아래 링크[3]에서 보다 자세한 내용을 확인하실 수 있습니다.)


Reference

[1] Amazon RDS DB 인스턴스 재시작, 복구 또는 장애 조치를 수행한 이유 - https://repost.aws/ko/knowledge-center/rds-multi-az-failover-restart

[2] Amazon RDS 이벤트 범주 및 이벤트 메시지 - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html

[3] Amazon RDS 이벤트 구독 생성 - https://repost.aws/ko/knowledge-center/create-rds-event-subscription