翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
タスクメタデータエンドポイントバージョン 4
Amazon ECS コンテナエージェントは、各コンテナに環境変数を注入します。これは、タスクメタデータエンドポイントと呼ばれ、コンテナにさまざまなタスクメタデータと Docker
タスクメタデータとネットワークレートの統計は CloudWatch Container Insights に送信され、 で表示できますAWS Management Console。詳細については、「Amazon ECS CloudWatch Container Insights」を参照してください。
注記
Amazon ECS は、以前のバージョンのタスクメタデータエンドポイントを提供しています。新しいタスクメタデータエンドポイントバージョンを今後作成する必要がないように、追加のメタデータをバージョン 4 の出力に追加できます。既存のメタデータが削除されたり、メタデータのフィールド名が変更されたりすることはありません。
タスクメタデータエンドポイントの有効化
環境変数は、デフォルトでは、少なくともバージョン 1.39.0
の Amazon ECS コンテナエージェントを実行している Amazon ECS Linux インスタンスで起動された Amazon EC2 タスクのコンテナに挿入されます。awsvpc
ネットワークモードを使用するAmazon EC2 Windows インスタンスの場合、Amazon ECS コンテナエージェントは少なくともバージョン 1.54.0
でなければなりません。詳細については、「Linux コンテナインスタンス管理」を参照してください。
注記
エージェントを最新バージョンに更新することで、古いバージョンの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
-
このパスは、
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}/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)または短縮名。
ServiceName
-
タスクが属するサービスの名前。タスクがサービスに関連付けられている場合、Amazon EC2 および Amazon ECS Anywhere コンテナインスタンス ServiceName に表示されます。
注記
この
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 ダイジェスト。
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 アドレスなど、コンテナのネットワーク情報。ネットワーク情報が定義されていない場合はこのパラメータは省略されます。
ExecutionStoppedAt
-
タスクの
DesiredStatus
がSTOPPED
に移行した時のタイムスタンプ。これは、必須コンテナがSTOPPED
に移行したときに発生します。
例
以下の例は、タスクメタデータエンドポイントそれぞれからの出力例を示しています。
コンテナメタデータレスポンスの例
${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",
"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"
}
]
}
]
}
タグメタデータの応答を持つタスクの例
${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"
}
]
}
]
}
エラーメタデータレスポンスのタグを含むタスクの例
${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"
}
]
}
]
}
コンテナ統計レスポンスの例
${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
}
}
}