Amazon ECS コンテナメタデータファイル形式 - Amazon Elastic Container Service

Amazon ECS コンテナメタデータファイル形式

次の情報は、コンテナのメタデータ JSON ファイルに保存されます。

Cluster

コンテナのタスクが実行されているクラスターの名前。

ContainerInstanceARN

ホストコンテナインスタンスの完全な Amazon リソースネーム (ARN)。

TaskARN

コンテナが属しているタスクの完全な Amazon リソースネーム (ARN)。

TaskDefinitionFamily

コンテナで使用しているタスク定義ファミリーの名前。

TaskDefinitionRevision

コンテナが使用しているタスク定義リビジョン。

ContainerID

コンテナの Docker コンテナ ID (Amazon ECS コンテナの ID ではありません)。

ContainerName

コンテナ用の Amazon ECS タスク定義からのコンテナ名。

DockerContainerName

Docker デーモンがコンテナに使用するコンテナ名 (例えば、docker ps コマンドの出力に表示される名前)。

ImageID

コンテナの起動に使用される Docker イメージの SHA ダイジェスト。

ImageName

コンテナの起動に使用される Docker イメージのイメージ名とタグ。

PortMappings

コンテナに関連付けられているすべてのポートマッピング。

ContainerPort

公開されるコンテナのポート。

HostPort

公開されるホストコンテナインスタンスのポート。

BindIp

Docker によってコンテナに割り当てられたバインド IP アドレス。この IP アドレスは、bridge ネットワークモードでのみ適用され、コンテナインスタンスからのみアクセス可能です。

Protocol

ポートマッピングに使用されるネットワークプロトコル。

Networks

コンテナのネットワークモードと IP アドレス。

NetworkMode

コンテナが属するタスクのネットワークモード。

IPv4Addresses

コンテナに関連付けられた IP アドレス。

重要

タスクで awsvpc ネットワークモードを使用している場合、コンテナの IP アドレスは返されません。この場合は、次のコマンドを使用して /etc/hosts ファイルを読み取ることにより IP アドレスを取得できます。

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

メタデータファイルのステータス。ステータスが READY である場合、メタデータファイルは最新で完了済みです。ファイルがまだ準備できていない場合 (例えば、タスクが開始された時点)、切り捨てられたバージョンのファイル形式を使用できます。コンテナが開始されたが、メタデータがまだ書き込まれていないという競合状態が発生する可能性を回避するため、メタデータファイルを解析し、メタデータに基づいてこのパラメータが READY に設定されるのを待つことができます。これは通常、コンテナの開始から 1 秒未満で使用できます。

AvailabilityZone

ホストコンテナインスタンスが存在するアベイラビリティーゾーン。

HostPrivateIPv4Address

コンテナが属するタスクのプライベート IP アドレス。

HostPublicIPv4Address

コンテナが属するタスクのパブリック IP アドレス。

例 Amazon ECS コンテナメタデータファイル( READY )

次の例では、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 }
例 不完全な Amazon ECS コンテナメタデータファイル (まだ READY でない)

次の例では、まだ READY ステータスに達していないコンテナメタデータファイルを示します。ファイルの情報は、タスクの定義から既知であるいくつかのパラメータに限定されます。コンテナメタデータファイルは、コンテナの開始後 1 秒以内に準備できます。

{ "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" }