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.
Introspection des conteneurs Amazon ECS
L'agent de conteneur Amazon ECS fournit une opération API pour l'obtention d'informations sur l'instance de conteneur sur laquelle l'agent est exécuté et sur les tâches connexes elles aussi exécutées sur cette instance. Vous pouvez utiliser la commande curl à partir de l'instance de conteneur pour interroger l'agent de conteneur Amazon ECS (port 51678) et renvoyer des métadonnées d'instance de conteneur ou des informations sur les tâches.
Important
Votre instance de conteneur doit avoir un rôle IAM qui autorise l'accès à Amazon ECS afin de récupérer les métadonnées. Pour de plus amples informations, veuillez consulter Rôle IAM d'instance de conteneur Amazon ECS.
Pour afficher les métadonnées de l'instance de conteneur, connectez-vous à votre instance de conteneur via SSH et exécutez la commande suivante. Les métadonnées comprennent l'ID de l'instance de conteneur, le cluster Amazon ECS dans lequel l'instance de conteneur est enregistrée, ainsi que les informations de version de l'agent de conteneur Amazon ECS.
curl -s http://localhost:51678/v1/metadata | python3 -mjson.tool
Sortie :
{ "Cluster": "cluster_name
", "ContainerInstanceArn": "arn:aws:ecs:region
:aws_account_id
:container-instance/cluster_name
/container_instance_id
", "Version": "Amazon ECS Agent - v1.30.0 (02ff320c)" }
Pour afficher les informations sur toutes les tâches qui sont exécutées sur une instance de conteneur, connectez-vous à votre instance de conteneur via SSH et exécutez la commande suivante :
curl http://localhost:51678/v1/tasks
Sortie :
{ "Tasks": [ { "Arn": "arn:aws:ecs:us-west-2:012345678910:task/default/example5-58ff-46c9-ae05-543f8example", "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Family": "hello_world", "Version": "8", "Containers": [ { "DockerId": "9581a69a761a557fbfce1d0f6745e4af5b9dbfb86b6b2c5c4df156f1a5932ff1", "DockerName": "ecs-hello_world-8-mysql-fcae8ac8f9f1d89d8301", "Name": "mysql", "CreatedAt": "2023-10-08T20:09:11.44527186Z", "StartedAt": "2023-10-08T20:09:11.44527186Z", "ImageID": "sha256:2ae34abc2ed0a22e280d17e13f9c01aaf725688b09b7a1525d1a2750e2c0d1de" }, { "DockerId": "bf25c5c5b2d4dba68846c7236e75b6915e1e778d31611e3c6a06831e39814a15", "DockerName": "ecs-hello_world-8-wordpress-e8bfddf9b488dff36c00", "Name": "wordpress" } ] } ] }
Vous pouvez afficher les informations relatives à une tâche spécifique en cours d'exécution sur une instance de conteneur. Pour spécifier une tâche ou un conteneur spécifique, ajoutez un des éléments suivants à la demande :
-
La tâche ARN (
?taskarn=
)task_arn
-
L'ID Docker d'un conteneur (
?dockerid=
)docker_id
Pour obtenir des informations sur une tâche avec l'ID Docker d'un conteneur, connectez-vous à votre instance de conteneur via SSH et exécutez la commande suivante.
Note
Les agents de conteneur Amazon ECS antérieurs à la version 1.14.2 nécessitent un conteneur Docker complet IDs pour l'API d'introspection, et non la version courte présentée avec. docker ps Vous pouvez obtenir l'ID Docker complet d'un conteneur en exécutant la commande docker ps --no-trunc sur l'instance du conteneur.
curl http://localhost:51678/v1/tasks?dockerid=79c796ed2a7f
Sortie :
{ "Arn": "arn:aws:ecs:us-west-2:012345678910:task/default/e01d58a8-151b-40e8-bc01-22647b9ecfec", "Containers": [ { "DockerId": "79c796ed2a7f864f485c76f83f3165488097279d296a7c05bd5201a1c69b2920", "DockerName": "ecs-nginx-efs-2-nginx-9ac0808dd0afa495f001", "Name": "nginx", "CreatedAt": "2023-10-08T20:09:11.44527186Z", "StartedAt": "2023-10-08T20:09:11.44527186Z", "ImageID": "sha256:2ae34abc2ed0a22e280d17e13f9c01aaf725688b09b7a1525d1a2750e2c0d1de" } ], "DesiredStatus": "RUNNING", "Family": "nginx-efs", "KnownStatus": "RUNNING", "Version": "2" }