본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] RDS AuroraMysql 엔진버전 업그레이드

by BTC_톰캣 2023. 12. 22.

베하 안녕하세요!

 

오늘은 AWS의 AuroraMysql RDS의 엔진버전 업그레이드에 대해 알아 보겠습니다!

 

최근 고객사의 인프라를 점검하던 도중 AWS에서 Maintenance, 서비스 업데이트 등의 알림등을 알려주는 AWS HealthBoard에서 RDS의 AuroraMysql 엔진버전 업그레이드 알림을 받은것을 확인 하였는데요

그래서 고객사측에 알려드렸고 RDS 엔진버전 업그레이드 요청을 주셔서 여러 테스트를 해보다가 알게된점을 공유하고자

이번 글을 작성하게 되었습니다!

 

저희 고객은 다운타임이 최대한 없이 운영돼야하는 중요 시스템 이기 때문에 다운타임을 최대한 줄일 수 있는 방법이 있을지 테스트를 해보았습니다.

 

테스트 결과

 

리전간 읽기전용 복제본이 있는경우 Blue-Grenn 배포 서비스가 불가능 했으며

읽기전용 복제본이 없는경우 Blue-Grenn 배포 서비스가 가능하여  엔드포인트 변경없이 RDS의 엔진버전 업그레이드가 가능했습니다.

  리전간 읽기전용 복제본이 있는경우 리전간 읽기전용 복제본이 없는경우
Blue-Grenn 배포 서비스 X O

 

엔진버전 업그레이드를 할 수 있는 방법은 여러가지가 있는데요

 

  클러스터 수정 SnapShot을 이용한
RDS 재생성
Blue-Green 배포
endpoint 변경 X O X

 

그리고 Blue-Green 배포를 리전간 읽기전용 복제본이 있는 RDS에서 적용하고 싶은경우

다른 리전의 읽기전용 RDS의 클러스터를 승격시키면 두 리전간 클러스터의 연결이 끊어져

각 리전의 클러스터들이 독립적이게 되어 복제본이 없는 클러스터로 취급되어 Blue-Green 배포 서비스를 사용 할 수 있습니다.

 

엔진버전 업그레이드의 경우 Reader Instance는 다운타임이 없으며

Wirter Instance 는 경우에 따라 인스턴스가 재시작 되어 애플리케이션의 설정상 Writer Instnace의 엔드포인트만 설정 되어 있다면 Wirte 작업에 다운타임이 발생 할 수 있습니다.

 

이러한 결과들을 테스트로 알 수 있었으며 엔진버전 업그레이드의 여러 방법에 대한 프로세스는 이러합니다.

 

-  리전간 읽기전용 복제본이 있는 or 없는 RDS의 경우 Snapshot을 이용

  1. 엔진버전 업그레이드를 진행할 RDS의 Snapshot 생성
  2. Snapshot을 이용하여 RDS 재생성 - 이때 엔진버전을 높여 재생성 합니다.
  3. RDS 생성후 리전간 읽기전용 복제본 생성 및 Reader Instance 추가
  4. 애플리케이션 configuration 파일 신규 RDS의 엔드포인트로 변경후 배포

-  리전간 읽기전용 복제본이 있는 or 없는 RDS의 경우 클러스터 업그레이드

  1. 엔진버전 업그레이드를 진행할 RDS의 클러스터 > Modify > 엔진 버전 변경
  2. 클러스터 재시작이 진행되며 엔진버전 업데이트

-  리전간 읽기전용 복제본이 있는 RDS의 경우 Blue-Green 배포

  1. 엔진버전 업그레이드를 진행할 RDS의 다른리전의 클러스터 승격
  2. Blue-Green 배포 생성 - 이때 Green(New) 클러스터를 높은 버전으로 생성
  3. Switch Over 진행
  4. 리전간 읽기전용 복제본 생성
  5. 다른 리전의 클러스터 엔드포인트로  애플리케이션 configuration 파일 변경후 배포

-  리전간 읽기전용 복제본이 없는 RDS의 경우 Blue-Green 배포 / 엔드포인트 변경 X

  1. Blue-Green 배포 생성 - 이때 Green(New) 클러스터를 높은 버전으로 생성
  2. Switch Over 진행

 

그럼 여러분도 AuroraMysql RDS 엔진버전 업그레이드의 작업을 진행 하실 때 위의 프로세스를 한번 확인하여 진행 해보시길 바랍니다!

 

베빠!

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

AWS IAM 정책  (0) 2023.12.26
[AWS] AWS DataSync - S3  (1) 2023.12.26
[AWS] AWS EMR  (0) 2023.12.22
AWS Quantum Ledger Database (QLDB)  (1) 2023.12.22
[AWS] Athena로 S3 AcceseLog 분석하기  (0) 2023.12.21

댓글