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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

重要

Amazon EC2 インスタンスでホストされている Amazon ECS タスクを使用している場合は、Amazon Elastic Container ServiceデベロッパーガイドAmazon ECS タスクメタデータエンドポイントを参照してください。

Fargateのプラットフォームバージョン1.4.0以降、ECS_CONTAINER_METADATA_URI_V4 という名前の環境変数がタスク内の各コンテナに挿入されます。タスクメタデータエンドポイントバージョン 4 に対してクエリを実行すると、さまざまなタスクメタデータおよび Docker 統計をタスクで利用できます。

タスクメタデータエンドポイントバージョン 4 は、バージョン 3 と同じように動作しますが、コンテナとタスクに関する追加のネットワークメタデータを提供します。/stats エンドポイントにクエリを実行するときにも追加のネットワークメトリクスを使用できます。

注記

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

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

タスクメタデータエンドポイントは、プラットフォームバージョン 1.4.0 以降を使用する AWS Fargate 上で実行される、すべての Amazon ECS タスクに対してデフォルトでオンになっています。

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

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

${ECS_CONTAINER_METADATA_URI_V4}

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

${ECS_CONTAINER_METADATA_URI_V4}/task

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

${ECS_CONTAINER_METADATA_URI_V4}/stats

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

注記

AWS FargateでのAmazon ECS タスクは、コンテナの統計を返す前にコンテナを約 1 秒間実行する必要があります。

${ECS_CONTAINER_METADATA_URI_V4}/task/stats

このパスはタスクに関連付けられたすべてのコンテナの Docker 統計を返します。返される各統計の詳細については、Docker API ContainerStats ドキュメントの「」を参照してください。

注記

AWS FargateでのAmazon ECS タスクは、コンテナの統計を返す前にコンテナを約 1 秒間実行する必要があります。

Fargate のタスク用のタスクメタデータ JSON レスポンス

次のメタデータは、タスクメタデータエンドポイント (${ECS_CONTAINER_METADATA_URI_V4}/task) JSON レスポンスで返されます。

Cluster

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

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) を使用している場合にのみ含まれます。

EphemeralStorageMetrics

このタスクのエフェメラルストレージの予約サイズと現在の使用量。

注記

Fargate はディスク上のスペースを予約します。スペースは Fargate によってのみ使用されます。これには課金されることはありません。これらのメトリクスには表示されません。ただし、この追加ストレージは、df などの他のツールでも確認できます。

Utilized

このタスクの現在のエフェメラルストレージ使用量 (MiB 単位)。

Reserved

このタスクの予約済みエフェメラルストレージ (MiB 単位)。エフェメラルストレージのサイズは、実行中のタスクでは変更できません。タスク定義で ephermalStorage オブジェクトを指定して、エフェメラルストレージの量を変更できます。ephermalStorage は MiB ではなく GiB 単位で指定されます。ephermalStorage および EphemeralStorageMetrics は、Fargate Linux プラットフォームのバージョン 1.4.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 (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 アドレスなど、コンテナのネットワーク情報。ネットワーク情報が定義されていない場合はこのパラメータは省略されます。

Snapshotter

このコンテナイメージをダウンロードするために containerd によって使用された snapshotter。有効な値はデフォルトの overlayfs です。soci は SOCI インデックスによる遅延読み込み時に使用されます。このパラメータは、Linux プラットフォームバージョン 1.4.0 で実行されるタスクにのみ使用できます。

ClockDrift

基準時刻とシステム時刻の違いに関する情報。この機能は、Amazon Time Sync Service を使用してクロック精度を測定し、コンテナにクロックエラーバインドを提供します。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「Linux インスタンスの時間を設定するAmazon EC2」を参照してください。

ReferenceTime

クロック精度の基礎。Amazon ECS は、2021-09-07T16:57:44Z などの NTP を通じて協定世界時 (UTC) の世界標準を使用しています。

ClockErrorBound

UTC へのオフセットとして定義されるクロックエラーの対策。この誤差は、基準時刻とシステム時刻の差 (ミリ秒単位) です。

ClockSynchronizationStatus

最新のシステム時刻と基準時刻間の同期試行における成功状況を示します。

有効な値は SYNCHRONIZED および NOT_SYNCHRONIZED です。

ExecutionStoppedAt

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

Fargate のタスクの例

以下の例は、AWS Fargateで実行されるAmazon ECS タスクのタスクメタデータエンドポイントからの出力例を示しています。

コンテナから、タスクメタデータのエンドポイントに続けて curl を使用すると、curl ${ECS_CONTAINER_METADATA_URI_V4}/task などのエンドポイントをクエリできます。

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

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

{ "DockerId": "cd189a933e5849daa93386466019ab50-2495160603", "Name": "curl", "DockerName": "curl", "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest", "ImageID": "sha256:25f3695bedfb454a50f12d127839a68ad3caf91e451c1da073db34c542c4d2cb", "Labels": { "com.amazonaws.ecs.cluster": "arn:aws:ecs:us-west-2:111122223333:cluster/default", "com.amazonaws.ecs.container-name": "curl", "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/cd189a933e5849daa93386466019ab50", "com.amazonaws.ecs.task-definition-family": "curltest", "com.amazonaws.ecs.task-definition-version": "2" }, "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Limits": { "CPU": 10, "Memory": 128 }, "CreatedAt": "2020-10-08T20:09:11.44527186Z", "StartedAt": "2020-10-08T20:09:11.44527186Z", "Type": "NORMAL", "Networks": [ { "NetworkMode": "awsvpc", "IPv4Addresses": [ "192.0.2.3" ], "AttachmentIndex": 0, "MACAddress": "0a:de:f6:10:51:e5", "IPv4SubnetCIDRBlock": "192.0.2.0/24", "DomainNameServers": [ "192.0.2.2" ], "DomainNameSearchList": [ "us-west-2.compute.internal" ], "PrivateDNSName": "ip-10-0-0-222.us-west-2.compute.internal", "SubnetGatewayIpv4Address": "192.0.2.0/24" } ], "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/05966557-f16c-49cb-9352-24b3a0dcd0e1", "LogOptions": { "awslogs-create-group": "true", "awslogs-group": "/ecs/containerlogs", "awslogs-region": "us-west-2", "awslogs-stream": "ecs/curl/cd189a933e5849daa93386466019ab50" }, "LogDriver": "awslogs", "Snapshotter": "overlayfs" }

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

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

{ "Cluster": "arn:aws:ecs:us-east-1:123456789012:cluster/clusterName", "TaskARN": "arn:aws:ecs:us-east-1:123456789012:task/MyEmptyCluster/bfa2636268144d039771334145e490c5", "Family": "sample-fargate", "Revision": "5", "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Limits": { "CPU": 0.25, "Memory": 512 }, "PullStartedAt": "2023-07-21T15:45:33.532811081Z", "PullStoppedAt": "2023-07-21T15:45:38.541068435Z", "AvailabilityZone": "us-east-1d", "Containers": [ { "DockerId": "bfa2636268144d039771334145e490c5-1117626119", "Name": "curl-image", "DockerName": "curl-image", "Image": "curlimages/curl", "ImageID": "sha256:daf3f46a2639c1613b25e85c9ee4193af8a1d538f92483d67f9a3d7f21721827", "Labels": { "com.amazonaws.ecs.cluster": "arn:aws:ecs:us-east-1:123456789012:cluster/MyEmptyCluster", "com.amazonaws.ecs.container-name": "curl-image", "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-1:123456789012:task/MyEmptyCluster/bfa2636268144d039771334145e490c5", "com.amazonaws.ecs.task-definition-family": "sample-fargate", "com.amazonaws.ecs.task-definition-version": "5" }, "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Limits": { "CPU": 128 }, "CreatedAt": "2023-07-21T15:45:44.91368314Z", "StartedAt": "2023-07-21T15:45:44.91368314Z", "Type": "NORMAL", "Networks": [ { "NetworkMode": "awsvpc", "IPv4Addresses": ["172.31.42.189"], "AttachmentIndex": 0, "MACAddress": "0e:98:9f:33:76:d3", "IPv4SubnetCIDRBlock": "172.31.32.0/20", "DomainNameServers": ["172.31.0.2"], "DomainNameSearchList": ["ec2.internal"], "PrivateDNSName": "ip-172-31-42-189.ec2.internal", "SubnetGatewayIpv4Address": "172.31.32.1/20" } ], "ContainerARN": "arn:aws:ecs:us-east-1:123456789012:container/MyEmptyCluster/bfa2636268144d039771334145e490c5/da6cccf7-1178-400c-afdf-7536173ee209", "Snapshotter": "overlayfs" }, { "DockerId": "bfa2636268144d039771334145e490c5-3681984407", "Name": "fargate-app", "DockerName": "fargate-app", "Image": "public.ecr.aws/docker/library/httpd:latest", "ImageID": "sha256:8059bdd0058510c03ae4c808de8c4fd2c1f3c1b6d9ea75487f1e5caa5ececa02", "Labels": { "com.amazonaws.ecs.cluster": "arn:aws:ecs:us-east-1:123456789012:cluster/MyEmptyCluster", "com.amazonaws.ecs.container-name": "fargate-app", "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-1:123456789012:task/MyEmptyCluster/bfa2636268144d039771334145e490c5", "com.amazonaws.ecs.task-definition-family": "sample-fargate", "com.amazonaws.ecs.task-definition-version": "5" }, "DesiredStatus": "RUNNING", "KnownStatus": "RUNNING", "Limits": { "CPU": 2 }, "CreatedAt": "2023-07-21T15:45:44.954460255Z", "StartedAt": "2023-07-21T15:45:44.954460255Z", "Type": "NORMAL", "Networks": [ { "NetworkMode": "awsvpc", "IPv4Addresses": ["172.31.42.189"], "AttachmentIndex": 0, "MACAddress": "0e:98:9f:33:76:d3", "IPv4SubnetCIDRBlock": "172.31.32.0/20", "DomainNameServers": ["172.31.0.2"], "DomainNameSearchList": ["ec2.internal"], "PrivateDNSName": "ip-172-31-42-189.ec2.internal", "SubnetGatewayIpv4Address": "172.31.32.1/20" } ], "ContainerARN": "arn:aws:ecs:us-east-1:123456789012:container/MyEmptyCluster/bfa2636268144d039771334145e490c5/f65b461d-aa09-4acb-a579-9785c0530cbc", "Snapshotter": "overlayfs" } ], "LaunchType": "FARGATE", "ClockDrift": { "ClockErrorBound": 0.446931, "ReferenceTimestamp": "2023-07-21T16:09:17Z", "ClockSynchronizationStatus": "SYNCHRONIZED" }, "EphemeralStorageMetrics": { "Utilized": 261, "Reserved": 20496 } }

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

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

{ "3d1f891cded94dc795608466cce8ddcf-464223573": { "read": "2020-10-08T21:24:44.938937019Z", "preread": "2020-10-08T21:24:34.938633969Z", "pids_stats": {}, "blkio_stats": { "io_service_bytes_recursive": [ { "major": 202, "minor": 26368, "op": "Read", "value": 638976 }, { "major": 202, "minor": 26368, "op": "Write", "value": 0 }, { "major": 202, "minor": 26368, "op": "Sync", "value": 638976 }, { "major": 202, "minor": 26368, "op": "Async", "value": 0 }, { "major": 202, "minor": 26368, "op": "Total", "value": 638976 } ], "io_serviced_recursive": [ { "major": 202, "minor": 26368, "op": "Read", "value": 12 }, { "major": 202, "minor": 26368, "op": "Write", "value": 0 }, { "major": 202, "minor": 26368, "op": "Sync", "value": 12 }, { "major": 202, "minor": 26368, "op": "Async", "value": 0 }, { "major": 202, "minor": 26368, "op": "Total", "value": 12 } ], "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": 1137691504, "percpu_usage": [ 696479228, 441212276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "usage_in_kernelmode": 80000000, "usage_in_usermode": 810000000 }, "system_cpu_usage": 9393210000000, "online_cpus": 2, "throttling_data": { "periods": 0, "throttled_periods": 0, "throttled_time": 0 } }, "precpu_stats": { "cpu_usage": { "total_usage": 1136624601, "percpu_usage": [ 695639662, 440984939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "usage_in_kernelmode": 80000000, "usage_in_usermode": 810000000 }, "system_cpu_usage": 9373330000000, "online_cpus": 2, "throttling_data": { "periods": 0, "throttled_periods": 0, "throttled_time": 0 } }, "memory_stats": { "usage": 6504448, "max_usage": 8458240, "stats": { "active_anon": 1675264, "active_file": 557056, "cache": 651264, "dirty": 0, "hierarchical_memory_limit": 536870912, "hierarchical_memsw_limit": 9223372036854772000, "inactive_anon": 0, "inactive_file": 3088384, "mapped_file": 430080, "pgfault": 11034, "pgmajfault": 5, "pgpgin": 8436, "pgpgout": 7137, "rss": 4669440, "rss_huge": 0, "total_active_anon": 1675264, "total_active_file": 557056, "total_cache": 651264, "total_dirty": 0, "total_inactive_anon": 0, "total_inactive_file": 3088384, "total_mapped_file": 430080, "total_pgfault": 11034, "total_pgmajfault": 5, "total_pgpgin": 8436, "total_pgpgout": 7137, "total_rss": 4669440, "total_rss_huge": 0, "total_unevictable": 0, "total_writeback": 0, "unevictable": 0, "writeback": 0 }, "limit": 9223372036854772000 }, "name": "curltest", "id": "3d1f891cded94dc795608466cce8ddcf-464223573", "networks": { "eth1": { "rx_bytes": 2398415937, "rx_packets": 1898631, "rx_errors": 0, "rx_dropped": 0, "tx_bytes": 1259037719, "tx_packets": 428002, "tx_errors": 0, "tx_dropped": 0 } }, "network_rate_stats": { "rx_bytes_per_sec": 43.298687872232854, "tx_bytes_per_sec": 215.39347269466413 } } }