퍼블릭 클라우드

Amazon Aurora에서 블루/그린 배포를 활용한 데이터베이스 업그레이드하는 방법

변군이글루 2025. 1. 3. 14:16
반응형

Amazon Aurora에서 블루/그린 배포를 활용한 데이터베이스 업그레이드하는 방법

블루/그린 배포(Blue/Green Deployment)는 데이터베이스 배포 전략 중 하나로 새로운 버전의 애플리케이션이나 데이터베이스를 그린 환경에 배포한 후 검증과 테스트를 거쳐 트래픽을 해당 환경으로 전환하는 방식입니다. 기존 환경은 블루로 유지되며 문제가 발생할 경우 빠르게 롤백할 수 있습니다.

백업(스냅샷)

스냅샷 생성

파라미터 그룹

  • DB 인스턴스 파라미터 그룹 : vvlbxgvl2pdb-aurora-mysql5-7
  • DB 클러스터 파라미터 그룹 : vvlbxgvl2pdb-aurora-mysql5-7

binlog_format 파라미터 편집(binlog 활성화)

Amazon Aurora에서 블루/그린 배포 전략을 사용하여 데이터베이스 업그레이드 시 Replication을 통해 데이터 동기화를 설정할 필요가 있습니다. 이를 위해 binlog 활성화 여부를 확인하고 binlog_format 파라미터를 적절히 설정하는 것이 중요합니다.

blue-green-deployments

show variables like '%version';
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| aurora_version   | 2.11.4                |
| innodb_version   | 5.7.12                |
| protocol_version | 10                    |
| tls_version      | TLSv1,TLSv1.1,TLSv1.2 |
| version          | 5.7.12                |
+------------------+-----------------------+
5 rows in set (0.00 sec)
show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
1 row in set (0.00 sec)
블루/그린 배포 미지원 블루/그린 배포 지원
MySQL 5.7.12 MySQL 5.7.44
Aurora 2.11.4 Aurora 2.12.4

Amazon RDS 엔진 버전

blue-green-deployments

Aurora(MySQL 5.7)에서 Aurora(MySQL 8.0)으로 업데이트

Blue/Green Deployments

blue-green-deployments

데이터베이스 목록

blue-green-deployments

1. 블루/그린 배포

블루/그린 배포 생성

blue-green-deployments
blue-green-deployments

블루/그린 배포 구성 : bg-deployment-1

blue-green-deployments

검토 및 확인

blue-green-deployments

데이터베이스 목록 확인(그린 생성 중)

blue-green-deployments

데이터베이스 목록 확인(그린)

blue-green-deployments

2. 그린 환경(Aurora 클러스터) 설정 변경

인스턴스 클래스 변경

 

블루 연결 및 보안

show variables like '%version';
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| aurora_version   | 2.11.4                |
| innodb_version   | 5.7.12                |
| protocol_version | 10                    |
| tls_version      | TLSv1,TLSv1.1,TLSv1.2 |
| version          | 5.7.12                |
+------------------+-----------------------+
show master status\G
*************************** 1. row ***************************
             File: mysql-bin-changelog.000003
         Position: 154
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)

그린 연결 및 보안

show variables like '%version';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| admin_tls_version        | TLSv1.2,TLSv1.3 |
| aurora_version           | 3.08.0          |
| immediate_server_version | 999999          |
| innodb_version           | 8.0.39          |
| original_server_version  | 999999          |
| protocol_version         | 10              |
| tls_version              | TLSv1.2,TLSv1.3 |
| version                  | 8.0.39          |
+--------------------------+-----------------+
show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: 172.23.15.0
                  Master_User: rdsrepladmin
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin-changelog.000003
          Read_Master_Log_Pos: 154
               Relay_Log_File: relaylog.000012
                Relay_Log_Pos: 279
        Relay_Master_Log_File: mysql-bin-changelog.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
...
      Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates
...
1 row in set, 1 warning (0.00 sec)

3. 블루/그린 배포 전환(Switch Over)

blue-green-deployments
blue-green-deployments
blue-green-deployments

4. 기존 블루 환경 삭제

인스턴스 삭제

blue-green-deployments

클러스터 삭제

blue-green-deployments

블루/그린 배포 삭제

blue-green-deployments

데이터베이스 목록

blue-green-deployments

 

참고URL

- AWS Documentation : 데이터베이스 업데이트에 Amazon Aurora 블루/그린 배포 사용

- AWS re: Invent - Amazon RDS Blue/Green Deployments, Optimized Writes & Optimized Reads

 

728x90
반응형