Introspezione dei ECS container Amazon - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Introspezione dei ECS container Amazon

L'agente ECS container Amazon fornisce un'APIoperazione per raccogliere dettagli sull'istanza del contenitore su cui è in esecuzione l'agente e sulle attività associate in esecuzione su quell'istanza. Puoi utilizzare il curl comando dall'interno dell'istanza del contenitore per interrogare l'agente ECS container Amazon (porta 51678) e restituire i metadati dell'istanza del contenitore o le informazioni sull'attività.

Importante

L'istanza del contenitore deve avere un IAM ruolo che consenta l'accesso ad Amazon ECS per recuperare i metadati. Per ulteriori informazioni, consulta IAMRuolo dell'istanza di ECS container Amazon.

Per visualizzare i metadati dell'istanza del contenitore, accedi all'istanza del contenitore SSH ed esegui il comando seguente. I metadati includono l'ID dell'istanza del contenitore, il ECS cluster Amazon in cui è registrata l'istanza del contenitore e le informazioni sulla versione dell'agente del ECS contenitore Amazon.

curl -s http://localhost:51678/v1/metadata | python3 -mjson.tool

Output:

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

Per visualizzare informazioni su tutte le attività in esecuzione su un'istanza di contenitore, accedi all'istanza del contenitore SSH ed esegui il seguente comando:

curl http://localhost:51678/v1/tasks

Output:

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

Puoi visualizzare le informazioni per una determinata attività in esecuzione in un'istanza di container. Per specificare una determinata attività o uno specifico container, aggiungi uno dei seguenti elementi alla richiesta:

  • L'attività ARN (?taskarn=task_arn)

  • L'ID Docker per un container (?dockerid=docker_id)

Per ottenere informazioni sulle attività con l'ID Docker di un contenitore, accedi all'istanza del contenitore SSH ed esegui il comando seguente.

Nota

Gli agenti ECS container di Amazon precedenti alla versione 1.14.2 richiedono un contenitore Docker completo IDs per l'introspezioneAPI, non la versione breve con cui viene mostrata. docker ps Puoi ottenere l'ID Docker completo per un container eseguendo il comando docker ps --no-trunc nell'istanza di container.

curl http://localhost:51678/v1/tasks?dockerid=79c796ed2a7f

Output:

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