View a markdown version of this page

Amazon ECS 서비스 배포에 대한 수명 주기 후크 - Amazon Elastic Container Service

Amazon ECS 서비스 배포에 대한 수명 주기 후크

배포가 시작되면 수명 주기 단계에 따라 진행됩니다. 각 단계는 IN_PROGRESS 또는 SUCCEEDED와 같은 상태일 수 있습니다. 배포가 진행되기 전에 사용자 지정 로직을 실행하거나 결정 지점을 도입하도록 특정 단계에서 수명 주기 후크를 구성할 수 있습니다. Amazon ECS는 두 가지 유형의 수명 주기 후크를 지원합니다.

Lambda 후크

Amazon ECS는 배포의 특정 단계에서 Lambda 함수를 간접적으로 호출합니다. 함수에는 사용자 지정 로직이 포함되어 있으며, Amazon ECS에 진행 방법을 알려주기 위해 hookStatusSUCCEEDED, FAILED 또는 IN_PROGRESS인 JSON 객체를 반환해야 합니다. 이러한 후크를 사용하여 배포를 진행하기 전에 검증 테스트를 실행하거나, 거버넌스 정책을 시행하거나, 사용자 지정 승인 단계를 구현할 수 있습니다. 자세한 내용은 Amazon ECS 서비스 배포에 대한 Lambda 후크 섹션을 참조하세요.

후크 일시 중지

Amazon ECS는 구성된 수명 주기 단계에서 배포를 일시 중지하고, ContinueServiceDeployment API를 직접적으로 호출하여 계속하거나 롤백할 때까지 기다립니다. 일시 중지된 동안에는 수동 승인, 기존 도구와의 통합 테스트, 운영 준비 상태 확인 또는 CI/CD 파이프라인 단계와 같은 자체 워크플로를 외부에서 실행할 수 있습니다. 자세한 내용은 Amazon ECS 서비스 배포에 대한 일시 중지 후크 섹션을 참조하세요.

동일한 수명 주기 단계에서 Lambda 후크와 일시 중지 후크를 모두 구성할 수 있습니다. 배포가 다음 단계로 진행되기 전에 두 후크 모두 완료되어야 합니다.

수명 주기 후크 세부 정보

배포 중 후크가 활성화되면 DescribeServiceDeployments를 직접적으로 호출하여 상태를 확인할 수 있습니다. 응답에는 각 활성 후크에 대한 다음 필드가 있는 lifecycleHookDetails 배열이 포함됩니다.

필드 설명
hookId 이 후크 실행의 고유한 식별자. 일시 중지 후크에 대해 ContinueServiceDeployment를 직접적으로 호출할 때 이 값을 사용합니다.
targetType 후크 유형: AWS_LAMBDA 또는 PAUSE.
targetArn 후크 대상의 ARN. Lambda 후크의 경우 Lambda 함수 ARN입니다. 일시 중지 후크의 경우 이 필드는 설정되지 않습니다.
status 후크의 현재 상태: AWAITING_ACTION, IN_PROGRESS, SUCCEEDED, FAILED 또는 TIMED_OUT.
expiresAt 후크가 만료되는 날짜 및 시간. (예: 2026-05-06T12:06:49-07:00)
timeoutAction 후크 제한 시간이 초과될 때 Amazon ECS가 수행하는 작업: ROLLBACK 또는 CONTINUE.

수명 주기 단계 범주

수명 주기 단계는 다음과 같은 두 가지 범주로 구분됩니다.

  1. 단일 간접 호출 단계 - Amazon ECS는 서비스 배포 중 이러한 단계를 한 번만 간접적으로 호출합니다.

    • RECONCILE_SERVICE

    • PRE_SCALE_UP

    • POST_SCALE_UP

    • TEST_TRAFFIC_SHIFT

    • POST_TEST_TRAFFIC_SHIFT

    • POST_PRODUCTION_TRAFFIC_SHIFT

  2. 반복 간접 호출 단계 - Amazon ECS는 서비스 배포 중 이러한 단계를 여러 번 간접적으로 호출할 수 있습니다. 선형 및 카나리 배포의 경우 각 트래픽 전환 단계에서 이러한 단계가 간접적으로 호출됩니다.

    • PRE_PRODUCTION_TRAFFIC_SHIFT

    • PRODUCTION_TRAFFIC_SHIFT

참고

TEST_TRAFFIC_SHIFT 또는 PRODUCTION_TRAFFIC_SHIFT 단계에서는 일시 중지 후크를 구성할 수 없습니다. 이러한 단계는 롤백 중에도 간접적으로 호출되기 때문입니다. 롤백 중 일시 중지할 경우 롤백을 완료하려면 ContinueServiceDeployment 호출을 추가로 수행해야 합니다.

후크 유형별로 지원되는 단계

수명 주기 단계 Lambda 후크 후크 일시 중지
RECONCILE_SERVICE
PRE_SCALE_UP
POST_SCALE_UP
TEST_TRAFFIC_SHIFT 아니요
POST_TEST_TRAFFIC_SHIFT
PRE_PRODUCTION_TRAFFIC_SHIFT
PRODUCTION_TRAFFIC_SHIFT 아니요
POST_PRODUCTION_TRAFFIC_SHIFT