AWS RDS – MySQL – Amazon 아마존 RDS (3) Multi AZ – 업그레이드

Last Updated on 5월 10, 2021 by 태랑(정현호)


해당 포스팅은 아래 이전 포스팅에서 이어지는 연재 포스팅 입니다.



1. Amazon RDS를 위한 고가용성(다중 AZ)

Amazon RDS는 다중 AZ 배포를 사용해 DB 인스턴스에 고가용성과 장애 조치 기능을 지원합니다. Amazon RDS는 다양한 기술을 이용해 장애 조치 지원을 제공합니다. MariaDB, MySQL, Oracle 및 PostgreSQL DB 인스턴스용 다중 AZ 배포는 Amazon의 장애 조치 기술을 사용합니다



다중 AZ 배포에서 Amazon RDS는 자동으로 서로 다른 가용 영역에 동기식 예비 복제본을 프로비저닝하고 유지합니다. 기본 DB 인스턴스는 가용 영역에서 예비 복제본으로 동기식으로 복제되어 데이터 이중화를 제공하고 I/O 중지를 제거하며 시스템 백업 시 지연 시간 스파이크를 최소화합니다

DB 인스턴스를 고가용성으로 실행하면 계획된 시스템 유지 관리 중 가용성을 향상시킬 수 있으며, 데이터베이스에 DB 인스턴스 오류 및 가용 영역 중단이 일어나는 것을 방지할 수 있습니다

위의 그림과 같이 Multi AZ 를 한 경우에는 동기식 데이터 복제가 발생되어 Synchronous Replication 이 수행 및 Active-Standby 형태로 이루어지게 됩니다. 그 옆의 인스턴스는 Read Replica 로 Asynchronous 방식으로 동기화가 이루어지게 됩니다.


2. 다중 AZ(Multi AZ) 구성

포스팅에서 다중 AZ 를 구성은 아래 이미지와 같이 Master / Read Replica 로 구성된 인스턴스를 사용할 예정 입니다.




다중 AZ 를 생성하는 방법은 2가지로 먼저 RDS 인스턴스 생성시 다중 AZ 를 지정하여 생성 할 수 있습니다. 참고로 프리티어 사용 및 프리티어 등급 선택시 다중 AZ 옵션 선택이 비활성화 되게 됩니다.




그 다음으로 생성된 RDS 인스턴스를 수정하여 다중 AZ 를 구성할 수 있습니다.


2-1  인스턴스 수정

다중 AZ 를 구성할 인스턴스 선택 -> 구성 을 선택 합니다.




2-2  멀티 AZ 옵션 선택

다중 AZ 배포 를 선택 후 하단의 계속 을 선택 합니다.




2-3 변경 사항 확인 및 수정

아래와 같이 변경되는  사항을 확인 후 하단의 "DB 인스턴스 수정" 을 선택하여 구성 변경을 진행 합니다. 포스팅에서 수정 시점은 즉시 적용 을 선택하였습니다.




상태 컬럼 에서는 수정중으로 변경되고 수분이 지난 후 사용가능 으로 상태가 변경 되고 나서 확인 해보면 다중 AZ 에 "예" 로 변경된 것을 확인 할 수 있습니다.




2-4 읽기 복제본 경경

읽기 복제본 에서도 다중 AZ 설정이 가능 하고 위의 순서와 동일 합니다. 



3. 장애조치

다중 AZ 가 설정된 상태에서 RDS 인스턴스가 계획되지 않는 중단이 발생하게 되면 RDS는 자동으로 다른 가용 영역에 있는 예비 복제본으로 전환 됩니다. 장애 완료 되는 소요 시간은 DB 인스턴스의 규모나 트랜잭션 이나 여러 조건에 의해서 달라집니다. 대략 소요 시간은 일반적으로 60-120초 입니다 진행 된 트랜잭션에 따라서 복구 프로세스가 더 길어져서 장애 조치에 소요 되는 시간이 증가 할 수는 있습니다.

장애 유형에 따른 조치의 상세 내용은 아래 링크의 "Amazon RDS 장애 조치 프로세스" 를 참조하시면 됩니다


테스트를 위해서 강제로 장애 조치를 해볼수 있으며 재부팅 기능을 통해서 장애 조치를 실행 할 수 있습니다.


3-1 재부팅 실행

장애 조치 테스트를 위해서 재부팅을 실행 하기 위해서는 인스턴스 선택 -> 작업 -> 재부팅 을 선택 합니다.




3-2 장애 조치 선택

다중 AZ 가 활성화 된 상태에서 재부팅을 실행 하면 아래와 같이 장애 조치로 재부팅 할 것인지를 물어보게 됩니다. 장애 조치 재부팅으로 실행하려면 체크 하고 하단의 확인 을 선택 합니다.




실행하게 되면 아래와 같이 상태가 재부팅 중 으로 변경 되게 됩니다.




변경이 완료 되면 아래와 같이 리전 및 AZ 가 다른 가용 영역으로 변경 된 것을 확인 할 수 있습니다.




장애조치 재부팅시에는 위에서 설명된것 처럼 인스턴스를 재부팅하기 때문에 60~120초 또는 그 이상의 접속 불가(복구 프로세스 진행) 가 되게 됩니다. 


4.업그레이드

Amazon RDS 의 특징 중 하나가 아주 다양한 버전(버전 이미지 보유) 을 제공 하고 있으며, 그에 따라 사용자는 온프레미스 환경에서 사용중인 동일(또는 유사) 버전을 사용할 수 있습니다 다양한 버전을 제공하는 만큼 버전 업그레이드 기능도 제공 하고 있습니다.


업그레이드 하는 방법으로는 먼저 인스턴스 정보에서 구성 항목 -> 권장 사항 을 보면 아래와 같이 권장되는 버전이 제시되고 해당 메뉴를 통해 업그레이드 진행이 간으 합니다.




또 다른 다른 방법으로는 인스턴스 수정 메뉴를 통해서 원하는 버전으로 업그레이드를 진행할 수 있습니다.


4-1 인스턴스 수정

업그레이드 하려는 RDS 인스턴스 선택 후 수정 을 선택 합니다.




4-2 DB 엔진 버전 선택

업그레이드 하려는 DB의 버전을 선택 합니다 포스팅 기준으로 아래와 같은 버전을 선택 할 수 있습니다.




버전을 선택 후 하단의 계속 을 선택 합니다. 포스팅에서는 기존 버전은 5.7.22 이었고 신규로 업그레이드를 선택한 버전은 5.7.26 입니다 버전에 대한 선택은 예시 입니다.




4-3 업그레이드 진행

업그레이드 적용 시점은 선택 후 하단의 DB 인스턴스 수정 을 선택 합니다 포스팅에서는 즉시 적용을 선택해서 진행하였습니다.




4-4 인스턴스 상태

업그레이드가 시작되면 아래와 같이 상태가 "업그레이드 중" 으로 변경 됩니다.




다음 단계로 진행되면 아래와 같이 상태가 "Configuring-enhanced-monitoring" 으로 확인 됩니다. 진행 상태에 따라서 해당 상태에서는 RDS 의 접속이 가능 합니다.




진행이 모두 완료 되었다면 아래와 같이 상태가 사용 가능 상태로 확인 됩니다.




4-5 버전 확인

업그레이드 완료 후 인스턴스 정보 -> 구성 항목에서 업그레이드 된 엔진 버전을 확인할 수 있습니다. 




실제 접속 후 확인 하였을 때도 버전 변경이 확인 됩니다.




이와 같은 절차로 Master(Primary) 도 업그레이드 진행을 완료 하면 됩니다.

Master – Replica 구조로 되어 있지만 Aurora Cluster 와 달리 인스턴스간의 롤 변경(Master <-> Replica) 는 불가 함으로 Master 업그레이드 하는 동안 비지니스 다운타임은 발생 할 수 있습니다.


모든 Replica(읽기 복제본) 이 업그레이드가 완료 되었다면 마지막으로 Master 인스턴스의 업그레이드를 진행 하면 됩니다 아래의 안내문과 같이 읽기 복제본의 스토리지가 동일한지 또는 그 이상인지에 대한 내용을 확인 할 수 있습니다. 절차는 위의 Replica 에서 진행한 것과 동일 합니다.





Ref link.
cloudbasic.net/synchronous-vs-asynchronous [L]

aws/AmazonRDS/UserGuide/USER_RebootInstance [L]
aws/AmazonRDS/UserGuide/Concepts.MultiAZ [L]



연관된 다른 글

 

 

 

 

 

답글 남기기