Amazon ECS 카나리 배포에 필요한 리소스 - Amazon Elastic Container Service

Amazon ECS 카나리 배포에 필요한 리소스

관리형 트래픽 전환을 통해 카나리 배포를 사용하려면 서비스에서 다음 기능 중 하나를 사용해야 합니다.

  • Elastic Load Balancing

  • Service Connect

참고

카나리 배포는 Network Load Balancer를 지원하지 않습니다. Network Load Balancer 구성의 경우 대신 블루/그린 배포를 사용합니다.

다음 목록은 Amazon ECS 카나리 배포를 위해 구성해야 하는 사항에 대한 개략적인 개요를 제공합니다.

  • 서비스에서는 Application Load Balancer 또는 Service Connect를 사용합니다. 적절한 리소스를 구성합니다.

  • 서비스 배포 컨트롤러를 ECS로 설정합니다.

  • 서비스 정의에서 canary으로 배포 전략을 구성합니다.

  • 선택적으로 다음과 같은 추가 파라미터를 구성합니다.

    • 새 배포를 위한 베이크 소요 시간

    • 카나리 단계에서 새 서비스 개정으로 라우팅할 트래픽의 백분율.

    • 남은 트래픽을 새 서비스 개정으로 이전하기 전에 카나리 단계에서 대기하는 기간.

    • 자동 롤백에 대한 CloudWatch 경보

    • 배포 수명 주기 후크(지정된 배포 단계에서 실행되는 Lambda 함수)

모범 사례

성공적인 Amazon ECS 카나리 배포를 위해 다음 모범 사례를 따릅니다.

  • 애플리케이션이 동시에 실행되는 서비스 개정을 모두 처리할 수 있는지 확인합니다.

  • 배포 중에 두 서비스 개정을 모두 처리할 수 있는 충분한 클러스터 용량을 계획합니다.

  • 프로덕션 환경에서 롤백 프로시저를 구현하기 전에 테스트합니다.

  • 애플리케이션 상태를 정확하게 반영하는 적절한 상태 확인을 구성합니다.

  • 그린 배포를 충분히 테스트할 수 있는 베이크 소요 시간을 설정합니다.

  • CloudWatch 경보를 구현하여 문제를 자동으로 감지하고 롤백을 트리거합니다.

  • 수명 주기 후크를 사용하여 각 배포 단계에서 자동화된 테스트를 수행합니다.

  • 문제가 발생할 경우 영향을 최소화하려면 작은 카나리 백분율(5~10%)로 시작합니다.

  • 의미 있는 성능 데이터 수집을 위해 충분한 시간을 허용하는 적절한 평가 기간을 설정합니다.

  • 자동화된 롤백 트리거에 대한 CloudWatch 경보를 사용하여 포괄적인 모니터링을 구현합니다.

  • 애플리케이션의 준비 상태 및 기능을 정확하게 반영하는 상태 확인을 구성합니다.

  • 평가 중에 기술 지표(응답 시간, 오류율)와 비즈니스 지표를 모두 모니터링합니다.

  • 애플리케이션이 세션 또는 상태 문제 없이 트래픽 분할을 처리할 수 있는지 확인합니다.

  • 롤백 절차를 계획하고 정기적으로 테스트하여 필요할 때 작동하는지 확인합니다.

  • 팀이 모니터링하고 대응할 수 있는 업무 시간 중에 카나리 배포를 예약합니다.

  • 카나리 배포 전에 스테이징 환경에서 변경 사항을 철저히 검증합니다.

  • 수동 개입 및 롤백 결정을 위한 명확한 절차를 문서화합니다.