Introspection des ECS conteneurs Amazon - 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.

Introspection des ECS conteneurs Amazon

L'agent de ECS conteneur Amazon fournit une API opération permettant de recueillir des informations sur l'instance de conteneur sur laquelle l'agent est exécuté et sur les tâches associées exécutées sur cette instance. Vous pouvez utiliser la curl commande depuis l'instance de conteneur pour interroger l'agent de ECS conteneur Amazon (port 51678) et renvoyer des métadonnées ou des informations sur les tâches de l'instance de conteneur.

Important

Votre instance de conteneur doit avoir un IAM rôle qui autorise l'accès ECS à Amazon afin de récupérer les métadonnées. Pour de plus amples informations, veuillez consulter IAMRôle de l'instance de ECS conteneur Amazon.

Pour afficher les métadonnées d'une instance de conteneur, connectez-vous à votre instance de conteneur via SSH et exécutez la commande suivante. Les métadonnées incluent l'ID de l'instance de conteneur, le ECS cluster Amazon dans lequel l'instance de conteneur est enregistrée et les informations de version de l'agent de ECS conteneur Amazon.

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 des informations sur toutes les tâches 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 les tâches à l'aide de l'ID Docker d'un conteneur, connectez-vous à votre instance de conteneur via SSH et exécutez la commande suivante.

Note

Les agents de ECS conteneur Amazon antérieurs à la version 1.14.2 nécessitent un conteneur Docker complet IDs pour l'introspectionAPI, 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"
}