Question
Amazon Aurora MySQL 클러스터를 생성하였고, writer/reader 인스턴스가 각각 하나씩 생성되었습니다.
당사의 application은 리전 클러스터의 엔드포인트로 DB에 access하고 있습니다.
오로지 read를 필요로 하는 application인 경우에만 reader 인스턴스를 사용하는 것이라고 생각하고 있으며,
reader 인스턴스에 DB 연결 수가 0개로 출력되고 있어서 해당 인스턴스를 삭제하려고 하는데 무방할까요?
아니면 클러스터 구성 방식이라서 그대로 유지해야하는지 궁금합니다.
Answer
Amazon Aurora DB 클러스터를 생성하실 때,
해당 클러스터에 Multi-AZ 구성을 활성화하면 자동으로 각기 다른 AZ에 기본 인스턴스 하나, Aurora 복제본 하나가 생성됩니다.
쉽게 말해서 다음과 같습니다.
- Writer 인스턴스 = 기본 DB 인스턴스 (읽기 및 쓰기 작업 지원)
읽기 및 쓰기 작업을 지원하고, 클러스터 볼륨의 모든 데이터 수정을 실행합니다.
Aurora DB 클러스터마다 기본 DB 인스턴스가 하나씩 있습니다.
- Reader 인스턴스 = Aurora 복제본 (읽기 작업만 지원)
기본 DB 인스턴스의 동일한 스토리지 볼륨에 연결되며 읽기 작업만 지원합니다.
Aurora 복제본을 별도의 가용 영역에 배치하여 고가용성을 유지합니다.
Aurora는 기본 DB 인스턴스를 사용할 수 없는 경우 자동으로 Aurora 복제본으로 장애 조치(failover)합니다.
Aurora DB 클러스터를 생성할 때 고가용성을 위해 Multi-AZ 설정을 활성화하였다면 Aurora 복제본이 자동으로 생기며,
삭제하여도 무방하오나 삭제를 하게 되면 Aurora를 사용하는 이유 중 하나인 자동 장애 조치(failover)를 사용하지 못하게됩니다.
Aurora 복제본을 삭제하면 아래와 같이 다중 AZ 부분이 "아니요"로 바뀌게됩니다.
즉, 고가용성을 유지할 수 없다는 의미입니다.
따라서 운영 중의 DB 클러스터라면 고가용성을 위해 삭제하지 않고 유지하는 것을 권고드립니다.
참조 링크:
#1 Amazon Aurora DB 클러스터 -
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
위 내용 관련하여 궁금증이 해결되지 않으셨거나,
추가 문의 사항이 있으시면 저희 고객 지원 포털에 문의 남겨주시기 바랍니다.