Amazon ECS 작업 상태 변경 이벤트

Amazon ECS 작업 상태 변경 이벤트

다음 시나리오는 작업 상태 변경 이벤트를 발생시켜요. Amazon EventBridge에서 이 이벤트를 사용해 작업 수명 주기를 모니터링할 수 있어요.

출처: 문서

본문

다음 시나리오는 작업 상태 변경 이벤트를 발생시킵니다.

  • StartTask, RunTask, 또는 StopTask API 작업을 직접 또는 AWS Management Console, AWS CLI, SDK로 호출합니다.
    • 작업을 시작하거나 중지하면 새 작업 리소스가 생성되거나 기존 작업 리소스의 상태가 수정됩니다.
  • Amazon ECS 서비스 스케줄러가 작업을 시작하거나 중지합니다.
    • 작업을 시작하거나 중지하면 새 작업 리소스가 생성되거나 기존 작업 리소스의 상태가 수정됩니다.
  • Amazon ECS 컨테이너 에이전트가 SubmitTaskStateChange API 작업을 호출합니다.
  • EC2의 경우 Amazon ECS 컨테이너 에이전트가 컨테이너 인스턴스의 작업 상태를 모니터링합니다. Amazon ECS 컨테이너 에이전트는 모든 상태 변경을 보고합니다. 상태 변경에는 PENDING에서 RUNNING으로 또는 RUNNING에서 STOPPED로의 변경이 포함될 수 있습니다.
  • DeregisterContainerInstance API 작업과 force 플래그로 기본 컨테이너 인스턴스의 등록 취소를 강제합니다(직접 또는 AWS Management Console이나 SDK로).
    • 컨테이너 인스턴스를 등록 취소하면 컨테이너 인스턴스의 상태와 Amazon ECS 컨테이너 에이전트의 연결 상태가 변경됩니다. 컨테이너 인스턴스에서 작업이 실행 중이면 등록 취소를 허용하려면 force 플래그를 설정해야 합니다. 이는 인스턴스의 모든 작업을 중지시킵니다.
  • 기본 컨테이너 인스턴스가 중지되거나 종료됩니다.
    • 컨테이너 인스턴스를 중지하거나 종료하면 그 인스턴스에서 실행 중인 작업이 STOPPED 상태로 전환됩니다.
  • 작업의 컨테이너가 상태를 변경합니다.
    • Amazon ECS 컨테이너 에이전트는 작업 내 컨테이너의 상태를 모니터링합니다. 예를 들어 작업 내에서 실행 중인 컨테이너가 중지되면 이 컨테이너 상태 변경이 이벤트를 생성합니다.
  • Fargate Spot 용량 공급자를 사용하는 작업이 종료 알림을 받습니다.
    • 작업이 FARGATE_SPOT 용량 공급자를 사용하고 Spot 중단으로 인해 중지되면 작업 상태 변경 이벤트가 생성됩니다.

예시: 작업 상태 변경 이벤트

작업 상태 변경 이벤트는 다음 형식으로 전달됩니다. 필드에 대해 다음 사항을 참고하세요.

  • 이벤트의 상태는 작업 상태 변경 이벤트에서 사용할 수 없습니다. 작업 상태가 필요하면 describe-tasks를 실행할 수 있습니다.
  • 컨테이너가 Amazon ECR에 호스팅된 이미지를 사용하면 imageDigest 필드가 반환됩니다.
  • createdAt, connectivityAt, pullStartedAt, startedAt, pullStoppedAt, updatedAt 필드의 값은 ISO 문자열 타임스탬프입니다.
  • detail-type 값은 "ECS Task State Change"입니다.
  • 중지된 작업에 대해 이벤트가 생성될 때 stoppedReason과 stopCode 필드는 작업이 중지된 이유(예: "User initiated")에 대한 추가 정보를 제공합니다.

더 알아보기 (Learn more)