CodeDeploy 블루/그린에서 Amazon ECS 블루/그린 서비스 배포로 마이그레이션하기
CodeDeploy 블루/그린에서 Amazon ECS 블루/그린 서비스 배포로 마이그레이션하기
Amazon ECS 블루/그린 배포를 사용하면 프로덕션 환경에 적용하기 전에 서비스 변경 내용을 만들고 테스트할 수 있어요. Amazon ECS 블루/그린 배포를 위해서는 새 수명주기 훅(lifecycle hooks)을 만들어야 합니다.
출처: 문서
본문
Amazon ECS 블루/그린 배포를 사용하면 프로덕션 환경에 구현하기 전에 서비스 변경 사항을 만들고 테스트할 수 있습니다. Amazon ECS 블루/그린 배포를 위한 새 수명주기 훅을 반드시 만들어야 해요.
사전 요구 사항
블루/그린 배포를 시작하기 전에 다음 작업을 수행하세요.
- Amazon ECS CodeDeploy IAM 역할을 다음 권한으로 교체합니다.
- Elastic Load Balancing 권한에 대한 정보는 "Amazon ECS infrastructure IAM role for load balancers"를 참고하세요.
- Lambda 권한에 대한 정보는 "Permissions required for Lambda functions in Amazon ECS blue/green deployments"를 참고하세요.
- CodeDeploy 자동화를 끕니다. 자세한 내용은 CodeDeploy User Guide의 "Working with deployment groups in CodeDeploy"를 참고하세요.
- CodeDeploy 블루/그린 배포에서 다음 정보가 있는지 확인합니다. 이 정보는 Amazon ECS 블루/그린 배포에 재사용할 수 있습니다.
- 프로덕션 대상 그룹(production target group)
- 프로덕션 리스너(production listener)
- 프로덕션 규칙(production rule)
- 테스트 대상 그룹(test target group) — 이는 그린 서비스 리비전의 대상 그룹입니다.
- Application Load Balancer 대상 그룹이 리스너 규칙과 올바르게 연결되어 있는지 확인합니다.
- 테스트 리스너를 사용하지 않는 경우, 두 대상 그룹(프로덕션과 테스트) 모두 프로덕션 리스너 규칙과 연결되어야 합니다.
- 테스트 리스너를 사용하는 경우, 한 대상 그룹은 프로덕션 리스너 규칙에, 다른 대상 그룹은 테스트 리스너 규칙에 연결되어야 합니다.
- 이 요구 사항을 충족하지 않으면 서비스 배포가 다음 오류로 실패합니다:
Service deployment rolled back because of invalid networking configuration. Both targetGroup and alternateTargetGroup must be associated with the productionListenerRule or testListenerRule.
- 서비스에 진행 중인 서비스 배포가 없는지 확인합니다. 자세한 내용은 "View service history using Amazon ECS service deployments"를 참고하세요.
Amazon ECS 블루/그린 배포는 서비스가 다음 기능 중 하나를 사용해야 합니다. 적절한 리소스를 구성하세요.
- Application Load Balancer — "Application Load Balancer resources for blue/green, linear, and canary deployments" 참고
- Network Load Balancer — "Network Load Balancer resources for Amazon ECS blue/green, linear and canary deployments" 참고
- Service Connect — "Service Connect resources for Amazon ECS blue/green, linear, and canary deployments" 참고
Amazon ECS 블루/그린 배포의 수명주기 단계에 Lambda 함수를 실행할지 결정합니다.
- Pre scale up
- After scale up
- Test traffic shift
- After test traffic shift
- Production traffic shift
- After production traffic shift
각 수명주기 단계마다 Lambda 함수를 생성합니다. 자세한 내용은 AWS Lambda Developer Guide의 "Create a Lambda function with the console"을 참고하세요.
더 알아보기 (Learn more)
- Amazon ECS 블루/그린 배포에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.