Aufgabenmetadaten-Endpunkt Version 3 - Amazon ECS

Aufgabenmetadaten-Endpunkt Version 3

Wichtig

Wenn Sie Amazon ECS-Aufgaben verwenden, die auf Amazon-EC2-Instances gehostet werden, finden Sie weitere Informationen unter Amazon ECS – Endpunkt für Aufgabenmetadaten im Amazon Elastic Container Service-Entwicklerhandbuch.

Ab Fargate-Plattformversion 1.1.0 wird in jeden Container einer Aufgabe eine Umgebungsvariable mit dem Namen ECS_CONTAINER_METADATA_URI eingeschleust. Wenn Sie den Endpunkt der Aufgaben-Metadaten Version 3 abfragen, stehen für die Aufgaben verschiedene Aufgaben-Metadaten und Docker Statistiken zur Verfügung.

Aktivieren von Aufgabenmetadaten

Der Aufgabenmetadaten-Endpunkt ist standardmäßig für alle Amazon ECS-Aufgaben aktiviert, die auf Fargate gehostet werden und die Plattformversion 1.1.0 oder höher verwenden. Weitere Informationen finden Sie unter AWS Fargate-Plattformversionen.

Endpunktpfade für Aufgabenmetadaten

Die folgenden API-Endpunkte sind für Container verfügbar:

${ECS_CONTAINER_METADATA_URI}

Dieser Pfad gibt JSON-Metadaten für den Container zurück.

${ECS_CONTAINER_METADATA_URI}/task

Dieser Pfad gibt JSON-Metadaten für die Aufgabe zurück, einschließlich einer Liste der Container-IDs und Namen für alle Container, die der Aufgabe zugeordnet sind. Weitere Informationen zu der Antwort für diesen Endpunkt finden Sie unter Aufgabenmetadaten-JSON-Antwort.

${ECS_CONTAINER_METADATA_URI}/stats

Dieser Pfad gibt JSON-Docker-Statistiken für die angegebene Docker-Container-ID zurück. Weitere Informationen zu den einzelnen zurückgegebenen Statistiken finden Sie unter ContainerStats in der Docker API-Dokumentation.

${ECS_CONTAINER_METADATA_URI}/task/stats

Dieser Pfad gibt JSON-Docker-Statistiken für alle der Aufgabe zugeordneten Container zurück. Weitere Informationen zu den einzelnen zurückgegebenen Statistiken finden Sie unter ContainerStats in der Docker API-Dokumentation.

Aufgabenmetadaten-JSON-Antwort

Die folgenden Informationen werden von der JSON-Antwort des Endpunkts für Aufgabenmetadaten (${ECS_CONTAINER_METADATA_URI}/task) zurückgegeben.

Cluster

Der Amazon-Ressourcenname (ARN) oder kurzer Name des Amazon ECS-Clusters, zu dem die Aufgabe gehört.

TaskARN

Der vollständige Amazon-Ressourcenname (ARN) der Aufgabe, zu der der Container gehört

Family

Die Familie der Amazon ECS-Aufgabendefinition für die Aufgabe.

Revision

Die Revision der Amazon ECS-Aufgabendefinition für die Aufgabe.

DesiredStatus

Der gewünschte Status der Aufgabe von Amazon ECS.

KnownStatus

Der bekannte Status der Aufgabe von Amazon ECS.

Limits

Die Ressourcenbegrenzungen, die auf Aufgabenebene angegeben sind (z. B. CPU- und Speicherauslastung). Dieser Parameter wird ausgelassen, wenn keine Ressourcenbegrenzungen festgelegt wurden.

PullStartedAt

Der Zeitstempel für den Zeitpunkt, an dem der erste Abruf des Container-Abbilds gestartet wurde

PullStoppedAt

Der Zeitstempel für den Zeitpunkt, an dem der letzte Abruf des Container-Abbilds abgeschlossen wurde

AvailabilityZone

Die Availability Zone, in der sich die Aufgabe befindet.

Anmerkung

Die Availability-Zone-Metadaten sind nur für Fargate-Aufgaben verfügbar, die Plattform Version 1.4 oder höher (Linux) oder 1.0.0 oder höher (Windows) verwenden.

Containers

Eine Liste der Container-Metadaten für jeden Container, der der Aufgabe zugeordnet ist

DockerId

Die Docker-ID des Containers

Name

Der Name des Containers, wie er in der Aufgabendefinition festgelegt ist

DockerName

Der Name des Containers, der vom Docker bereitgestellt wird. Der Amazon ECS-Containeragent generiert einen eindeutigen Namen für den Container, um Namensüberschneidungen zu vermeiden, wenn mehrere Kopien derselben Aufgabendefinition auf einer einzelnen Instance ausgeführt werden.

Image

Das Abbild für den Container

ImageID

Der SHA-256-Digest für das Abbild

Ports

Alle für den Container zugänglichen Ports. Dieser Parameter wird ausgelassen, wenn keine zugänglichen Ports verfügbar sind.

Labels

Alle auf den Container angewendeten Kennungen. Dieser Parameter wird ausgelassen, wenn keine angewendeten Kennungen verfügbar sind.

DesiredStatus

Der gewünschte Status des Containers von Amazon ECS.

KnownStatus

Der bekannte Status des Containers von Amazon ECS.

ExitCode

Der Beendigungscode für den Container. Dieser Parameter wird ausgelassen, wenn der Container nicht beendet wurde.

Limits

Die Ressourcenbegrenzungen, die auf Container-Ebene angegeben sind (z. B. CPU- und Speicherauslastung). Dieser Parameter wird ausgelassen, wenn keine Ressourcenbegrenzungen festgelegt wurden.

CreatedAt

Der Zeitstempel des Zeitpunkts, an dem der Container erstellt wurde. Dieser Parameter wird ausgelassen, wenn der Container noch nicht erstellt wurde.

StartedAt

Der Zeitstempel des Zeitpunkts, an dem der Container gestartet wurde. Dieser Parameter wird ausgelassen, wenn der Container noch nicht gestartet wurde.

FinishedAt

Der Zeitstempel des Zeitpunkts, an dem der Container angehalten wurde. Dieser Parameter wird ausgelassen, wenn der Container noch nicht angehalten wurde.

Type

Der Typ des Containers. Container, die in der Aufgabendefinition festgelegt sind, haben den Typ NORMAL. Sie können andere Containertypen ignorieren, die für die interne Bereitstellung von Aufgabenressourcen durch den Amazon ECS-Containeragenten verwendet werden.

Networks

Die Netzwerkinformationen für den Container, wie Netzwerkmodus und IP-Adresse. Dieser Parameter wird ausgelassen, wenn keine Netzwerkinformationen definiert sind.

ClockDrift

Die Informationen über den Unterschied zwischen der Referenzzeit und der Systemzeit. Dies gilt für das Linux-Betriebssystem.

ReferenceTime

Die Grundlage der Taktgenauigkeit. Amazon ECS verwendet beispielsweise den globalen Standard Coordinated Universal Time (UTC) über NTP, z. B. 2021-09-07T16:57:44Z.

ClockErrorBound

Das Maß des Taktfehlers, definiert als Abweichung zu UTC. Dieser Fehler ist der Unterschied in Millisekunden zwischen der Referenzzeit und der Systemzeit.

ClockSynchronizationStatus

Gibt an, ob der letzte Synchronisierungsversuch zwischen der Systemzeit und der Referenzzeit erfolgreich war.

Die gültigen Werte sind SYNCHRONIZED und NOT_SYNCHRONIZED.

ExecutionStoppedAt

Der Zeitstempel des Zeitpunkts, an dem der DesiredStatus der Aufgaben zu STOPPED gewechselt hat. Dies tritt auf, wenn ein entscheidender Container zu wechselt STOPPED.

Beispiel für eine Aufgabenmetadatenantwort

Die folgende JSON-Antwort ist für eine Aufgabe mit einem Container.

{ "Cluster": "default", "TaskARN": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3", "Family": "nginx", "Revision": "5", "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Containers": [ { "DockerId": "731a0d6a3b4210e2448339bc7015aaa79bfe4fa256384f4102db86ef94cbbc4c", "Name": "~internal~ecs~pause", "DockerName": "ecs-nginx-5-internalecspause-acc699c0cbf2d6d11700", "Image": "amazon/amazon-ecs-pause:0.1.0", "ImageID": "", "Labels": { "com.amazonaws.ecs.cluster": "default", "com.amazonaws.ecs.container-name": "~internal~ecs~pause", "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3", "com.amazonaws.ecs.task-definition-family": "nginx", "com.amazonaws.ecs.task-definition-version": "5" }, "DesiredStatus": "RESOURCES_PROVISIONED", "KnownStatus": "RESOURCES_PROVISIONED", "Limits": { "CPU": 0, "Memory": 0 }, "CreatedAt": "2018-02-01T20:55:08.366329616Z", "StartedAt": "2018-02-01T20:55:09.058354915Z", "Type": "CNI_PAUSE", "Networks": [ { "NetworkMode": "awsvpc", "IPv4Addresses": [ "10.0.2.106" ] } ] }, { "DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946", "Name": "nginx-curl", "DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901", "Image": "nrdlngr/nginx-curl", "ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165", "Labels": { "com.amazonaws.ecs.cluster": "default", "com.amazonaws.ecs.container-name": "nginx-curl", "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3", "com.amazonaws.ecs.task-definition-family": "nginx", "com.amazonaws.ecs.task-definition-version": "5" }, "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Limits": { "CPU": 512, "Memory": 512 }, "CreatedAt": "2018-02-01T20:55:10.554941919Z", "StartedAt": "2018-02-01T20:55:11.064236631Z", "Type": "NORMAL", "Networks": [ { "NetworkMode": "awsvpc", "IPv4Addresses": [ "10.0.2.106" ] } ] } ], "PullStartedAt": "2018-02-01T20:55:09.372495529Z", "PullStoppedAt": "2018-02-01T20:55:10.552018345Z", "AvailabilityZone": "us-east-2b" }