タスクメタデータエンドポイントバージョン 4 - Amazon Elastic Container Service

タスクメタデータエンドポイントバージョン 4

重要

AWS Fargate にホストされているAmazon ECS タスクを使用している場合は、AWS Fargate の「 Amazon 伸縮自在な コンテナ サービス ユーザーガイド」の「タスク メタデータ エンドポイント バージョン 4 」を参照してください。

Amazon ECS コンテナエージェントは、各コンテナに環境変数を注入します。これは、タスクメタデータエンドポイントと呼ばれ、コンテナにさまざまなタスクメタデータと Docker 統計を提供します。

タスクメタデータとネットワークレートの統計は CloudWatch に送信され、 AWS Management Console で表示できます。詳細については、「Amazon ECS CloudWatch コンテナ インサイト」を参照してください。

注記

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

タスクメタデータエンドポイントの有効化

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

注記

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

タスクメタデータエンドポイントバージョン 4 のパス

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

${ECS_CONTAINER_METADATA_URI_V4}

このパスはコンテナのメタデータを返します。

${ECS_CONTAINER_METADATA_URI_V4}/task

このパスはタスクのメタデータを返します。これには、タスクに関連付けられたすべてのコンテナのコンテナ ID および名前のリストが含まれています。このエンドポイントのレスポンスの詳細については、「タスクメタデータ JSON レスポンス」を参照してください。

${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags

このパスは、/task API を使用して取得できるタスクとコンテナインスタンスタグに加えて、ListTagsForResource エンドポイントに含まれるタスクのメタデータを返します。タグメタデータの取得時に受信したエラーは、レスポンスの Errors フィールドに含まれます。

注記

このErrorsフィールドは、少なくとも1.50.0バージョンのコンテナエージェントを実行しているAmazon EC2 Linux インスタンスでホストされているタスクの応答にのみ表示されます。awsvpc ネットワークモードを使用するAmazon EC2 Windows インスタンスの場合、Amazon ECS コンテナエージェントは少なくともバージョン 1.54.0 でなければなりません。

${ECS_CONTAINER_METADATA_URI_V4}/stats

このパスは特定のコンテナの Docker 統計を返します。返される各統計の詳細については、Docker API ドキュメントの「ContainerStats」を参照してください。

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

${ECS_CONTAINER_METADATA_URI_V4}/task/stats

このパスはタスクに関連付けられたすべてのコンテナの Docker 統計を返します。これをサイドカーコンテナで使用し、ネットワークメトリクスを抽出できます。返される各統計の詳細については、Docker API ドキュメントの「ContainerStats」を参照してください。

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

タスクメタデータ JSON レスポンス

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

Cluster

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

TaskARN

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

Family

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

Revision

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

DesiredStatus

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

KnownStatus

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

Limits

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

PullStartedAt

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

PullStoppedAt

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

AvailabilityZone

タスクがあるアベイラビリティーゾーン。

注記

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

LaunchType

タスクが使用している起動タイプ。クラスター容量プロバイダーを使用する場合、タスクが Fargate インフラストラクチャと EC2 インフラストラクチャのいずれを使用しているかを示します。

注記

このLaunchTypeメタデータは、Amazon ECS Linux コンテナエージェントのバージョン1.45.0、もしくはそれ以降を使用している場合にのみ含まれます。

Containers

タスクに関連付けられている各コンテナのコンテナメタデータのリスト。

DockerId

コンテナの Docker ID。

Fargate を使用する場合、IDは32桁の16進数に10桁の数字が続きます。

Name

タスク定義で指定されたコンテナの名前。

DockerName

Docker に提供されたコンテナの名前。Amazon ECSコンテナエージェントはコンテナに一意の名前を生成し、同じタスク定義の複数のコピーが単一のインスタンスで実行される場合に名前の競合を回避します。

Image

コンテナのイメージ。

ImageID

イメージの SHA-256 ダイジェスト。

Ports

コンテナに対して公開されている任意のポート。公開ポートがない場合はこのパラメータは省略されます。

Labels

コンテナに適用された任意のラベル。ラベルが適用されていない場合はこのパラメータは省略されます。

DesiredStatus

Amazon ECSからのコンテナの望ましいステータス。

KnownStatus

Amazon ECS からのコンテナの既知のステータス。

ExitCode

コンテナの終了コード。このパラメータは、コンテナが終了していない場合は省略されます。

Limits

コンテナレベルで指定されたリソースの制限 (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 アドレスなど、コンテナのネットワーク情報。ネットワーク情報が定義されていない場合はこのパラメータは省略されます。

ExecutionStoppedAt

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

Examples

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

コンテナメタデータレスポンスの例

${ECS_CONTAINER_METADATA_URI_V4} エンドポイントにクエリを実行すると、コンテナ自体に関するメタデータのみが返されます。以下に出力例を示します。

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

タスクメタデータレスポンスの例

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

{ "Cluster": "default", "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c", "Family": "curltest", "Revision": "26", "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "PullStartedAt": "2020-10-02T00:43:06.202617438Z", "PullStoppedAt": "2020-10-02T00:43:06.31288465Z", "AvailabilityZone": "us-west-2d", "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" } ] } ] }

タグメタデータの応答を持つタスクの例

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

{ "Cluster": "default", "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c", "Family": "curltest", "Revision": "26", "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "PullStartedAt": "2020-10-02T00:43:06.202617438Z", "PullStoppedAt": "2020-10-02T00:43:06.31288465Z", "AvailabilityZone": "us-west-2d", "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" } ] } ] }

エラーメタデータレスポンスのタグを含むタスクの例

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

{ "Cluster": "default", "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c", "Family": "curltest", "Revision": "26", "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "PullStartedAt": "2020-10-02T00:43:06.202617438Z", "PullStoppedAt": "2020-10-02T00:43:06.31288465Z", "AvailabilityZone": "us-west-2d", "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" } ] } ] }

コンテナ統計レスポンスの例

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

タスク統計情報のレスポンス例

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