Amazon ECS 작업 상태 변경 이벤트 - Amazon Elastic Container Service

Amazon ECS 작업 상태 변경 이벤트

다음과 같은 상황에서 작업 상태 변경 이벤트가 발생합니다.

직접 또는 AWS Management Console, AWS CLI나 SDK를 사용하여 StartTask, RunTask 또는 StopTask API 태스크를 호출합니다.

태스크를 시작 또는 중지하면 새로운 작업 리소스가 생기거나 기존 작업 리소스의 상태가 수정됩니다.

Amazon ECS 서비스 스케줄러가 태스크를 시작 또는 중지하는 경우

태스크를 시작 또는 중지하면 새로운 작업 리소스가 생기거나 기존 작업 리소스의 상태가 수정됩니다.

Amazon ECS 컨테이너 에이전트가 SubmitTaskStateChange API 태스크를 호출하는 경우

Amazon EC2 시작 유형의 경우 Amazon ECS 컨테이너 에이전트는 컨테이너 인스턴스에서 작업 상태를 모니터링합니다. Amazon ECS 컨테이너 에이전트는 모든 상태 변경을 보고합니다. 상태 변경에는 PENDING에서 RUNNING으로 또는 RUNNING에서 STOPPED로의 변경이 포함될 수 있습니다.

직접 또는 AWS Management Console이나 SDK를 통해 DeregisterContainerInstance API 태스크와 force 플래그를 사용하여 기본 컨테이너 인스턴스를 강제로 등록 해제합니다.

컨테이너 인스턴스를 등록 해제하면 해당 컨테이너 인스턴스의 상태와 Amazon ECS 컨테이너 에이전트의 연결 상태가 변경됩니다. 컨테이너 인스턴스에서 작업이 실행 중인 경우 등록을 해제하려면 force 플래그가 설정되어야 합니다. 그러면 인스턴스에서 모든 작업이 중지합니다.

기본 컨테이너 인스턴스가 중지 또는 종료되는 경우

컨테이너 인스턴스를 중지 또는 종료하면 해당 컨테이너 인스턴스에서 실행 중이던 작업이 STOPPED 상태로 전환됩니다.

작업 내 컨테이너의 상태가 변경되는 경우

Amazon ECS 컨테이너 에이전트는 작업 내 컨테이너의 상태를 모니터링합니다. 예를 들어 작업에서 실행 중인 컨테이너가 중지하는 경우 이 컨테이너 상태 변경은 이벤트를 발생시킵니다.

Fargate 스팟 용량 공급자를 사용하는 태스크는 종료 공지를 받습니다.

작업이 FARGATE_SPOT 용량 공급자를 사용 중이고 스팟 중단으로 인해 중지되면 작업 상태 변경 이벤트가 발생시킵니다.

예 작업 상태 변경 이벤트

작업 상태 변경 이벤트는 다음 형식으로 제공됩니다. 다음 detail 섹션은 Amazon Elastic 컨테이너 서비스 API 참조DescribeTasks API 작업에서 반환되는 작업 객체와 유사합니다. 컨테이너에서 Amazon ECR로 호스팅되는 이미지를 사용하는 경우 imageDigest 필드가 반환됩니다.

참고

createdAt, connectivityAt, pullStartedAt, startedAt, pullStoppedAtupdatedAt 필드의 값은 DescribeTasks 작업의 응답에서는 UNIX 타임스탬프인 반면, 작업 상태 변경 이벤트에서는 ISO 문자열 타임스탬프입니다.

CloudWatch 파라미터에 대한 자세한 정보는 Amazon EventBridge 사용 설명서이벤트 및 이벤트 패턴을 참조하세요.

필수 컨테이너 중 하나가 종료되어 작업 실행이 중지된 작업 이벤트만 캡처하는 Amazon EventBridge 이벤트 규칙을 구성하는 방법에 대한 자세한 내용은 Amazon ECS 작업 중지 이벤트에 대한 Amazon Simple Notification Service 알림 보내기 섹션을 참조하세요.

{ "version": "0", "id": "3317b2af-7005-947d-b652-f55e762e571a", "detail-type": "ECS Task State Change", "source": "aws.ecs", "account": "111122223333", "time": "2020-01-23T17:57:58Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:task/FargateCluster/c13b4cb40f1f4fe4a2971f76ae5a47ad" ], "detail": { "attachments": [ { "id": "1789bcae-ddfb-4d10-8ebe-8ac87ddba5b8", "type": "eni", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-abcd1234" }, { "name": "networkInterfaceId", "value": "eni-abcd1234" }, { "name": "macAddress", "value": "0a:98:eb:a7:29:ba" }, { "name": "privateIPv4Address", "value": "10.0.0.139" } ] } ], "availabilityZone": "us-west-2c", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/FargateCluster", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:111122223333:container/cf159fd6-3e3f-4a9e-84f9-66cbe726af01", "lastStatus": "RUNNING", "name": "FargateApp", "image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/hello-repository:latest", "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6", "runtimeId": "ad64cbc71c7fb31c55507ec24c9f77947132b03d48d9961115cf24f3b7307e1e", "taskArn": "arn:aws:ecs:us-west-2:111122223333:task/FargateCluster/c13b4cb40f1f4fe4a2971f76ae5a47ad", "networkInterfaces": [ { "attachmentId": "1789bcae-ddfb-4d10-8ebe-8ac87ddba5b8", "privateIpv4Address": "10.0.0.139" } ], "cpu": "0" } ], "createdAt": "2020-01-23T17:57:34.402Z", "launchType": "FARGATE", "cpu": "256", "memory": "512", "desiredStatus": "RUNNING", "group": "family:sample-fargate", "lastStatus": "RUNNING", "overrides": { "containerOverrides": [ { "name": "FargateApp" } ] }, "connectivity": "CONNECTED", "connectivityAt": "2020-01-23T17:57:38.453Z", "pullStartedAt": "2020-01-23T17:57:52.103Z", "startedAt": "2020-01-23T17:57:58.103Z", "pullStoppedAt": "2020-01-23T17:57:55.103Z", "updatedAt": "2020-01-23T17:57:58.103Z", "taskArn": "arn:aws:ecs:us-west-2:111122223333:task/FargateCluster/c13b4cb40f1f4fe4a2971f76ae5a47ad", "taskDefinitionArn": "arn:aws:ecs:us-west-2:111122223333:task-definition/sample-fargate:1", "version": 4, "platformVersion": "1.3.0" } }