Introspektion von ECS Amazon-Containern - Amazon Elastic Container Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Introspektion von ECS Amazon-Containern

Der ECS Amazon-Container-Agent bietet einen API Vorgang zum Sammeln von Details über die Container-Instance, auf der der Agent ausgeführt wird, und über die zugehörigen Aufgaben, die auf dieser Instance ausgeführt werden. Sie können den curl Befehl innerhalb der Container-Instance verwenden, um den ECS Amazon-Container-Agenten (Port 51678) abzufragen und Container-Instance-Metadaten oder Aufgabeninformationen zurückzugeben.

Wichtig

Ihre Container-Instance muss über eine IAM Rolle verfügen, die den Zugriff ECS auf Amazon ermöglicht, um die Metadaten abzurufen. Weitere Informationen finden Sie unter ECSIAMAmazon-Container-Instance-Rolle.

Um die Metadaten der Container-Instance anzuzeigen, melden Sie sich bei Ihrer Container-Instance an SSH und führen Sie den folgenden Befehl aus. Zu den Metadaten gehören die Container-Instance-ID, der ECS Amazon-Cluster, in dem die Container-Instance registriert ist, und die Versionsinformationen des ECS Amazon-Container-Agenten.

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

Ausgabe:

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

Um Informationen zu allen Aufgaben anzuzeigen, die auf einer Container-Instance ausgeführt werden, melden Sie sich über bei Ihrer Container-Instance an SSH und führen Sie den folgenden Befehl aus:

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

Ausgabe:

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

Sie können Informationen zu einer bestimmten Aufgabe, die auf einer Container-Instance ausgeführt wird, abrufen. Um eine spezifische Aufgabe oder einen Container zu bestimmen, fügen Sie der Anfrage Folgendes hinzu:

  • Die Aufgabe ARN (?taskarn=task_arn)

  • Die Docker-ID für einen Container (?dockerid=docker_id)

Um Aufgabeninformationen mit der Docker-ID eines Containers abzurufen, melden Sie sich bei Ihrer Container-Instance an SSH und führen Sie den folgenden Befehl aus.

Anmerkung

ECSAmazon-Container-Agenten vor Version 1.14.2 benötigen IDs für die Introspektion den vollständigen Docker-ContainerAPI, nicht die Kurzversion, die mit angezeigt wird. docker ps Sie können die komplette Docker-ID für einen Container abrufen, indem Sie den Befehl docker ps --no-trunc auf der Container-Instance ausführen.

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

Ausgabe:

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