장애 조치 시 AWS RDS Aurora Mysql 스왑 CNAME

장애 조치 시 AWS RDS Aurora Mysql 스왑 CNAME

며칠 전부터 RDS Aurora Writer-Reader(예: 클래식 mysql Master-Slave)를 테스트하고 있습니다. 특히 기록기의 장애 조치에 대한 복구 용량에서 RDS는 기록기 및 판독기 역할을 자체적으로 교환하고(이 단계에서는 모두 유효함) 애플리케이션이 정상적으로 계속될 수 있도록 끝점 CNAME을 교환해야 합니다.

내 경우에는 이 마지막 단계가 발생하지 않았으며 내 응용 프로그램은 여전히 ​​동일한 시스템을 가리키고 있습니다(이 시스템은 장애 조치 중이고 판독기로 성능이 저하됩니다).

이를 테스트하기 위해 RDS 패널의 "Test Failover" 버튼을 사용합니다.

CNAME 끝점 변경 기능은 공식 문서에 언급되어 있습니다. https://aws.amazon.com/rds/faqs/#45

다음 단락에서:

장애 조치는 Amazon RDS에서 자동으로 처리되므로 관리자의 개입 없이 최대한 빨리 데이터베이스 작업을 재개할 수 있습니다. 장애 조치 시 Amazon RDS는 DB 인스턴스의 정식 이름 레코드(CNAME)를 대기 인스턴스로 전환하고, 대기 인스턴스는 새로운 기본 인스턴스로 승격됩니다. 모범 사례를 따르고 애플리케이션 계층에서 데이터베이스 연결 재시도를 구현하는 것이 좋습니다.

답변1

@Michael - sqlbot을 기반으로 문제를 해결했습니다. HA 구성에서 Aurora를 사용하는 경우 클러스터 내에서 이름이 변경되므로 애플리케이션 구성에서 인스턴스 엔드포인트가 아닌 클러스터 엔드포인트를 사용해야 합니다.

답변2

이것에 대해 다른 질문이 있습니다. 그러면 Route53에서는 어떤 유형의 레코드를 생성해야 합니까? CNAME은 괜찮나요? 2개의 클러스터 엔드포인트가 있는 경우 각 클러스터당 하나의 cname을 생성해야 합니까? 아니면 CNAME 하나만? 시도한 결과 2개의 클러스터 엔드포인트로 1개의 CNAME을 생성할 수 없다는 것을 확인했습니다. 감사해요 !

관련 정보