Amazon Web Services 한국 블로그
Amazon Aurora 및 RDS의 완전관리형 블루/그린 배포 기능 출시
데이터베이스를 업데이트할 때 블루/그린(Blue/Green) 배포 기법을 사용하는 것은 사용자가 위험과 다운타임을 최소화할 수 있는 매력적인 옵션입니다. 이 데이터베이스 업데이트 방법에는 현재 프로덕션 환경, 즉 블루 환경과 스테이징 환경, 즉 그린 환경이라는 두 가지 데이터베이스 환경이 필요합니다. 그런 다음에 변경 사항을 안전하게 테스트하고 프로덕션으로 업그레이드할 수 있도록 이 두 가지 환경을 서로 동기화된 상태로 유지해야 합니다.
Amazon Aurora와 Amazon Relational Database Service(RDS) 고객은 블루/그린 배포 자체 관리에 도움이 되도록 데이터베이스 복제 및 프로모션 가능한 읽기 전용 복제본을 사용할 수 있습니다. 그러나 블루/그린 배포를 자체 관리하면 비용이 많이 들고 구축 및 관리가 복잡할 수 있습니다. 그래서 고객이 데이터베이스 업데이트에서 얻게 되는 이점보다 가용성을 선택하여 데이터베이스 업데이트 구현을 미루는 경우가 있습니다.
오늘 MySQL 호환성, Amazon RDS for MySQL 및 Amazon RDS for MariaDB와 함께 데이터베이스를 더 안전하고 더 간단하고 더 빠르게 업데이트할 수 있는 새로운 Amazon Aurora 기능인 Amazon RDS Blue/Green Deployments의 정식 출시를 발표합니다.
몇 단계만으로 Blue/Green Deployments를 사용하여 프로덕션 환경을 미러링하는 별도의 동기화된 완전관리형 스테이징 환경을 생성할 수 있습니다. 스테이징 환경에서는 프로덕션 환경의 프라이머리 데이터베이스와 리전 내 읽기 전용 복제본을 복제합니다. Blue/Green Deployments에서는 논리적 복제를 사용하여 이 두 가지 환경을 동기화된 상태로 유지합니다.
1분이면 데이터 손실 없이 스테이징 환경을 새로운 프로덕션 환경으로 활성화할 수 있습니다. 전환 중에 그린이 블루를 따라가도록 블루 환경과 그린 환경에서의 쓰기를 Blue/Green Deployments에서 차단하여 데이터 손실이 없도록 합니다. 그런 다음에 애플리케이션 코드 변경 없이 Blue/Green Deployments에서 프로덕션 트래픽을 새로 활성화된 스테이징 환경으로 리디렉션합니다.
Blue/Green Deployments를 통해 프로덕션 워크로드에 영향을 주지 않고 주 버전과 부 버전 업그레이드, 스키마 수정, 운영 체제 또는 유지 보수 업데이트와 같은 변경 사항을 스테이징 환경에 적용할 수 있습니다.
Blue/Green Deployments for MySQL 클러스터 시작하기
AWS Management Console에서 몇 번만 클릭하여 데이터베이스 업데이트를 시작할 수 있습니다. 시작하려면 업데이트해야 하는 데이터베이스를 콘솔에서 선택하고 Actions(작업) 드롭다운 메뉴에서 Create Blue/Green Deployment(블루/그린 배포 생성)를 클릭하면 됩니다.
Blue/Green Deployment identifier(블루/그린 배포 식별자)와 수정할 데이터베이스 속성(예: 엔진 버전, DB 클러스터 파라미터 그룹, 그린 데이터베이스의 DB 파라미터 그룹)을 설정할 수 있습니다. Aurora MySQL DB 클러스터에서 블루/그린 배포를 사용하려면 DB 클러스터 파라미터 그룹에서 binlog_format
파라미터의 값을 OFF
에서ROW
로 변경하여 바이너리 로깅을 활성화해야 합니다.
Create Blue/Green Deployment(블루/그린 배포 생성)를 선택하면 새로운 스테이징 환경이 생성되고 프로덕션용 데이터베이스를 준비하는 자동화된 작업이 실행됩니다. 참고: 다중 AZ 배포의 읽기 전용 복제본과 DB 인스턴스, 그린 데이터베이스에서 활성화했을 수 있는 Amazon RDS 성능 개선 도우미와 같은 기타 기능을 포함한 그린 데이터베이스의 비용이 청구됩니다.
AWS Command Line Interface(AWS CLI)에서도 동일한 작업을 수행할 수 있습니다. 엔진 버전 업그레이드를 수행하려면 간단히 targetEngineVersion
파라미터를 추가하고 업그레이드하려는 엔진 버전을 지정하면 됩니다. 이 파라미터는 부 버전 및 주저 버전 업그레이드에서 모두 작동하며, Amazon Aurora MySQL-Compatible의 5.7
과 같은 짧은 버전이 허용됩니다.
$ aws rds create-blue-green-deployment \
--blue-green-deployment-name my-bg-deployment \
--source arn:aws:rds:us-west-2:1234567890:db:my-aurora-mysql \
--target-engine-version 5.7 \
--region us-west-2 \
생성이 완료되면 이제 스테이징 환경을 새로운 프로덕션 환경으로 활성화하기 전에 테스트하고 검증할 준비가 완료됩니다.
변경 사항 테스트와 검증이 완료되면 Actions(작업) 드롭다운 메뉴에서 Switch over(전환)를 선택하여 Green(그린)으로 표시된 스테이징 환경을 새로운 프로덕션 시스템으로 활성화할 수 있습니다.
이제 그린 데이터베이스를 프로덕션 시스템으로 전환할 준비가 거의 다 되었습니다. 그린 데이터베이스의 설정을 점검하여 전환할 준비가 되었는지 확인합니다. 또한 시간 제한 설정을 설정하여 전환에 대한 최대 시간 제한을 결정할 수도 있습니다. 지정한 기간보다 오래 걸릴 것으로 Blue/Green Deployments의 전환 가드레일에서 감지되면 전환이 취소되고 변경 사항이 환경에 적용되지 않습니다. 전환을 시작하려면 적거나 중간 정도인 프로덕션 트래픽 시간을 식별하는 것이 좋습니다.
전환 후 Blue/Green Deployments에서는 이전 프로덕션 환경을 삭제하지 않습니다. 필요한 경우 추가 검증 및 성능/회귀 테스트를 위해 이전 프로덕션 환경에 액세스할 수 있습니다. 더는 필요하지 않을 때 이전 프로덕션 환경을 삭제하는 것은 본인 책임입니다. 삭제할 때까지는 이전 프로덕션 인스턴스에 표준 청구 요금이 적용됩니다.
지금 이용 가능
Amazon RDS Blue/Green Deployments는 현재 중국을 제외한 모든 AWS 상용 리전과 AWS GovCloud 리전에서 MySQL Compatibility 5.6 이상, Amazon RDS for MySQL 주 버전 5.6 이상 및 Amazon RDS for MariaDB 10.2 이상이 있는 Amazon Aurora에서 사용할 수 있습니다.
자세히 알아보려면 Amazon Aurora MySQL 개발자 안내서 또는 Amazon RDS for MySQL 사용 설명서를 읽어보세요. 체험해 보고 Amazon RDS용 AWS re:Post 또는 일반 AWS Support 연락처로 피드백을 보내주세요.
– Channy