Aufgabenmetadaten-Endpunkt Version 3
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
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
undNOT_SYNCHRONIZED
.
ExecutionStoppedAt
-
Der Zeitstempel des Zeitpunkts, an dem der
DesiredStatus
der Aufgaben zuSTOPPED
gewechselt hat. Dies tritt auf, wenn ein entscheidender Container zu wechseltSTOPPED
.
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" }