CodeDeploy 블루/그린에서 Amazon ECS 블루/그린 서비스 배포로 마이그레이션
Amazon RDS 블루/그린 배포를 사용하면 프로덕션 환경에서 구현하기 전에 서비스를 변경하고 해당 변경 내용을 테스트할 수 있습니다.
Amazon ECS 블루/그린 배포에 대한 새 수명 주기 후크를 생성해야 합니다.
사전 조건
블루/그린 배포를 시작하기 전에 다음 작업을 수행합니다.
-
Amazon ECS CodeDeploy IAM 역할을 다음 권한으로 바꾸세요.
-
Elastic Load Balancing 권한에 대한 자세한 내용은 로드 밸런서에 대한 Amazon ECS 인프라 IAM 역할 섹션을 참조하세요.
-
Lambda 권한에 대한 자세한 내용은 Amazon ECS 블루/그린 배포에서 Lambda 함수에 필요한 권한 섹션을 참조하세요.
-
-
CodeDeploy 자동화를 끄세요. 자세한 내용은 CodeDeploy 사용 설명서의 Working with deployment groups in CodeDeploy를 참조하세요.
-
CodeDeploy 블루/그린 배포에서 다음 정보가 있는지 확인하세요. Amazon ECS 블루/그린 배포에서 이 정보를 재사용할 수 있습니다.
-
프로덕션 대상 그룹
-
프로덕션 리스너
-
프로덕션 규칙
-
테스트 대상 그룹
그린 서비스 개정의 대상 그룹입니다.
-
-
Application Load Balancer 대상 그룹이 리스너 규칙과 올바르게 연결되어 있는지 확인하세요.
-
테스트 리스너를 사용하지 않는 경우 두 개의 대상 그룹(프로덕션 및 테스트)이 프로덕션 리스너 규칙과 연결되어 있어야 합니다.
-
테스트 리스너를 사용하는 경우 하나의 대상 그룹을 프로덕션 리스너 규칙에 연결하고 다른 대상 그룹을 테스트 리스너 규칙에 연결해야 합니다.
이 요구 사항이 충족되지 않으면 서비스 배포에 실패하고 다음 오류가 발생합니다.
Service deployment rolled back because of invalid networking configuration. Both targetGroup and alternateTargetGroup must be associated with the productionListenerRule or testListenerRule. -
-
서비스에 대해 진행 중인 서비스 배포가 없는지 확인하세요. 자세한 내용은 Amazon ECS 서비스 배포를 사용하여 서비스 기록 보기 섹션을 참조하세요.
-
Amazon ECS 블루/그린 배포에서는 서비스가 다음 기능 중 하나를 사용해야 합니다. 적절한 리소스를 구성하세요.
-
Application Load Balancer - 자세한 내용은 블루/그린, 선형, 카나리 배포에 대한 Application Load Balancer 리소스 섹션을 참조하세요.
-
Network Load Balancer - 자세한 내용은 Amazon ECS 블루/그린, 선형 및 카나리 배포를 위한 Network Load Balancer 섹션을 참조하세요.
-
Service Connect - 자세한 내용은 Amazon ECS 블루/그린, 선형 및 카나리 배포에 대한 Service Connect 리소스 섹션을 참조하세요.
-
-
Amazon ECS 블루/그린 배포의 단계에 대한 수명 주기 단계에서 Lambda 함수를 실행할지를 결정하세요.
-
사전 스케일 업
-
스케일 업 이후
-
트래픽 전환 테스트
-
트래픽 전환 테스트 이후
-
프로덕션 트래픽 전환
-
프로덕션 트래픽 전환 이후
각 수명 주기 단계에 대해 Lambda 함수를 생성하세요. 자세한 내용은 AWS Lambda 개발자 안내서의 콘솔로 Lambda 함수 생성을 참조하세요.
-
서비스의 배포 컨트롤러 업데이트에 대한 자세한 내용은 Amazon ECS 서비스 파라미터 업데이트 섹션을 참조하세요.
절차
https://console.aws.amazon.com/ecs/v2
에서 콘솔을 엽니다. -
클러스터(Clusters) 페이지에서 클러스터를 선택합니다.
클러스터 세부 정보 페이지가 표시됩니다.
-
서비스 탭에서 서비스를 선택하세요.
서비스 세부 정보 페이지가 표시됩니다.
-
배너에서 배포 컨트롤러 유형 업데이트를 선택하세요.
배포 컨트롤러 유형 마이그레이션 페이지가 표시됩니다.
-
새로 만들기를 확장한 후 다음 파라미터를 지정하세요.
-
배포 컨트롤러 유형에서 ECS를 선택하세요.
-
배포 전략에서 블루/그린을 선택하세요.
-
베이크 소요 시간에 블루 및 그린 서비스 개정이 모두 실행되는 시간을 입력하세요.
-
수명 주기 단계에서 Lambda 함수를 실행하려면 배포 수명 주기 후크 아래 각 고유한 Lambda 함수에 대해 다음을 수행하세요.
-
추가를 선택합니다.
실행하려는 모든 고유 함수에 대해 반복하세요.
-
Lambda 함수에서 함수 이름을 입력하세요.
-
역할에서 블루/그린 권한이 있는 사전 요구 사항에서 생성한 역할을 선택하세요.
자세한 내용은 Amazon ECS 블루/그린 배포에서 Lambda 함수에 필요한 권한 섹션을 참조하세요.
-
수명 주기 단계에서 Lambda 함수가 실행되는 단계를 선택하세요.
-
(선택 사항) 후크 세부 정보에 후크에 대한 정보를 제공하는 키-값 페어를 입력하세요.
-
-
-
로드 밸런싱을 확장한 후 다음을 구성하세요.
-
역할에서 블루/그린 권한이 있는 사전 요구 사항에서 생성한 역할을 선택하세요.
자세한 내용은 Amazon ECS 블루/그린 배포에서 Lambda 함수에 필요한 권한 섹션을 참조하세요.
-
리스너에서 CodeDeploy 블루/그린 배포의 프로덕션 리스너를 선택하세요.
-
프로덕션 규칙에서 CodeDeploy 블루/그린 배포의 프로덕션 규칙을 선택하세요.
-
테스트 규칙에서 CodeDeploy 블루/그린 배포의 테스트 규칙을 선택하세요.
-
대상 그룹에서 CodeDeploy 블루/그린 배포의 프로덕션 대상 그룹을 선택하세요.
-
대체 대상 그룹에서 CodeDeploy 블루/그린 배포의 테스트 대상 그룹을 선택하세요.
-
-
업데이트를 선택합니다.
다음 단계
-
배포를 시작하도록 서비스를 업데이트합니다. 자세한 내용은 Amazon ECS 서비스 업데이트 섹션을 참조하세요.
-
배포 프로세스를 모니터링하여 블루/그린 패턴을 따르는지 확인합니다.
-
그린 서비스 개정이 생성되고 스케일 업됨
-
테스트 트래픽이 그린 개정으로 라우팅됨(구성된 경우)
-
프로덕션 트래픽이 그린 개정으로 전환됨
-
베이크 소요 시간이 지나면 블루 개정이 종료됨
-