RDS의 고가용성을 확보하기 위한 Multi-AZ 배포에 대한 내용이다.
Multi AZ 설정
데이터베이스 콘솔로 이동해서, 메인 인스턴스를 선택하고 액션의 다중 AZ 배포로 변환을 눌러준다.
그러면 경고창이 하나 뜨게 되는데, Multi AZ 복제본을 생성할 때, 데이터를 동기식으로 복제하기 때문에 데이터베이스의 성능에 영향을 줄 수 있어, 1기 복제본을 만들고 해당 복제본을 Multi AZ로 변환하고, 복제본을 메인으로 승격시켜 사용하라는 경고이다.
실습에서는 바로 변환하여 진행해주었다. 실제 운영환경이었다면, 위 방법을 이용해 사용자들에게 더 원한 할 서비스를 제공해 줄 수 있다.
새로고침을 하면 상태가 모다파잉으로 바뀌고, 시간이 지나면 Multi AZ에 Yes로 표기가 된다.
이제 Subnet Group으로 지정했던 가용 영역중 한 곳에 스탠바이 복제본이 생성되었고, 메인 데이터베이스에 문제가 생기면 스탠바이 복제본이 메인 데이터베이스로 승격이 된다.
테스트
메인 인스턴스를 선택하고 액션의 리부트를 누르면, 리부트를 하면서 페일오버를 하도록 선택할 수 있다.
리부트를 돌려두고, 요청을 보내면 한동안 응답값이 오지 않는다. RDS 콘솔로 돌아가서 이벤트 탭을 보면 RDS의 이벤트 히스토리에 최근 이벤트를 보면 페일 오버 장애조치가 시작되었다는 이벤트를 확인할 수 있다.
그 외 페일 오버가 완료된 항목이 추가되었고 시작과 완료 시간도 확인할 수 있다.
그리고 기존의 메인 데이터베이스의 가용영역이 2A로 되어 있었는데, 스탠바이 복제본과 교체되면서 2B로 바뀐 것을 확인할 수 있다.
의도적인 재부팅과 그 외 어떤 장애 조치가 와도 Multi AZ 기능은 자동으로 발생해서, AWS 내에서도 최다한 빠르게 전환이 되도록 노력하는 부분이다. 그래서 Multi AZ를 사용함으로써 대기시간을 초기화하여 자동으로 높은 가용성을 확보하는데 도움이 된다.
'Django > 인프라' 카테고리의 다른 글
[AWS] S3란 무엇인가? (0) | 2024.10.14 |
---|---|
[AWS] 연결 최적화를 위한 RDS Proxy (0) | 2024.10.11 |
[AWS] RDS 읽기 복제본 - 읽기 트래픽 분산 (0) | 2024.10.10 |
[AWS] RDS - 관계형 데이터 베이스 (0) | 2024.10.10 |
[AWS] AMI 만들기 & Launch Template (1) | 2024.10.08 |