성장일기

내가 보려고 정리하는 공부기록

인프라

RDS MySQL 버전 변경하기 - Blue/Green Deployments

와나나나 2025. 12. 29. 12:03
728x90

프로젝트를 진행하면서 EC2와 RDS를 이용해 배포를 진행했었고, mysql 8.0.42 버전을 이용하고 있었는데, 2026년 6월 이후로 8.0.x 버전 지원이 중지된다는 메일을 받았다. 버전 변경을 하지 않으면 내야 하는 돈이 더 올라간다고 해서! 미루고 미루다가 버전을 변경했다.

 

어떻게 바꿀지 찾아보다가 Blue/Green deployments 방식을 알게 되어 이 방식으로 바꾸기로 했다!


Blue/Green Deployments란

Blue/Green Deployments란, 현재 운영중인 환경(Blue)을 그대로 유지한 채 동일한 새 환경(Green)을 만들고 준비가 끝나면 트래픽을 한 번에 Green으로 전환하는 배포 전략이다.

 

동일하지만 버전이나 설정이 다른 환경을 만들어서 switch하는 방식으로 변경하게 되고, 엔드포인트를 변경하지 않아 편리하다. 또, switch를 한 후에도 이전 Blue는 그대로 남아있기 때문에 롤백이 쉽다는 장점이 있다.

 

우리 서비스는 실제 사용자가 많지 않지만, 모의 사용자들이 사용을 하고 있기도 하고, AWS에서 권장하고 있는 방식이라고 해서 이 방식을 채택했다. 하는 방법은 생각보다 간단하다!

 

 

 

 

Blue/Green Deployments로 DB 옮기기

우선 이 방식을 사용하려면 백업이 활성화 되어있어야 한다! 추후 문제가 있을 때 안전하게 롤백을 해주어야 하기 때문이라고 한다.

원하는 RDS에서 수정을 들어가 백업을 설정해준다. 나는 활성화는 되어있었는데 보존기간이 0일이라서 이것을 2일로 바꿔주었다.

 

 

그 후 RDS에서 블루/그린 배포 생성을 눌러준다. 이름은 자유롭게 지어주면 되고, 새로 생성할 그린 인스턴스의 구성을 설정해주면 된다. 나는 버전을 올리는게 목적이었기 때문에 8.4로 바꿔주었다.

 

 

그 후 확인을 하고 생성 버튼을 누르면 그린을 생성해준다. 이때 시간이 10분정도 걸렸다! 다른 분들의 블로그를 보니까 더 오래 걸릴 수도 있을 거 같다.

 

 

이후에는 그린의 엔드포인트를 복사해서 ec2에서 mysql을 열어 버전도 확인하고, 데이터베이스랑 테이블이 잘 옮겨왔는지, 데이터도 잘 복제되었는지 확인해준다. 

이때 green은 read-only로 aws에서 락을 걸기 때문에, 수정작업을 할 수 없다!

 

 

이후 다시 나와서 작업에서 전환을 눌러준다. 이 작업은 데이터가 많지 않아서 그런지 오래 걸리지는 않았다.

 

 

이렇게 전환이 시작되고

 

 

다 되면 이렇게 된다! 아래 있는 게 기존 blue라서 하루정도 지켜보다가 지운다고 하는데 나는 그냥 지웠다. 

 

 

이렇게 미루고 미루던 버전 변경이 끝났다! 

'인프라' 카테고리의 다른 글

[FCM] FCM(Firebase Cloud Messaging)에 대하여  (0) 2026.01.12