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": "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/2b88376d-aba3-4950-9ddf-bcb0f388a40c", "TaskDefinitionFamily": "console-sample-app-static", "TaskDefinitionRevision": "1", "ContainerID": "aec2557997f4eed9b280c2efd7afccdcedfda4ac399f7480cae870cfc7e163fd", "ContainerName": "simple-app", "CreatedAt": "2023-10-08T20:09:11.44527186Z", "StartedAt": "2023-10-08T20:09:11.44527186Z", "DockerContainerName": "/ecs-console-sample-app-static-1-simple-app-e4e8e495e8baa5de1a00", "ImageID": "sha256:2ae34abc2ed0a22e280d17e13f9c01aaf725688b09b7a1525d1a2750e2c0d1de", "ImageName": "httpd:2.4", "PortMappings": [ { "ContainerPort": 80, "HostPort": 80, "BindIp": "0.0.0.0", "Protocol": "tcp" } ], "Networks": [ { "NetworkMode": "bridge", "IPv4Addresses": ["192.0.2.0"] } ], "MetadataFileStatus": "READY", "AvailabilityZone": "us-east-1b", "HostPrivateIPv4Address": "192.0.2.0", "HostPublicIPv4Address": "203.0.113.0" }
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" }