Événements de modification de l'état des tâches Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Événements de modification de l'état des tâches Amazon ECS

Les scénarios suivants provoquent des événements de changement d'état de tâche :

Vous appelez les opérations d'API StartTask, RunTask ou StopTask directement ou avec AWS Management Console, la AWS CLI ou les kits SDK.

Le démarrage ou l'arrêt de tâches crée de nouvelles ressources de tâche ou modifie l'état des ressources de tâche existantes.

Le planificateur de service Amazon ECS service démarre ou arrête une tâche.

Le démarrage ou l'arrêt de tâches crée de nouvelles ressources de tâche ou modifie l'état des ressources de tâche existantes.

L'agent de conteneur Amazon ECS appelle l'opération d'API SubmitTaskStateChange.

Pour le type de lancement Amazon EC2, l'agent de conteneur Amazon ECS surveille l'état de vos tâches sur vos instances de conteneur. L'agent de conteneur Amazon ECS signale tout changement d'état. L'état peut notamment passer de PENDING à RUNNING ou de RUNNING à STOPPED.

Vous forcez le désenregistrement de l'instance de conteneur sous-jacente à l'aide de l'opération DeregisterContainerInstance API et de l'forceindicateur, soit directement, soit à l' AWS Management Console aide des SDK.

L'annulation de l'enregistrement d'une instance de conteneur modifie l'état de l'instance de conteneur et l'état de connexion de l'agent de conteneur Amazon ECS. Si les tâches sont en cours d'exécution sur l'instance de conteneur, l'indicateur force doit être défini pour permettre l'annulation de l'enregistrement. Cette action arrête toutes les tâches sur l'instance.

L'instance de conteneur sous-jacente est arrêtée ou résiliée.

Lorsque vous arrêtez ou résiliez une instance de conteneur, les tâches qui sont en cours d'exécution sur cette dernière passe à l'état STOPPED.

L'état du conteneur de la tâche est modifié.

L'agent de conteneur Amazon ECS supervise l'état des conteneurs dans les tâches. Par exemple, si un conteneur en cours d'exécution dans une tâche s'arrête, le changement d'état de ce dernier génère un événement.

Une tâche utilisant le fournisseur de capacité Fargate Spot reçoit un avis de résiliation.

Lorsqu'une tâche utilise le fournisseur de capacité FARGATE_SPOT et qu'elle est arrêtée en raison d'une interruption Spot, un événement de changement d'état de tâche est généré.

Exemple Événement de modification de l'état de la tâche

Les événements de changement d'état de tâche sont remis dans le format suivant. La detail section ci-dessous ressemble à l'objet Task renvoyé par une opération d'DescribeTasksAPI dans le Amazon Elastic Container Service API Reference. Si vos conteneurs utilisent une image hébergée avec Amazon ECR, le champ imageDigest est renvoyé.

Note

Les valeurs des champs createdAt, connectivityAt, pullStartedAt, startedAt, pullStoppedAt et updatedAt sont des horodatages UNIX dans la réponse d'une action DescribeTasks, mais sont des horodatages de chaîne ISO dans l'événement de changement d'état de tâche.

Pour plus d'informations sur les paramètres CloudWatch des événements, consultez la section Événements et modèles d'événements dans le guide de EventBridge l'utilisateur Amazon.

Pour plus d'informations sur la configuration et la configuration d'une règle d' EventBridge événement Amazon qui capture uniquement les événements de tâche lorsque la tâche a cessé de s'exécuter parce que l'un de ses conteneurs essentiels s'est arrêté, voir Envoi d'alertes Amazon Simple Notification Service pour les événements d'arrêt des tâches Amazon ECS

{ "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" } }