Versión 2 del punto de conexión de los metadatos de tareas de Amazon ECS
importante
El punto de conexión de la versión 2 de los metadatos de la tarea ya no se mantiene activamente. Le recomendamos que actualice el punto de conexión de metadatos de la tarea versión 4 para obtener la información más reciente del punto de conexión de metadatos. Para obtener más información, consulte Versión 4 del punto de conexión de metadatos de tareas de Amazon ECS.
A partir de la versión 1.17.0 del agente de contenedor de Amazon ECS, están disponibles diversos metadatos de tarea y estadísticas de Dockerawsvpc
en un punto de enlace HTTP proporcionado por el agente de contenedor de Amazon ECS.
Todos los contenedores que pertenecen a las tareas que se lanzaron con el modo de red awsvpc
reciben una dirección IPv4 local dentro de un rango de direcciones local de enlace predefinido. Cuando un contenedor consulta el punto de enlace de metadatos, el agente de contenedor de Amazon ECS determina a qué tarea pertenece el contenedor en función de su dirección IP única y de los metadatos y estadísticas que se muestran para dicha tarea.
Habilitación de metadatos de tareas
La característica de versión 2 de metadatos de tarea está habilitada de forma predeterminada para lo siguiente:
-
Tareas que utilizan el tipo de lanzamiento de Fargate que utiliza la versión 1.1.0 de la plataforma o una posterior. Para obtener más información, consulte Versiones de la plataforma Fargate para Amazon ECS.
-
Tareas que utilizan el tipo de lanzamiento de EC2 y que también utilizan el modo de red
awsvpc
y se lanzan en una infraestructura de Linux de Amazon EC2 que ejecuta la versión 1.17.0 del agente de contenedor de Amazon ECS como mínimo o en una infraestructura de Windows de Amazon EC2 que ejecuta la versión1.54.0
del agente de contenedor de Amazon ECS como mínimo. Para obtener más información, consulte Administración de instancias de contenedor de Linux de Amazon ECS.
Puede añadir soporte para esta característica en instancias de contenedor anteriores actualizando el agente a la versión más reciente. Para obtener más información, consulte Actualización del agente de contenedor de Amazon ECS.
Rutas de punto de enlace de metadatos de tareas
Los siguientes puntos de enlace de API están disponibles para los contenedores:
169.254.170.2/v2/metadata
-
Este punto de enlace devuelve metadatos JSON para la tarea, incluida una lista de los nombres e ID del contenedor de todos los contenedores asociados con la tarea. Para obtener más información sobre la respuesta de este punto de enlace, consulte Respuesta JSON de metadatos de tareas.
169.254.170.2/v2/metadata/
<container-id>
-
Este punto de enlace devuelve metadatos JSON para el ID de contenedor de Docker especificado.
169.254.170.2/v2/metadata/taskWithTags
-
Esta ruta muestra los metadatos de la tarea incluidos en el punto de enlace
/task
, además de en las etiquetas de las instancias de contenedor y las tareas que se pueden recuperar mediante la APIListTagsForResource
. 169.254.170.2/v2/stats
-
Este punto de enlace devuelve JSON de estadísticas de Docker de todos los contenedores asociados con la tarea. Para obtener más información acerca de cada una de las estadísticas devueltas, consulte ContainerStats
en la documentación del API de Docker. 169.254.170.2/v2/stats/
<container-id>
-
Este punto de enlace devuelve JSON de estadísticas de Docker para el ID de contenedor de Docker especificado. Para obtener más información acerca de cada una de las estadísticas devueltas, consulte ContainerStats
en la documentación del API de Docker.
Respuesta JSON de metadatos de tareas
La siguiente información se devuelve desde la respuesta de JSON (169.254.170.2/v2/metadata
) de punto de enlace de metadatos de tarea.
Cluster
-
El nombre de recurso de Amazon (ARN) o el nombre corto del clúster de Amazon ECS al que pertenece la tarea.
TaskARN
-
Nombre de recurso de Amazon (ARN) de la tarea al que pertenece el contenedor.
Family
-
La familia de la definición de tareas de Amazon ECS para la tarea.
Revision
-
La revisión de la definición de tareas de Amazon ECS para la tarea.
DesiredStatus
-
El estado deseado para la tarea de Amazon ECS.
KnownStatus
-
El estado conocido para la tarea de Amazon ECS.
Limits
-
Los límites de recursos especificados en el nivel de tarea, por ejemplo, CPU (expresado en vCPU) y memoria. Este parámetro se omite si no se definen límites de recurso.
PullStartedAt
-
La marca temporal del momento en que comenzó la primera extracción de la imagen del contenedor.
PullStoppedAt
-
La marca temporal del momento en que finalizó la última extracción de la imagen del contenedor.
AvailabilityZone
-
La zona de disponibilidad donde está la tarea.
nota
Los metadatos de la zona de disponibilidad solo están disponibles para las tareas de Fargate que utilicen la versión 1.4 o posterior (Linux) o 1.0.0 o posterior (Windows) de la plataforma.
Containers
-
Una lista de metadatos de contenedor para cada contenedor asociado con la tarea.
DockerId
-
El ID de Docker para el contenedor.
Name
-
El nombre del contenedor tal y como se especifica en la definición de tarea.
DockerName
-
El nombre del contenedor suministrado a Docker. El agente de contenedor de Amazon ECS genera un nombre único para el contenedor a fin de evitar conflictos de nombre cuando se ejecutan en una sola instancia varias copias de la misma definición de tareas.
Image
-
La imagen para el contenedor.
ImageID
-
El resumen SHA-256 para la imagen.
Ports
-
Los puertos expuestos para el contenedor. Este parámetro se omite si no hay puertos expuestos.
Labels
-
Cualquier etiqueta aplicada al contenedor. Este parámetro se omite si no hay etiquetas aplicadas.
DesiredStatus
-
El estado deseado para el contenedor procedente de Amazon ECS.
KnownStatus
-
El estado conocido para el contenedor procedente de Amazon ECS.
ExitCode
-
El código de salida para el contenedor. Este parámetro se omite si el contenedor no ha salido.
Limits
-
Los límites de recursos especificados en el nivel de contenedor, por ejemplo, CPU (expresado en unidades de CPU) y memoria. Este parámetro se omite si no se definen límites de recurso.
CreatedAt
-
La marca de hora para cuando el contenedor se creó. Este parámetro se omite si el contenedor no ha se ha creado aún.
StartedAt
-
La marca de hora para cuando el contenedor se inició. Este parámetro se omite si el contenedor no ha se ha iniciado aún.
FinishedAt
-
La marca de hora para cuando el contenedor se detuvo. Este parámetro se omite si el contenedor no ha se ha detenido aún.
Type
-
El tipo del contenedor. Los contenedores que se especifican en su definición de tarea son de tipo
NORMAL
. Puede hacer caso omiso de otros tipos de contenedores que utiliza el agente de contenedor de Amazon ECS para el aprovisionamiento de recursos para tareas internas. Networks
-
La información de red del contenedor, como la dirección IP y el modo de red. Este parámetro se omite si no se define ninguna información de red.
ClockDrift
-
La información sobre la diferencia entre la hora de referencia y la hora del sistema. Esto se aplica al sistema operativo Linux. Esta capacidad utiliza el Servicio de sincronización temporal de Amazon para medir la precisión del reloj y proporcionar el límite de error de reloj de los contenedores. Para más información, consulte Set the time for your Linux instance en la Guía del usuario de Amazon EC2 para instancias de Linux.
ReferenceTime
-
La base de la precisión del reloj. Amazon ECS utiliza el estándar global de hora universal coordinada (UTC) a través de NTP, por ejemplo
2021-09-07T16:57:44Z
. ClockErrorBound
-
La medida del error de reloj, definida como el desplazamiento a UTC. Este error es la diferencia en milisegundos entre la hora de referencia y la hora del sistema.
ClockSynchronizationStatus
-
Indica si el intento de sincronización más reciente entre la hora del sistema y la hora de referencia se ha realizado correctamente.
Los valores válidos son
SYNCHRONIZED
yNOT_SYNCHRONIZED
.
ExecutionStoppedAt
-
La marca temporal para cuando el
DesiredStatus
de la tarea pasó aSTOPPED
. Esto ocurre cuando un contenedor esencial pasa aSTOPPED
.
Ejemplo de respuesta de metadatos de las tareas
La siguiente respuesta JSON es para una tarea de contenedor único.
{ "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" }