

# Amazon ECS コンテナメタデータファイル形式
<a name="metadata-file-format"></a>

次の情報は、コンテナのメタデータ 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 アドレス。

**Example 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
}
```

**Example 不完全な 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"
}
```