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 Amazon ECS-Containern
Der Amazon-ECS-Container-Agent bietet eine API-Operation für das Erfassen von Details über die Container-Instance, auf der der Agent ausgeführt wird, sowie über die zugewiesenen Aufgaben, die auf dieser Instance ausgeführt werden. Sie können den Befehl curl innerhalb der Container-Instance verwenden, um den Amazon-ECS-Container-Agenten abzufragen (Port 51678) und zu den Container-Instance-Metadaten oder -Aufgabeninformationen zurückzukehren.
Wichtig
Ihre Container-Instance muss über eine IAM-Rolle verfügen, die den Zugriff auf Amazon ECS erlaubt, um die Metadaten abzurufen. Weitere Informationen finden Sie unter IAM-Rolle für Amazon-ECS-Container-Instance.
Wenn Sie das Metadatenprotokoll der Container-Instance einsehen möchten, melden Sie sich über SSH bei Ihrer Container-Instance an und führen folgenden Befehl aus: Zu den Metadaten gehören die Container-Instance-ID, das Amazon-ECS-Cluster, in dem die Container-Instance registriert ist, und Informationen zur Amazon-ECS-Container-Agenten-Version.
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)" }
Wenn Sie Informationen über alle Aufgaben, die auf einer Container-Instance ausgeführt werden, einsehen möchten, melden Sie sich über SSH bei Ihrer Container-Instance an und führen 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:
-
Aufgaben-ARN (
?taskarn=
)task_arn
-
Die Docker-ID für einen Container (
?dockerid=
)docker_id
Um Aufgabeninformationen mit einer Docker-ID für Container abzurufen, melden Sie sich über SSH bei Ihrer Container-Instance an und führen folgenden Befehl aus.
Anmerkung
Amazon ECS-Container-Agenten vor Version 1.14.2 benötigen einen vollständigen Docker-Container IDs für die Introspection-API, 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" }