롤링 업데이트에서 Amazon ECS 블루/그린으로 배포 전략 업데이트
프로덕션 환경에서 구현하기 전에 서비스를 변경하고 해당 변경 내용을 테스트하려는 경우 롤링 업데이트 배포에서 Amazon ECS 블루/그린 배포로 마이그레이션할 수 있습니다.
사전 조건
서비스를 롤링에서 블루/그린 배포로 마이그레이션하기 전에 다음 사항을 갖추어야 합니다.
-
현재 배포가 완료될 때까지 기다립니다.
-
롤링 배포 전략을 사용하는 기존 Amazon ECS 서비스.
-
트래픽을 지원하는 서비스 개정이 여러 개 있는 경우 Amazon ECS는 마이그레이션 중에 트래픽을 단일 개정으로 통합하려고 시도합니다. 실패하면 마이그레이션하기 전에 단일 개정을 사용하도록 서비스를 수동으로 업데이트해야 할 수 있습니다.
-
적절한 권한을 구성하세요.
-
Elastic Load Balancing 권한에 대한 자세한 내용은 로드 밸런서에 대한 Amazon ECS 인프라 IAM 역할 섹션을 참조하세요.
-
Lambda 권한에 대한 자세한 내용은 Amazon ECS 블루/그린 배포에서 Lambda 함수에 필요한 권한 섹션을 참조하세요.
-
-
구성에 따라 다음 중 하나를 수행해야 합니다.
-
서비스가 Elastic Load Balancing을 사용하는 경우 새 'advancedConfiguration'으로 서비스를 업데이트하고 롤링 배포를 시작합니다.
-
서비스가 Service Connect를 사용하는 경우 서비스를 업데이트하고 롤링 배포를 시작합니다.
-
서비스가 Elastic Load Balancing 및 Service Connect를 모두 사용하는 경우 위의 두 단계를 모두 수행합니다(단일 UpdateService 요청 사용 가능).
-
서비스가 위의 항목을 사용하지 않는 경우 추가 작업이 필요하지 않습니다.
-
-
Amazon ECS 블루/그린 배포에서는 서비스가 다음 기능 중 하나를 사용해야 합니다. 적절한 리소스를 구성합니다.
-
Application Load Balancer - 자세한 내용은 블루/그린 배포에 대한 Application Load Balancer 리소스 섹션을 참조하세요.
-
Network Load Balancer - 자세한 내용은 Amazon ECS 블루/그린 배포에 대한 Network Load Balancer 리소스 섹션을 참조하세요.
-
Service Connect - 자세한 내용은 Amazon ECS 블루/그린 배포에 대한 Service Connect 리소스 섹션을 참조하세요.
-
절차
-
https://console.aws.amazon.com/ecs/v2
에서 Amazon ECS 콘솔을 여세요. -
탐색 창에서 클러스터를 선택합니다.
-
클러스터 페이지에서 마이그레이션하려는 서비스가 포함된 클러스터를 선택하세요.
클러스터 세부 정보 페이지가 표시됩니다.
-
클러스터 세부 정보 페이지에서 서비스 탭을 선택하세요.
-
서비스를 선택하고 업데이트를 선택하세요.
서비스 업데이트 페이지가 표시됨
-
배포 옵션을 확장한 후 다음을 수행하세요.
-
배포 전략에서 블루/그린을 선택하세요.
-
다음과 같이 블루/그린 배포 설정을 구성하세요.
-
베이크 소요 시간에 블루 개정이 종료되기 전에 블루 및 그린 서비스 개정이 동시에 실행되는 시간(분)을 입력하세요.
이를 통해 확인 및 테스트 시간을 확보할 수 있습니다.
-
(선택 사항) 배포의 특정 단계에서 실행할 Lambda 함수를 구성하세요. 배포 수명 주기 후크에서 다음 단계에 맞게 Lambda 함수를 구성하세요.
-
사전 스케일 업: 그린 서비스 개정을 스케일 업하기 전에 실행
-
사후 스케일 업: 그린 서비스 개정을 스케일 업한 후 실행
-
테스트 트래픽 전환: 그린 서비스 개정으로 트래픽 라우팅을 테스트하는 동안 실행
-
사후 테스트 트래픽 전환: 테스트 트래픽이 그린 서비스 개정으로 라우팅된 후 실행
-
프로덕션 트래픽 전환: 그린 서비스 개정으로 프로덕션 트래픽을 라우팅하는 동안 실행
-
사후 프로덕션 트래픽 전환: 프로덕션 트래픽이 그린 서비스 개정으로 라우팅된 후 실행
수명 주기 후크를 추가하는 방법:
-
추가를 선택합니다.
-
Lambda 함수에서 함수 이름 또는 ARN을 입력하세요.
-
역할에서 Lambda 함수를 간접 호출할 권한이 있는 IAM 역할을 선택하세요.
-
수명 주기 단계에서 Lambda 함수를 실행해야 하는 단계를 선택하세요.
-
선택 사항: 후크 세부 정보에 후크에 대한 추가 정보를 제공하도록 키-값 페어를 입력하세요.
-
-
-
다음과 같이 로드 밸런서를 구성하세요.
-
로드 밸런싱에서 서비스가 로드 밸런서를 사용하도록 구성되어 있는지 확인하세요.
-
대상 그룹에서 프로덕션(블루) 환경의 기본 대상 그룹을 선택하세요.
-
대체 대상 그룹에서 테스트(그린) 환경의 대상 그룹을 선택하세요.
-
프로덕션 리스너 규칙에서 프로덕션 트래픽을 라우팅하기 위한 리스너 규칙을 선택하세요.
-
선택 사항: 테스트 리스너 규칙에서 테스트 트래픽을 그린 환경으로 라우팅하기 위한 리스너 규칙을 선택하세요.
-
역할에서 Amazon ECS가 로드 밸런서를 관리하도록 허용하는 IAM 역할을 선택하세요.
-
-
변경 내용을 검토한 다음 업데이트를 선택하세요.
다음 단계
배포를 시작하도록 서비스를 업데이트합니다. 자세한 내용은 Amazon ECS 서비스 업데이트 섹션을 참조하세요.
-
배포 프로세스를 모니터링하여 블루/그린 패턴을 따르는지 확인합니다.
-
그린 서비스 개정이 생성되고 스케일 업됨
-
테스트 트래픽이 그린 개정으로 라우팅됨(구성된 경우)
-
프로덕션 트래픽이 그린 개정으로 전환됨
-
베이크 소요 시간이 지나면 블루 개정이 종료됨
-