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
StartTask
RunTask
, ouStopTask
API, directement ou avec le AWS Management Console AWS CLI, ou SDKs. -
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 EC2 lancement Amazon, 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 deRUNNING
àSTOPPED
.
- Vous forcez le désenregistrement de l'instance de conteneur sous-jacente à l'aide de l'opération
DeregisterContainerInstance
API et de l'force
indicateur, soit directement, soit avec le ou. AWS Management Console SDKs -
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. Notez ce qui suit à propos des champs :
-
L'état de santé de l'événement n'est pas disponible dans l'événement de changement d'état de la tâche. Si vous avez besoin de l'état de santé des tâches, vous pouvez exécuter describe-tasks.
-
Lorsque vos conteneurs utilisent une image hébergée par Amazon ECR, le
imageDigest
champ est renvoyé. -
Les valeurs des
updatedAt
champscreatedAt
,,connectivityAt
,pullStartedAt
startedAt
pullStoppedAt
, et sont des horodatages de chaînes ISO. -
La
detail-type
valeur est « Changement d'état de tâche ECS ». -
Lorsque l'événement est généré pour une tâche arrêtée, les
stoppedCode
champsstoppedReason
et fournissent des informations supplémentaires sur la raison pour laquelle la tâche s'est arrêtée (par exemple, « Initiée par l'utilisateur »).
Pour plus d'informations sur EventBridge les paramètres, consultez les métadonnées des événements de AWS service dans Amazon EventBridge Events Reference.
Pour plus d'informations sur la configuration d'une règle d' EventBridge événement Amazon qui capture uniquement les événements de tâche lorsque l'exécution de la tâche a été interrompue en raison de la fermeture de l'un de ses conteneurs essentiels, voir Envoi d'alertes Amazon Simple Notification Service pour les événements d'arrêt des tâches Amazon ECS
{
"version": "0",
"id": "105f6bb1-4da6-c630-4965-35383018cbca",
"detail-type": "ECS Task State Change",
"source": "aws.ecs",
"account": "123456789012",
"time": "2025-05-06T11:02:34Z",
"region": "us-east-1",
"resources": [
"arn:aws:ecs:us-east-1:123456789012:task/example-cluster/a1173316d40a45dea9"
],
"detail": {
"attachments": [
{
"id": "fe3a9a46-6a47-40ee-afd9-7952ae90a75a",
"type": "eni",
"status": "ATTACHED",
"details": [
{
"name": "subnetId",
"value": "subnet-0d0eab1bb38d5ca64"
},
{
"name": "networkInterfaceId",
"value": "eni-0103a2f01bad57d71"
},
{
"name": "macAddress",
"value": "0e:50:d1:c1:77:81"
},
{
"name": "privateDnsName",
"value": "ip-10-0-1-163.ec2.internal"
},
{
"name": "privateIPv4Address",
"value": "10.0.1.163"
}
]
}
],
"attributes": [
{
"name": "ecs.cpu-architecture",
"value": "x86_64"
}
],
"availabilityZone": "us-east-1b",
"capacityProviderName": "FARGATE",
"clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster",
"connectivity": "CONNECTED",
"connectivityAt": "2025-05-06T11:02:17.19Z",
"containers": [
{
"containerArn": "arn:aws:ecs:us-east-1:123456789012:container/example-cluster/a1173316d40a45dea9/a0a99b87-baa8-4bf6-b9f1-a9a95917a635",
"lastStatus": "RUNNING",
"name": "web",
"image": "nginx",
"imageDigest": "sha256:c15da6c91de8d2f436196f3a768483ad32c258ed4e1beb3d367a27ed67253e66",
"runtimeId": "a1173316d40a45dea9-0265927825",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example-cluster/a1173316d40a45dea9",
"networkInterfaces": [
{
"attachmentId": "fe3a9a46-6a47-40ee-afd9-7952ae90a75a",
"privateIpv4Address": "10.0.1.163"
}
],
"cpu": "99",
"memory": "100"
},
{
"containerArn": "arn:aws:ecs:us-east-1:123456789012:container/example-cluster/a1173316d40a45dea9/a2010e2d-ba7c-4135-8b79-e0290ff3cd8c",
"lastStatus": "RUNNING",
"name": "aws-guardduty-agent-nm40lC",
"imageDigest": "sha256:bf9197abdf853607e5fa392b4f97ccdd6ca56dd179be3ce8849e552d96582ac8",
"runtimeId": "a1173316d40a45dea9-2098416933",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example-cluster/a1173316d40a45dea9",
"networkInterfaces": [
{
"attachmentId": "fe3a9a46-6a47-40ee-afd9-7952ae90a75a",
"privateIpv4Address": "10.0.1.163"
}
],
"cpu": "null"
},
{
"containerArn": "arn:aws:ecs:us-east-1:123456789012:container/example-cluster/a1173316d40a45dea9/dccf0ca2-d929-471f-a5c3-98006fd4379e",
"lastStatus": "RUNNING",
"name": "aws-otel-collector",
"image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.32.0",
"imageDigest": "sha256:7a1b3560655071bcacd66902c20ebe9a69470d5691fe3bd36baace7c2f3c4640",
"runtimeId": "a1173316d40a45dea9-4027662657",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example-cluster/a1173316d40a45dea9",
"networkInterfaces": [
{
"attachmentId": "fe3a9a46-6a47-40ee-afd9-7952ae90a75a",
"privateIpv4Address": "10.0.1.163"
}
],
"cpu": "0"
}
],
"cpu": "256",
"createdAt": "2025-05-06T11:02:13.877Z",
"desiredStatus": "RUNNING",
"enableExecuteCommand": false,
"ephemeralStorage": {
"sizeInGiB": 20
},
"group": "family:webserver",
"launchType": "FARGATE",
"lastStatus": "RUNNING",
"memory": "512",
"overrides": {
"containerOverrides": [
{
"name": "web"
},
{
"environment": [
{
"name": "CLUSTER_NAME",
"value": "example-cluster"
},
{
"name": "REGION",
"value": "us-east-1"
},
{
"name": "HOST_PROC",
"value": "/host_proc"
},
{
"name": "AGENT_RUNTIME_ENVIRONMENT",
"value": "ecsfargate"
},
{
"name": "STAGE",
"value": "prod"
}
],
"memory": 128,
"name": "aws-guardduty-agent-nm40lC"
},
{
"name": "aws-otel-collector"
}
]
},
"platformVersion": "1.4.0",
"pullStartedAt": "2025-05-06T11:02:24.162Z",
"pullStoppedAt": "2025-05-06T11:02:33.493Z",
"startedAt": "2025-05-06T11:02:34.325Z",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example-cluster/a1173316d40a45dea9",
"taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:5",
"updatedAt": "2025-05-06T11:02:34.325Z",
"version": 3
}
}
Voici un exemple d'événement de changement d'état de tâche pour le type de EC2 lancement.
{
"version": "0",
"id": "a65cf262-f104-0dd5-ceda-4b09ba71a441",
"detail-type": "ECS Task State Change",
"source": "aws.ecs",
"account": "123456789012",
"time": "2025-05-12T13:12:06Z",
"region": "us-east-1",
"resources": [
"arn:aws:ecs:us-east-1:123456789012:task/example/c1ffa94f19a540ed8d9f7e1d2a5d"
],
"detail": {
"attachments": [
{
"id": "52333e3b-b812-41a8-b057-9ed184bbe5e1",
"type": "eni",
"status": "ATTACHED",
"details": [
{
"name": "subnetId",
"value": "subnet-0d0eab1bb38d5ca64"
},
{
"name": "networkInterfaceId",
"value": "eni-0ea90f746500773a4"
},
{
"name": "macAddress",
"value": "0e:d5:9b:ce:49:fb"
},
{
"name": "privateDnsName",
"value": "ip-10-0-1-37.ec2.internal"
},
{
"name": "privateIPv4Address",
"value": "10.0.1.37"
}
]
}
],
"attributes": [
{
"name": "ecs.cpu-architecture",
"value": "x86_64"
}
],
"availabilityZone": "us-east-1b",
"capacityProviderName": "Infra-ECS-Cluster-example-fa84e0cc-AsgCapacityProvider-OseQJU9pizmp",
"clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example",
"connectivity": "CONNECTED",
"connectivityAt": "2025-05-12T13:11:44.98Z",
"containerInstanceArn": "arn:aws:ecs:us-east-1:123456789012:container-instance/example/d1d84798400f49f3b21cb61610c1e",
"containers": [
{
"containerArn": "arn:aws:ecs:us-east-1:123456789012:container/example/c1ffa94f19a540ed8d9f7e1d2a5d3626/197d0994-5367-4a6d-9f9a-f075e4a6",
"lastStatus": "RUNNING",
"name": "aws-otel-collector",
"image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.32.0",
"imageDigest": "sha256:7a1b3560655071bcacd66902c20ebe9a69470d5691fe3bd36baace7c2f3c4640",
"runtimeId": "8e926f0ccd8fe2b459926f49584ba6d33a3d9f61398dbabe944ee6a13a8ff3a1",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example/c1ffa94f19a540ed8d9f7e1d2a5d",
"networkInterfaces": [
{
"attachmentId": "52333e3b-b812-41a8-b057-9ed184bbe5e1",
"privateIpv4Address": "10.0.1.37"
}
],
"cpu": "0"
},
{
"containerArn": "arn:aws:ecs:us-east-1:123456789012:container/example/c1ffa94f19a540ed8d9f7e1d2a5d3626/cab39ef0-9c50-459d-844b-b9d51d73d",
"lastStatus": "RUNNING",
"name": "web",
"image": "nginx",
"imageDigest": "sha256:c15da6c91de8d2f436196f3a768483ad32c258ed4e1beb3d367a27ed67253e66",
"runtimeId": "9f1c73f0094f051541d9e5c2ab1e172d83c4eb5171bcc857c4504b02770ff3b8",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example/c1ffa94f19a540ed8d9f7e1d2a5d",
"networkInterfaces": [
{
"attachmentId": "52333e3b-b812-41a8-b057-9ed184bbe5e1",
"privateIpv4Address": "10.0.1.37"
}
],
"cpu": "99",
"memory": "100"
}
],
"cpu": "256",
"createdAt": "2025-05-12T13:11:44.98Z",
"desiredStatus": "RUNNING",
"enableExecuteCommand": false,
"group": "family:webserver",
"launchType": "EC2",
"lastStatus": "RUNNING",
"memory": "512",
"overrides": {
"containerOverrides": [
{
"name": "aws-otel-collector"
},
{
"name": "web"
}
]
},
"pullStartedAt": "2025-05-12T13:11:59.491Z",
"pullStoppedAt": "2025-05-12T13:12:05.896Z",
"startedAt": "2025-05-12T13:12:06.053Z",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/example/c1ffa94f19a540ed8d9f7e1d2a5d",
"taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver",
"updatedAt": "2025-05-12T13:12:06.053Z",
"version": 4
}
}