Événements de changement d’état d’une instance de conteneur Amazon ECS
Les scénarios suivants provoquent des événements de changement d'état d'instance de conteneur :
- Vous appelez les opérations d'API
StartTask,RunTaskouStopTaskdirectement ou avec la AWS Management Console ou les kits SDK. -
Le fait de placer ou d'arrêter des tâches sur une instance de conteneur a pour effet de modifier les ressources disponibles sur l'instance de conteneur, comme l'UC, la mémoire et les ports disponibles.
- Le planificateur de service Amazon ECS service démarre ou arrête une tâche.
-
Le fait de placer ou d'arrêter des tâches sur une instance de conteneur a pour effet de modifier les ressources disponibles sur l'instance de conteneur, comme l'UC, la mémoire et les ports disponibles.
- L'agent de conteneur Amazon ECS appelle l'opération d'API
SubmitTaskStateChangeavec un étatSTOPPEDpour une tâche ayant l'état souhaitéRUNNING. -
L'agent de conteneur Amazon ECS supervise l'état des tâches sur vos instances de conteneur, et il signale tout changement d'état. Si une tâche supposée être à l'état
RUNNINGpasse à l'étatSTOPPED, l'agent libère les ressources qui ont été allouées à la tâche arrêtée, comme l'UC, la mémoire et les ports disponibles. - Vous annulez l'enregistrement de l'instance de conteneur avec l'opération d'API
DeregisterContainerInstancedirectement ou avec la AWS Management Console ou les kits 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.
- Une tâche s'est arrêtée en même temps qu'une instance EC2.
-
Lorsque vous arrêtez une instance de conteneur, les tâches qui sont en cours d'exécution sur elle passe à l'état
STOPPED. - L'agent de conteneur Amazon ECS enregistre une instance de conteneur pour la première fois.
-
La première fois que l'agent de conteneur Amazon ECS enregistre une instance de conteneur (lors du lancement ou de la première exécution manuelle), cela crée un événement de changement d'état pour l'instance.
- L'agent de conteneur Amazon ECS se connecte à Amazon ECS ou s'en déconnecte.
-
Lorsque l'agent de conteneur Amazon ECS se connecte ou se déconnecte du backend Amazon ECS, il modifie l'état
agentConnectedde l'instance de conteneur.Note
L'agent de conteneur Amazon ECS se déconnecte et se reconnecte plusieurs fois par heure dans le cadre de son fonctionnement normal, si bien que des événements de connexion de l'agent sont prévisibles. Ces événements ne signifient pas qu'il existe un problème au niveau de l'agent de conteneur ou de votre instance de conteneur.
- Vous mettez à niveau l'agent de conteneur Amazon ECS sur une instance.
-
Le détail de l'instance de conteneur contient un objet pour la version de l'agent de conteneur. Si vous mettez à niveau l'agent, les informations de cette version changent et génèrent un événement.
Exemple Événement de changement d'état d'instance de conteneur
Les événements de changement d'état d'instance de conteneur sont remis dans le format suivant. La section detail ci-dessous est semblable à l'objet ContainerInstance qui est renvoyé par une opération d'API DescribeContainerInstances dans la Référence d'API Amazon Elastic Container Service. Pour plus d’informations sur les paramètres EventBridge, consultez la section Métadonnées des événements de service AWS dans le Guide de l’utilisateur Amazon EventBridge.
{
"version": "0",
"id": "8952ba83-7be2-4ab5-9c32-6687532d15a2",
"detail-type": "ECS Container Instance State Change",
"source": "aws.ecs",
"account": "111122223333",
"time": "2016-12-06T16:41:06Z",
"region": "us-east-1",
"resources": [
"arn:aws:ecs:us-east-1:111122223333:container-instance/b54a2a04-046f-4331-9d74-3f6d7f6ca315"
],
"detail": {
"agentConnected": true,
"attributes": [
{
"name": "com.amazonaws.ecs.capability.logging-driver.syslog"
},
{
"name": "com.amazonaws.ecs.capability.task-iam-role-network-host"
},
{
"name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
},
{
"name": "com.amazonaws.ecs.capability.logging-driver.json-file"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.17"
},
{
"name": "com.amazonaws.ecs.capability.privileged-container"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
},
{
"name": "com.amazonaws.ecs.capability.ecr-auth"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.20"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.22"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.23"
},
{
"name": "com.amazonaws.ecs.capability.task-iam-role"
}
],
"clusterArn": "arn:aws:ecs:us-east-1:111122223333:cluster/default",
"containerInstanceArn": "arn:aws:ecs:us-east-1:111122223333:container-instance/b54a2a04-046f-4331-9d74-3f6d7f6ca315",
"ec2InstanceId": "i-f3a8506b",
"registeredResources": [
{
"name": "CPU",
"type": "INTEGER",
"integerValue": 2048
},
{
"name": "MEMORY",
"type": "INTEGER",
"integerValue": 3767
},
{
"name": "PORTS",
"type": "STRINGSET",
"stringSetValue": [
"22",
"2376",
"2375",
"51678",
"51679"
]
},
{
"name": "PORTS_UDP",
"type": "STRINGSET",
"stringSetValue": []
}
],
"remainingResources": [
{
"name": "CPU",
"type": "INTEGER",
"integerValue": 1988
},
{
"name": "MEMORY",
"type": "INTEGER",
"integerValue": 767
},
{
"name": "PORTS",
"type": "STRINGSET",
"stringSetValue": [
"22",
"2376",
"2375",
"51678",
"51679"
]
},
{
"name": "PORTS_UDP",
"type": "STRINGSET",
"stringSetValue": []
}
],
"status": "ACTIVE",
"version": 14801,
"versionInfo": {
"agentHash": "aebcbca",
"agentVersion": "1.13.0",
"dockerVersion": "DockerVersion: 1.11.2"
},
"updatedAt": "2016-12-06T16:41:06.991Z"
}
}