Formato do arquivo de metadados de contêiner do Amazon ECS - Amazon Elastic Container Service

Formato do arquivo de metadados de contêiner do Amazon ECS

As informações a seguir são armazenadas no arquivo JSON dos metadados de contêiner.

Cluster

O nome do cluster onde a tarefa do contêiner está sendo executada.

ContainerInstanceARN

O nome de recurso da Amazon (ARN) da instância de contêiner do host.

TaskARN

O nome de recurso da Amazon (ARN) da tarefa à qual o contêiner pertence.

TaskDefinitionFamily

O nome da família de definições de tarefa que o contêiner está usando.

TaskDefinitionRevision

A revisão de definição de tarefa que o contêiner está usando.

ContainerID

O ID do contêiner do Docker (e não o ID do contêiner do Amazon ECS) para o contêiner.

ContainerName

O nome do contêiner da definição de tarefa do Amazon ECS para o contêiner.

DockerContainerName

O nome do contêiner que o daemon do Docker usa para o contêiner (por exemplo, o nome que aparece no resultado do comando docker ps).

ImageID

O resumo SHA para a imagem do Docker usada para iniciar o contêiner.

ImageName

O nome da imagem e a tag para a imagem do Docker usada para iniciar o contêiner.

PortMappings

Todos os mapeamentos de porta associados ao contêiner.

ContainerPort

A porta no contêiner que é exposto.

HostPort

A porta na instância de contêiner do host que é exposto.

BindIp

O endereço IP associado atribuído ao contêiner pelo Docker. Esse endereço IP só é aplicado com o modo de rede bridge e só pode ser acessado pela instância de contêiner.

Protocol

O protocolo de rede usado para o mapeamento da porta.

Networks

O modo de rede e o endereço IP do contêiner.

NetworkMode

O modo de rede da tarefa à qual o contêiner pertence.

IPv4Addresses

Os endereços IP associados ao contêiner.

Importante

Se a sua tarefa estiver usando o modo de rede awsvpc, o endereço IP do contêiner não será retornado. Nesse caso, você pode recuperar o endereço IP lendo o arquivo /etc/hosts com o seguinte comando:

tail -1 /etc/hosts | awk '{print $1}'
MetadataFileStatus

O status do arquivo de metadados. Quando o status for READY, o arquivo de metadados estará atualizado e concluído. Se o arquivo ainda não estiver pronto (por exemplo, no momento em que a tarefa é iniciada), uma versão truncada do formato de arquivo estará disponível. Para evitar uma provável condição de corrida na qual o contêiner foi iniciado, mas os metadados ainda não foram criados, você pode analisar o arquivo de metadados e aguardar até que esse parâmetro seja definido como READY antes, dependendo dos metadados. Isso geralmente fica disponível menos de 1 segundo depois que o contêiner é iniciado.

AvailabilityZone

A zona de disponibilidade na qual a instância de contêiner do host reside.

HostPrivateIPv4Address

O endereço IP privado da tarefa à qual o contêiner pertence.

HostPublicIPv4Address

O endereço IP público da tarefa à qual o contêiner pertence.

exemplo Arquivo de metadados do contêiner do Amazon ECS (READY)

O exemplo a seguir mostra um arquivo de metadados do contêiner com status READY.

{ "Cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "TaskARN":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15", "Family":"curltest-container", "Revision":"2", "DesiredStatus":"RUNNING", "KnownStatus":"RUNNING", "Limits": { "CPU":0.25, "Memory":512 }, "PullStartedAt":"2025-01-17T20:56:17.394610044Z", "PullStoppedAt":"2025-01-17T20:56:25.282708213Z", "AvailabilityZone":"us-east-1b", "LaunchType":"FARGATE", "Containers":[ { "DockerId":"b593651c4d6b44a6b2b583f45c957e15-3356213583", "Name":"curltest","DockerName":"curltest", "Image":"public.ecr.aws/amazonlinux/amazonlinux:latest", "ImageID":"sha256:7f371357694782356b65c7fd60dd1ca124c47bd5ed1b1ffe7c0e17f562898367", "Labels": { "com.amazonaws.ecs.cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "com.amazonaws.ecs.container-name":"curltest", "com.amazonaws.ecs.task-arn":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15", "com.amazonaws.ecs.task-definition-family":"curltest-container","com.amazonaws.ecs.task-definition-version":"2" }, "DesiredStatus":"RUNNING", "KnownStatus":"RUNNING", "Limits": { "CPU":2 }, "CreatedAt":"2025-01-17T20:56:26.180347056Z", "StartedAt":"2025-01-17T20:56:26.180347056Z", "Type":"NORMAL", "LogDriver":"awslogs", "LogOptions": { "awslogs-create-group":"true", "awslogs-group":"/ecs/curltest-container", "awslogs-region":"us-east-1", "awslogs-stream":"ecs/curltest/b593651c4d6b44a6b2b583f45c957e15" }, "ContainerARN":"arn:aws:ecs:us-east-1:123456789012:container/MyCluster/b593651c4d6b44a6b2b583f45c957e15/934575e8-5bdb-478f-b763-2341a85b690e", "Networks":[ { "NetworkMode":"awsvpc", "IPv4Addresses":["10.0.1.58"] } ], "Snapshotter":"overlayfs" } ], "ClockDrift": { "ClockErrorBound":0.487801,"ReferenceTimestamp":"2025-01-17T20:56:02Z", "ClockSynchronizationStatus":"SYNCHRONIZED" }, "FaultInjectionEnabled":false }
exemplo Arquivo incompleto de metadados do contêiner do Amazon ECS (ainda não READY)

O exemplo a seguir mostra um arquivo de metadados de contêiner que ainda não atingiu o status READY. As informações no arquivo são limitadas a alguns parâmetros conhecidos da definição de tarefa. O arquivo de metadados do contêiner deve estar pronto em até 1 segundo após o contêiner ser iniciado.

{ "Cluster": "default", "ContainerInstanceARN": "arn:aws:ecs:us-west-2:012345678910:container-instance/default/1f73d099-b914-411c-a9ff-81633b7741dd", "TaskARN": "arn:aws:ecs:us-west-2:012345678910:task/default/d90675f8-1a98-444b-805b-3d9cabb6fcd4", "ContainerName": "metadata" }