Amazon ECS canary 배포에 필요한 리소스

Amazon ECS canary 배포에 필요한 리소스

Amazon ECS canary 배포를 구성하는 데 필요한 리소스와 설정, 그리고 성공적인 canary 배포를 위한 모범 사례를 알아봐요.

출처: 문서

본문

관리형 트래픽 이동(managed traffic shifting)을 사용하는 canary 배포를 사용하려면 서비스가 다음 기능 중 하나를 사용해야 해요:

  • Elastic Load Balancing
  • Service Connect

Amazon ECS canary 배포를 위해 구성해야 하는 내용의 개략적인 목록은 다음과 같아요:

  1. 서비스가 Application Load Balancer, Network Load Balancer 또는 Service Connect를 사용하도록 합니다. 적절한 리소스를 구성하세요:
    • 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 참고.
  2. 서비스 배포 컨트롤러를 ECS로 설정합니다.
  3. 서비스 정의에서 배포 전략을 canary로 구성합니다.
  4. 선택적으로 다음 추가 파라미터를 구성합니다:
    • 새 배포의 베이크 시간(bake time)
    • canary 단계에서 새 서비스 리비전으로 라우팅할 트래픽 비율
    • 나머지 트래픽을 새 서비스 리비전으로 이동하기 전 canary 단계에서 대기할 기간
    • 자동 롤백을 위한 CloudWatch 알람
    • 배포 수명 주기 훅(Lambda 함수 또는 지정된 배포 단계에서 실행되는 일시 중지 훅)

모범 사례 (Best practices)

성공적인 Amazon ECS canary 배포를 위해 다음 모범 사례를 따르세요:

  • 애플리케이션이 두 서비스 리비전을 동시에 실행할 수 있는지 확인하세요.
  • 배포 중 두 서비스 리비전을 모두 처리할 수 있는 충분한 클러스터 용량을 계획하세요.
  • 프로덕션에 구현하기 전에 롤백 절차를 테스트하세요.
  • 애플리케이션 상태를 정확히 반영하는 적절한 상태 검사를 구성하세요.
  • green 배포를 충분히 테스트할 수 있는 베이크 시간을 설정하세요.
  • 문제를 자동으로 감지하고 롤백을 트리거하는 CloudWatch 알람을 구현하세요.
  • 각 배포 단계에서 자동화된 테스트를 수행하는 수명 주기 훅을 사용하세요.
  • 문제가 발생할 경우 영향을 최소화하도록 작은 canary 백분율(5-10%)로 시작하세요.
  • 의미 있는 성능 데이터 수집을 위한 충분한 시간을 허용하는 적절한 평가 기간을 설정하세요.
  • 자동 롤백 트리거를 위한 CloudWatch 알람으로 포괄적인 모니터링을 구현하세요.
  • 애플리케이션의 준비 상태와 기능을 정확히 반영하는 상태 검사를 구성하세요.
  • 평가 중 기술 지표(응답 시간, 오류율)와 비즈니스 지표를 모두 모니터링하세요.
  • 세션이나 상태 문제 없이 트래픽 분할을 처리할 수 있는지 확인하세요.
  • 롤백 절차를 계획하고 필요할 때 작동하도록 정기적으로 테스트하세요.
  • 팀이 모니터링하고 대응할 수 있도록 업무 시간에 canary 배포를 예약하세요.
  • canary 배포 전에 스테이징 환경에서 변경 사항을 철저히 검증하세요.
  • 수동 개입과 롤백 결정에 대한 명확한 절차를 문서화하세요.

더 알아보기 (Learn more)