퍼블릭 클라우드
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 파라미터를 적절히 설정하는 것이 중요합니다.
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 엔진 버전
Aurora(MySQL 5.7)에서 Aurora(MySQL 8.0)으로 업데이트
Blue/Green Deployments
데이터베이스 목록
1. 블루/그린 배포
블루/그린 배포 생성
블루/그린 배포 구성 : bg-deployment-1
검토 및 확인
데이터베이스 목록 확인(그린 생성 중)
데이터베이스 목록 확인(그린)
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)
4. 기존 블루 환경 삭제
인스턴스 삭제
클러스터 삭제
블루/그린 배포 삭제
데이터베이스 목록
참고URL
- AWS Documentation : 데이터베이스 업데이트에 Amazon Aurora 블루/그린 배포 사용
- AWS re: Invent - Amazon RDS Blue/Green Deployments, Optimized Writes & Optimized Reads
728x90
반응형