

# 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 タスクの場合、応答に追加のネットワークレート統計が含まれます。他のすべてのタスクでは、レスポンスには累積ネットワーク統計のみが含まれます。