

# Amazon ECS タスクメタデータエンドポイントバージョン 4
<a name="task-metadata-endpoint-v4"></a>

Amazon ECS コンテナエージェントは、各コンテナに環境変数を注入します。これは、*タスクメタデータエンドポイント*と呼ばれ、コンテナにさまざまなタスクメタデータと[ Docker ](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats) 統計を提供します。

タスクメタデータとネットワークレートの統計は CloudWatch に送信され、 AWS マネジメントコンソール で表示できます。詳細については、「[オブザーバビリティが強化された Container Insights を使用し、Amazon ECS コンテナを監視する](cloudwatch-container-insights.md)」を参照してください。

**注記**  
Amazon ECS は、以前のバージョンのタスクメタデータエンドポイントを提供しています。新しいタスクメタデータエンドポイントバージョンを今後作成する必要がないように、追加のメタデータをバージョン 4 の出力に追加できます。既存のメタデータが削除されたり、メタデータのフィールド名が変更されたりすることはありません。

環境変数は、デフォルトでは、少なくともバージョン `1.39.0` の Amazon ECS コンテナエージェントを実行している Amazon ECS Linux インスタンスで起動された Amazon EC2 タスクのコンテナに挿入されます。`awsvpc` ネットワークモードを使用するAmazon EC2 Windows インスタンスの場合、Amazon ECS コンテナエージェントは少なくともバージョン `1.54.0` でなければなりません。詳細については、「[Amazon ECS Linux コンテナインスタンスの管理](manage-linux.md)」を参照してください。

**注記**  
エージェントを最新バージョンに更新することで、古いバージョンのAmazon ECS コンテナエージェントを使用する Amazon EC2 インスタンスでこの機能のサポートを追加できます。詳細については、「[Amazon ECS コンテナエージェントをアップデートする](ecs-agent-update.md)」を参照してください。

タスクメタデータの出力例については、「[Amazon ECS タスクメタデータ v4 の例](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v4-examples.html)」を参照してください。

## タスクメタデータエンドポイントバージョン 4 のパス
<a name="task-metadata-endpoint-v4-paths"></a>

次のタスクメタデータエンドポイントパスをコンテナで使用できます。

`${ECS_CONTAINER_METADATA_URI_V4}`  
このパスはコンテナのメタデータを返します。

`${ECS_CONTAINER_METADATA_URI_V4}/task`  
このパスはタスクのメタデータを返します。これには、タスクに関連付けられたすべてのコンテナのコンテナ ID および名前のリストが含まれています。このエンドポイントのレスポンスの詳細については、「[Amazon ECS タスクメタデータ V4 JSON レスポンス](task-metadata-endpoint-v4-response.md)」を参照してください。

`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags`  
このパスは、`ListTagsForResource` API を使用して取得できるタスクとコンテナインスタンスタグに加えて、`/task` エンドポイントに含まれるタスクのメタデータを返します。タグメタデータの取得時に受信したエラーは、レスポンスの `Errors` フィールドに含まれます。  
この`Errors`フィールドは、少なくとも`1.50.0`バージョンのコンテナエージェントを実行しているAmazon EC2 Linux インスタンスでホストされているタスクの応答にのみ表示されます。`awsvpc` ネットワークモードを使用するAmazon EC2 Windows インスタンスの場合、Amazon ECS コンテナエージェントは少なくともバージョン `1.54.0` でなければなりません。  
このエンドポイントには、`ecs.ListTagsForResource` アクセス許可が必要です。
`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags` エンドポイントを使用する場合、各呼び出しが `ecs:ListTagsForResource` に対して最大 2 つの API リクエストを行うこと (1 つはコンテナインスタンスタグ用、もう 1 つはタスクタグ用)、そして、タスク内のサイドカーコンテナがユーザーに代わってこれらの呼び出しを実行する可能性があることに留意してください。エンドポイントを頻繁に呼び出すと、API スロットリングが発生する可能性があります。  
特にトラフィックの多いアプリケーションでは、呼び出す頻度を減らすためにキャッシュまたはバッチ処理戦略を実施することを検討してください。また、AWS CloudTrail を使用して API のスロットリング問題をデバッグすることも考慮します。`ListTagsForResource` API のスロットリング制限の詳細については、「*Amazon Elastic Container Service API リファレンス*」の「[Request throttling for the Amazon ECS API](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/request-throttling.html)」を参照してください。AWS CloudTrail を使用した Amazon ECS API コールのデバッグについては、「[AWS CloudTrail を使用して Amazon ECS API コールをログに記録する](logging-using-cloudtrail.md)」を参照してください。

`${ECS_CONTAINER_METADATA_URI_V4}/stats`  
このパスは特定のコンテナの Docker 統計を返します。返される各統計の詳細については、Docker API ドキュメントの「[ContainerStats](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)」を参照してください。  
少なくともバージョン `1.43.0` のコンテナエージェントを実行しているAmazon EC2 Linuxインスタンスでホストされている `awsvpc` または `bridge` ネットワークモードを使用するAmazon ECS タスクの場合、応答に追加のネットワークレート統計が含まれます。他のすべてのタスクでは、レスポンスには累積ネットワーク統計のみが含まれます。

`${ECS_CONTAINER_METADATA_URI_V4}/task/stats`  
このパスはタスクに関連付けられたすべてのコンテナの Docker 統計を返します。これをサイドカーコンテナで使用し、ネットワークメトリクスを抽出できます。返される各統計の詳細については、Docker API ドキュメントの「[ContainerStats](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)」を参照してください。  
少なくともバージョン `1.43.0` のコンテナエージェントを実行しているAmazon EC2 Linuxインスタンスでホストされている `awsvpc` または `bridge` ネットワークモードを使用するAmazon ECS タスクの場合、応答に追加のネットワークレート統計が含まれます。他のすべてのタスクでは、レスポンスには累積ネットワーク統計のみが含まれます。

# Amazon ECS タスクメタデータ V4 JSON レスポンス
<a name="task-metadata-endpoint-v4-response"></a>

次の情報が、タスクメタデータエンドポイント (`${ECS_CONTAINER_METADATA_URI_V4}/task`) JSON レスポンスから返されます。これには、タスク内の各コンテナのメタデータに加えて、タスクに関連付けられたメタデータも含まれます。

`Cluster`  
タスクが属する Amazon ECS クラスターの Amazon リソースネーム (ARN)または短縮名。

`ServiceName`  
タスクが属しているサービスの名前。ServiceName は、タスクがサービスに関連付けられている場合、Amazon EC2 と Amazon ECS Anywhere コンテナインスタンスに表示されます。  
この `ServiceName` メタデータは、Amazon ECS コンテナエージェントのバージョン `1.63.1`、もしくはそれ以降を使用している場合にのみ含まれます。

`VPCID`  
Amazon EC2 コンテナインスタンスの VPC ID。このフィールドは、Amazon EC2 インスタンスでのみ表示されます。  
この `VPCID` メタデータは、Amazon ECS コンテナエージェントのバージョン `1.63.1`、もしくはそれ以降を使用している場合にのみ含まれます。

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

`Family`  
タスクの Amazon ECS タスク定義のファミリー。

`Revision`  
タスクの Amazon ECS タスク定義のリビジョン。

`DesiredStatus`  
Amazon ECSからのタスクの望ましいステータス。

`KnownStatus`  
Amazon ECS からのタスクの既知のステータス。

`Limits`  
CPU (vCPU で表される) やメモリなど、タスク レベルで指定されたリソースの制限。リソースの制限が定義されていない場合はこのパラメータは省略されます。

`PullStartedAt`  
最初のコンテナイメージのプル開始時のタイムスタンプ。

`PullStoppedAt`  
最後のコンテナイメージのプル終了時のタイムスタンプ。

`AvailabilityZone`  
タスクがあるアベイラビリティーゾーン。  
アベイラビリティーゾーンのメタデータは、プラットフォームバージョン 1.4 以降 (Linux) または 1.0.0 (Windows) を使用する Fargate タスクでのみ使用できます。

`LaunchType`  
タスクが使用している起動タイプ。クラスター容量プロバイダーを使用する場合、タスクが Fargate インフラストラクチャと EC2 インフラストラクチャのいずれを使用しているかを示します。  
この`LaunchType`メタデータは、Amazon ECS Linux コンテナエージェントのバージョン`1.45.0` 以降 (Linux) または 1.0.0 以降 (Windows) を使用している場合にのみ含まれます。

`Containers`  
タスクに関連付けられている各コンテナのコンテナメタデータのリスト。    
`DockerId`  
コンテナの Docker ID。  
Fargate を使用する場合、IDは32桁の16進数に10桁の数字が続きます。  
`Name`  
タスク定義で指定されたコンテナの名前。  
`DockerName`  
Docker に提供されたコンテナの名前。Amazon ECSコンテナエージェントはコンテナに一意の名前を生成し、同じタスク定義の複数のコピーが単一のインスタンスで実行される場合に名前の競合を回避します。  
`Image`  
コンテナのイメージ。  
`ImageID`  
イメージマニフェストの SHA-256 ダイジェスト。これは、`repository-url/image@sha256:digest` 形式を使用してイメージをプルするために使用できるダイジェストです。  
`Ports`  
コンテナに対して公開されている任意のポート。公開ポートがない場合はこのパラメータは省略されます。  
`Labels`  
コンテナに適用された任意のラベル。ラベルが適用されていない場合はこのパラメータは省略されます。  
`DesiredStatus`  
Amazon ECSからのコンテナの望ましいステータス。  
`KnownStatus`  
Amazon ECS からのコンテナの既知のステータス。  
`ExitCode`  
コンテナの終了コード。このパラメータは、コンテナが終了していない場合は省略されます。  
`Limits`  
CPU (CPU 単位で表される) やメモリなど、コンテナレベルで指定されたリソースの制限。リソースの制限が定義されていない場合はこのパラメータは省略されます。  
`CreatedAt`  
コンテナ作成時のタイムスタンプ。このパラメータは、コンテナがまだ作成されていない場合は省略されます。  
`StartedAt`  
コンテナ起動時のタイムスタンプ。このパラメータは、コンテナがまだ起動していない場合は省略されます。  
`FinishedAt`  
コンテナ停止時のタイムスタンプ。このパラメータは、コンテナがまだ停止していない場合は省略されます。  
`Type`  
コンテナのタイプ。タスク定義で指定されているコンテナのタイプは `NORMAL` です。他のコンテナタイプは無視してかまいません。これらはAmazon ECS コンテナエージェントによってプロビジョニングされる内部タスクリソースで使用されます。  
`LogDriver`  
コンテナに使用されるログドライバー。  
この`LogDriver`メタデータは、Amazon ECS Linux コンテナエージェントのバージョン`1.45.0`、もしくはそれ以降を使用している場合にのみ含まれます。  
`LogOptions`  
コンテナに定義されたログドライバオプション。  
この`LogOptions`メタデータは、Amazon ECS Linux コンテナエージェントのバージョン`1.45.0`、もしくはそれ以降を使用している場合にのみ含まれます。  
`ContainerARN`  
コンテナの Amazon リソースネーム (ARN)。  
この`ContainerARN`メタデータは、Amazon ECS Linux コンテナエージェントのバージョン`1.45.0`、もしくはそれ以降を使用している場合にのみ含まれます。  
`Networks`  
ネットワークモードや IP アドレスなど、コンテナのネットワーク情報。ネットワーク情報が定義されていない場合はこのパラメータは省略されます。  
`RestartCount`  
コンテナが再起動された回数。  
`RestartCount` メタデータが含まれるのは、コンテナの再起動ポリシーが有効になっている場合のみです。詳細については、「[コンテナ再起動ポリシーを使用して Amazon ECS タスク内の個々のコンテナを再起動する](container-restart-policy.md)」を参照してください。

`ExecutionStoppedAt`  
タスクの `DesiredStatus` が `STOPPED` に移行した時のタイムスタンプ。これは、必須コンテナが `STOPPED` に移行したときに発生します。

# Amazon ECS タスクメタデータ v4 の例
<a name="task-metadata-endpoint-v4-examples"></a>

以下の例は、タスクメタデータエンドポイントそれぞれからの出力例を示しています。

## コンテナメタデータレスポンスの例
<a name="task-metadata-endpoint-v4-example-container-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}` エンドポイントにクエリを実行すると、コンテナ自体に関するメタデータのみが返されます。以下は、サービス (MyService) の一部として実行されるタスクからの出力例です。

```
{
    "DockerId": "ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66",
    "Name": "curl",
    "DockerName": "ecs-curltest-24-curl-cca48e8dcadd97805600",
    "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
    "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
    "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "curl",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/8f03e41243824aea923aca126495f665",
        "com.amazonaws.ecs.task-definition-family": "curltest",
        "com.amazonaws.ecs.task-definition-version": "24"
    },
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "Limits": {
        "CPU": 10,
        "Memory": 128
    },
    "CreatedAt": "2020-10-02T00:15:07.620912337Z",
    "StartedAt": "2020-10-02T00:15:08.062559351Z",
    "Type": "NORMAL",
    "LogDriver": "awslogs",
    "LogOptions": {
        "awslogs-create-group": "true",
        "awslogs-group": "/ecs/metadata",
        "awslogs-region": "us-west-2",
        "awslogs-stream": "ecs/curl/8f03e41243824aea923aca126495f665"
    },
    "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9",
    "Networks": [
        {
            "NetworkMode": "awsvpc",
            "IPv4Addresses": [
                "10.0.2.100"
            ],
            "AttachmentIndex": 0,
            "MACAddress": "0e:9e:32:c7:48:85",
            "IPv4SubnetCIDRBlock": "10.0.2.0/24",
            "PrivateDNSName": "ip-10-0-2-100.us-west-2.compute.internal",
            "SubnetGatewayIpv4Address": "10.0.2.1/24"
        }
    ]
}
```

## タスクメタデータレスポンスの例
<a name="task-metadata-endpoint-v4-example-task-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/task` エンドポイントをクエリすると、タスク内の各コンテナのメタデータに加えて、コンテナが一部であるタスクに関するメタデータが返されます。以下に出力例を示します。

```
{
    "Cluster": "default",
    "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
    "Family": "curltest",
    "ServiceName": "MyService",
    "Revision": "26",
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "PullStartedAt": "2020-10-02T00:43:06.202617438Z",
    "PullStoppedAt": "2020-10-02T00:43:06.31288465Z",
    "AvailabilityZone": "us-west-2d",
    "VPCID": "vpc-1234567890abcdef0",
    "LaunchType": "EC2",
    "Containers": [
        {
            "DockerId": "598cba581fe3f939459eaba1e071d5c93bb2c49b7d1ba7db6bb19deeb70d8e38",
            "Name": "~internal~ecs~pause",
            "DockerName": "ecs-curltest-26-internalecspause-e292d586b6f9dade4a00",
            "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-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RESOURCES_PROVISIONED",
            "KnownStatus": "RESOURCES_PROVISIONED",
            "Limits": {
                "CPU": 0,
                "Memory": 0
            },
            "CreatedAt": "2020-10-02T00:43:05.602352471Z",
            "StartedAt": "2020-10-02T00:43:06.076707576Z",
            "Type": "CNI_PAUSE",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        },
        {
            "DockerId": "ee08638adaaf009d78c248913f629e38299471d45fe7dc944d1039077e3424ca",
            "Name": "curl",
            "DockerName": "ecs-curltest-26-curl-a0e7dba5aca6d8cb2e00",
            "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
            "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "curl",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RUNNING",
            "KnownStatus": "RUNNING",
            "Limits": {
                "CPU": 10,
                "Memory": 128
            },
            "CreatedAt": "2020-10-02T00:43:06.326590752Z",
            "StartedAt": "2020-10-02T00:43:06.767535449Z",
            "Type": "NORMAL",
            "LogDriver": "awslogs",
            "LogOptions": {
                "awslogs-create-group": "true",
                "awslogs-group": "/ecs/metadata",
                "awslogs-region": "us-west-2",
                "awslogs-stream": "ecs/curl/158d1c8083dd49d6b527399fd6414f5c"
            },
            "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/abb51bdd-11b4-467f-8f6c-adcfe1fe059d",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        }
    ]
}
```

## タグメタデータの応答を持つタスクの例
<a name="task-metadata-endpoint-v4-example-taskwithtags-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags` エンドポイントをクエリすると、タスクおよびコンテナインスタンスタグを含むタスクに関するメタデータが返されます。以下に出力例を示します。

```
{
    "Cluster": "default",
    "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
    "Family": "curltest",
    "ServiceName": "MyService",
    "Revision": "26",
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "PullStartedAt": "2020-10-02T00:43:06.202617438Z",
    "PullStoppedAt": "2020-10-02T00:43:06.31288465Z",
    "AvailabilityZone": "us-west-2d",
    "VPCID": "vpc-1234567890abcdef0",
    "TaskTags": {
        "tag-use": "task-metadata-endpoint-test"
    },
    "ContainerInstanceTags":{
        "tag_key":"tag_value"
    },
    "LaunchType": "EC2",
    "Containers": [
        {
            "DockerId": "598cba581fe3f939459eaba1e071d5c93bb2c49b7d1ba7db6bb19deeb70d8e38",
            "Name": "~internal~ecs~pause",
            "DockerName": "ecs-curltest-26-internalecspause-e292d586b6f9dade4a00",
            "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-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RESOURCES_PROVISIONED",
            "KnownStatus": "RESOURCES_PROVISIONED",
            "Limits": {
                "CPU": 0,
                "Memory": 0
            },
            "CreatedAt": "2020-10-02T00:43:05.602352471Z",
            "StartedAt": "2020-10-02T00:43:06.076707576Z",
            "Type": "CNI_PAUSE",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        },
        {
            "DockerId": "ee08638adaaf009d78c248913f629e38299471d45fe7dc944d1039077e3424ca",
            "Name": "curl",
            "DockerName": "ecs-curltest-26-curl-a0e7dba5aca6d8cb2e00",
            "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
            "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "curl",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RUNNING",
            "KnownStatus": "RUNNING",
            "Limits": {
                "CPU": 10,
                "Memory": 128
            },
            "CreatedAt": "2020-10-02T00:43:06.326590752Z",
            "StartedAt": "2020-10-02T00:43:06.767535449Z",
            "Type": "NORMAL",
            "LogDriver": "awslogs",
            "LogOptions": {
                "awslogs-create-group": "true",
                "awslogs-group": "/ecs/metadata",
                "awslogs-region": "us-west-2",
                "awslogs-stream": "ecs/curl/158d1c8083dd49d6b527399fd6414f5c"
            },
            "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/abb51bdd-11b4-467f-8f6c-adcfe1fe059d",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        }
    ]
}
```

## エラーメタデータレスポンスのタグを含むタスクの例
<a name="task-metadata-endpoint-v4-example-taskwithtags-error-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags` エンドポイントをクエリすると、タスクおよびコンテナインスタンスタグを含むタスクに関するメタデータが返されます。タグ付けデータの取得中にエラーが発生した場合は、そのエラーがレスポンスで返されます。コンテナインスタンスに関連付けられた IAM ロール に `ecs:ListTagsForResource` の権限が付与されていない場合の出力例を次に示します。

```
{
    "Cluster": "default",
    "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
    "Family": "curltest",
    "ServiceName": "MyService",
    "Revision": "26",
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "PullStartedAt": "2020-10-02T00:43:06.202617438Z",
    "PullStoppedAt": "2020-10-02T00:43:06.31288465Z",
    "AvailabilityZone": "us-west-2d",
    "VPCID": "vpc-1234567890abcdef0",
    "Errors": [
        {
            "ErrorField": "ContainerInstanceTags",
            "ErrorCode": "AccessDeniedException",
            "ErrorMessage": "User: arn:aws:sts::111122223333:assumed-role/ecsInstanceRole/i-0744a608689EXAMPLE is not authorized to perform: ecs:ListTagsForResource on resource: arn:aws:ecs:us-west-2:111122223333:container-instance/default/2dd1b186f39845a584488d2ef155c131",
            "StatusCode": 400,
            "RequestId": "cd597ef0-272b-4643-9bd2-1de469870fa6",
            "ResourceARN": "arn:aws:ecs:us-west-2:111122223333:container-instance/default/2dd1b186f39845a584488d2ef155c131"
        },
        {
            "ErrorField": "TaskTags",
            "ErrorCode": "AccessDeniedException",
            "ErrorMessage": "User: arn:aws:sts::111122223333:assumed-role/ecsInstanceRole/i-0744a608689EXAMPLE is not authorized to perform: ecs:ListTagsForResource on resource: arn:aws:ecs:us-west-2:111122223333:task/default/9ef30e4b7aa44d0db562749cff4983f3",
            "StatusCode": 400,
            "RequestId": "862c5986-6cd2-4aa6-87cc-70be395531e1",
            "ResourceARN": "arn:aws:ecs:us-west-2:111122223333:task/default/9ef30e4b7aa44d0db562749cff4983f3"
        }
    ],
    "LaunchType": "EC2",
    "Containers": [
        {
            "DockerId": "598cba581fe3f939459eaba1e071d5c93bb2c49b7d1ba7db6bb19deeb70d8e38",
            "Name": "~internal~ecs~pause",
            "DockerName": "ecs-curltest-26-internalecspause-e292d586b6f9dade4a00",
            "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-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RESOURCES_PROVISIONED",
            "KnownStatus": "RESOURCES_PROVISIONED",
            "Limits": {
                "CPU": 0,
                "Memory": 0
            },
            "CreatedAt": "2020-10-02T00:43:05.602352471Z",
            "StartedAt": "2020-10-02T00:43:06.076707576Z",
            "Type": "CNI_PAUSE",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        },
        {
            "DockerId": "ee08638adaaf009d78c248913f629e38299471d45fe7dc944d1039077e3424ca",
            "Name": "curl",
            "DockerName": "ecs-curltest-26-curl-a0e7dba5aca6d8cb2e00",
            "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
            "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "curl",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RUNNING",
            "KnownStatus": "RUNNING",
            "Limits": {
                "CPU": 10,
                "Memory": 128
            },
            "CreatedAt": "2020-10-02T00:43:06.326590752Z",
            "StartedAt": "2020-10-02T00:43:06.767535449Z",
            "Type": "NORMAL",
            "LogDriver": "awslogs",
            "LogOptions": {
                "awslogs-create-group": "true",
                "awslogs-group": "/ecs/metadata",
                "awslogs-region": "us-west-2",
                "awslogs-stream": "ecs/curl/158d1c8083dd49d6b527399fd6414f5c"
            },
            "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/abb51bdd-11b4-467f-8f6c-adcfe1fe059d",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        }
    ]
}
```

## コンテナ統計レスポンスの例
<a name="task-metadata-endpoint-v4-example-stats-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/stats` エンドポイントにクエリを実行すると、コンテナのネットワークメトリクスが返されます。少なくともバージョン `1.43.0` のコンテナエージェントを実行しているAmazon EC2 インスタンスでホストされている `awsvpc` または `bridge` ネットワークモードを使用するAmazon ECS タスクの場合、応答に追加のネットワークレート統計が含まれます。他のすべてのタスクでは、レスポンスには累積ネットワーク統計のみが含まれます。

次に、`bridge` ネットワークモードを使用する Amazon ECS の Amazon EC2 タスクからの出力例を示します。

```
{
    "read": "2020-10-02T00:51:13.410254284Z",
    "preread": "2020-10-02T00:51:12.406202398Z",
    "pids_stats": {
        "current": 3
    },
    "blkio_stats": {
        "io_service_bytes_recursive": [
            
        ],
        "io_serviced_recursive": [
            
        ],
        "io_queue_recursive": [
            
        ],
        "io_service_time_recursive": [
            
        ],
        "io_wait_time_recursive": [
            
        ],
        "io_merged_recursive": [
            
        ],
        "io_time_recursive": [
            
        ],
        "sectors_recursive": [
            
        ]
    },
    "num_procs": 0,
    "storage_stats": {
        
    },
    "cpu_stats": {
        "cpu_usage": {
            "total_usage": 360968065,
            "percpu_usage": [
                182359190,
                178608875
            ],
            "usage_in_kernelmode": 40000000,
            "usage_in_usermode": 290000000
        },
        "system_cpu_usage": 13939680000000,
        "online_cpus": 2,
        "throttling_data": {
            "periods": 0,
            "throttled_periods": 0,
            "throttled_time": 0
        }
    },
    "precpu_stats": {
        "cpu_usage": {
            "total_usage": 360968065,
            "percpu_usage": [
                182359190,
                178608875
            ],
            "usage_in_kernelmode": 40000000,
            "usage_in_usermode": 290000000
        },
        "system_cpu_usage": 13937670000000,
        "online_cpus": 2,
        "throttling_data": {
            "periods": 0,
            "throttled_periods": 0,
            "throttled_time": 0
        }
    },
    "memory_stats": {
        "usage": 1806336,
        "max_usage": 6299648,
        "stats": {
            "active_anon": 606208,
            "active_file": 0,
            "cache": 0,
            "dirty": 0,
            "hierarchical_memory_limit": 134217728,
            "hierarchical_memsw_limit": 268435456,
            "inactive_anon": 0,
            "inactive_file": 0,
            "mapped_file": 0,
            "pgfault": 4185,
            "pgmajfault": 0,
            "pgpgin": 2926,
            "pgpgout": 2778,
            "rss": 606208,
            "rss_huge": 0,
            "total_active_anon": 606208,
            "total_active_file": 0,
            "total_cache": 0,
            "total_dirty": 0,
            "total_inactive_anon": 0,
            "total_inactive_file": 0,
            "total_mapped_file": 0,
            "total_pgfault": 4185,
            "total_pgmajfault": 0,
            "total_pgpgin": 2926,
            "total_pgpgout": 2778,
            "total_rss": 606208,
            "total_rss_huge": 0,
            "total_unevictable": 0,
            "total_writeback": 0,
            "unevictable": 0,
            "writeback": 0
        },
        "limit": 134217728
    },
    "name": "/ecs-curltest-26-curl-c2e5f6e0cf91b0bead01",
    "id": "5fc21e5b015f899d22618f8aede80b6d70d71b2a75465ea49d9462c8f3d2d3af",
    "networks": {
        "eth0": {
            "rx_bytes": 84,
            "rx_packets": 2,
            "rx_errors": 0,
            "rx_dropped": 0,
            "tx_bytes": 84,
            "tx_packets": 2,
            "tx_errors": 0,
            "tx_dropped": 0
        }
    },
    "network_rate_stats": {
        "rx_bytes_per_sec": 0,
        "tx_bytes_per_sec": 0
    }
}
```

## タスク統計情報のレスポンス例
<a name="task-metadata-endpoint-v4-example-task-stats-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/task/stats` エンドポイントにクエリを実行すると、コンテナが属しているタスクに関するネットワークメトリクスが返されます。以下に出力例を示します。

```
{
    "01999f2e5c6cf4df3873f28950e6278813408f281c54778efec860d0caad4854": {
        "read": "2020-10-02T00:51:32.51467703Z",
        "preread": "2020-10-02T00:51:31.50860463Z",
        "pids_stats": {
            "current": 1
        },
        "blkio_stats": {
            "io_service_bytes_recursive": [
                
            ],
            "io_serviced_recursive": [
                
            ],
            "io_queue_recursive": [
                
            ],
            "io_service_time_recursive": [
                
            ],
            "io_wait_time_recursive": [
                
            ],
            "io_merged_recursive": [
                
            ],
            "io_time_recursive": [
                
            ],
            "sectors_recursive": [
                
            ]
        },
        "num_procs": 0,
        "storage_stats": {
            
        },
        "cpu_stats": {
            "cpu_usage": {
                "total_usage": 177232665,
                "percpu_usage": [
                    13376224,
                    163856441
                ],
                "usage_in_kernelmode": 0,
                "usage_in_usermode": 160000000
            },
            "system_cpu_usage": 13977820000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "precpu_stats": {
            "cpu_usage": {
                "total_usage": 177232665,
                "percpu_usage": [
                    13376224,
                    163856441
                ],
                "usage_in_kernelmode": 0,
                "usage_in_usermode": 160000000
            },
            "system_cpu_usage": 13975800000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "memory_stats": {
            "usage": 532480,
            "max_usage": 6279168,
            "stats": {
                "active_anon": 40960,
                "active_file": 0,
                "cache": 0,
                "dirty": 0,
                "hierarchical_memory_limit": 9223372036854771712,
                "hierarchical_memsw_limit": 9223372036854771712,
                "inactive_anon": 0,
                "inactive_file": 0,
                "mapped_file": 0,
                "pgfault": 2033,
                "pgmajfault": 0,
                "pgpgin": 1734,
                "pgpgout": 1724,
                "rss": 40960,
                "rss_huge": 0,
                "total_active_anon": 40960,
                "total_active_file": 0,
                "total_cache": 0,
                "total_dirty": 0,
                "total_inactive_anon": 0,
                "total_inactive_file": 0,
                "total_mapped_file": 0,
                "total_pgfault": 2033,
                "total_pgmajfault": 0,
                "total_pgpgin": 1734,
                "total_pgpgout": 1724,
                "total_rss": 40960,
                "total_rss_huge": 0,
                "total_unevictable": 0,
                "total_writeback": 0,
                "unevictable": 0,
                "writeback": 0
            },
            "limit": 4073377792
        },
        "name": "/ecs-curltest-26-internalecspause-a6bcc3dbadfacfe85300",
        "id": "01999f2e5c6cf4df3873f28950e6278813408f281c54778efec860d0caad4854",
        "networks": {
            "eth0": {
                "rx_bytes": 84,
                "rx_packets": 2,
                "rx_errors": 0,
                "rx_dropped": 0,
                "tx_bytes": 84,
                "tx_packets": 2,
                "tx_errors": 0,
                "tx_dropped": 0
            }
        },
        "network_rate_stats": {
            "rx_bytes_per_sec": 0,
            "tx_bytes_per_sec": 0
        }
    },
    "5fc21e5b015f899d22618f8aede80b6d70d71b2a75465ea49d9462c8f3d2d3af": {
        "read": "2020-10-02T00:51:32.512771349Z",
        "preread": "2020-10-02T00:51:31.510597736Z",
        "pids_stats": {
            "current": 3
        },
        "blkio_stats": {
            "io_service_bytes_recursive": [
                
            ],
            "io_serviced_recursive": [
                
            ],
            "io_queue_recursive": [
                
            ],
            "io_service_time_recursive": [
                
            ],
            "io_wait_time_recursive": [
                
            ],
            "io_merged_recursive": [
                
            ],
            "io_time_recursive": [
                
            ],
            "sectors_recursive": [
                
            ]
        },
        "num_procs": 0,
        "storage_stats": {
            
        },
        "cpu_stats": {
            "cpu_usage": {
                "total_usage": 379075681,
                "percpu_usage": [
                    191355275,
                    187720406
                ],
                "usage_in_kernelmode": 60000000,
                "usage_in_usermode": 310000000
            },
            "system_cpu_usage": 13977800000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "precpu_stats": {
            "cpu_usage": {
                "total_usage": 378825197,
                "percpu_usage": [
                    191104791,
                    187720406
                ],
                "usage_in_kernelmode": 60000000,
                "usage_in_usermode": 310000000
            },
            "system_cpu_usage": 13975800000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "memory_stats": {
            "usage": 1814528,
            "max_usage": 6299648,
            "stats": {
                "active_anon": 606208,
                "active_file": 0,
                "cache": 0,
                "dirty": 0,
                "hierarchical_memory_limit": 134217728,
                "hierarchical_memsw_limit": 268435456,
                "inactive_anon": 0,
                "inactive_file": 0,
                "mapped_file": 0,
                "pgfault": 5377,
                "pgmajfault": 0,
                "pgpgin": 3613,
                "pgpgout": 3465,
                "rss": 606208,
                "rss_huge": 0,
                "total_active_anon": 606208,
                "total_active_file": 0,
                "total_cache": 0,
                "total_dirty": 0,
                "total_inactive_anon": 0,
                "total_inactive_file": 0,
                "total_mapped_file": 0,
                "total_pgfault": 5377,
                "total_pgmajfault": 0,
                "total_pgpgin": 3613,
                "total_pgpgout": 3465,
                "total_rss": 606208,
                "total_rss_huge": 0,
                "total_unevictable": 0,
                "total_writeback": 0,
                "unevictable": 0,
                "writeback": 0
            },
            "limit": 134217728
        },
        "name": "/ecs-curltest-26-curl-c2e5f6e0cf91b0bead01",
        "id": "5fc21e5b015f899d22618f8aede80b6d70d71b2a75465ea49d9462c8f3d2d3af",
        "networks": {
            "eth0": {
                "rx_bytes": 84,
                "rx_packets": 2,
                "rx_errors": 0,
                "rx_dropped": 0,
                "tx_bytes": 84,
                "tx_packets": 2,
                "tx_errors": 0,
                "tx_dropped": 0
            }
        },
        "network_rate_stats": {
            "rx_bytes_per_sec": 0,
            "tx_bytes_per_sec": 0
        }
    }
}
```