Amazon ECS コンテナメタデータファイル - Amazon Elastic Container Service

Amazon ECS コンテナメタデータファイル

Amazon ECS コンテナエージェントのバージョン 1.15.0 以降では、コンテナまたはホストコンテナインスタンス内でさまざまなコンテナメタデータを使用できます。この機能を有効にすると、タスク、コンテナ、およびコンテナ内部のコンテナインスタンスまたはホストコンテナインスタンスに関する情報をクエリできます。メタデータファイルはホストインスタンスで作成され、Docker ボリュームとしてコンテナにマウントされるため、タスクが AWS Fargate でホストされているときは使用できません。

コンテナメタデータファイルは、コンテナがクリーンアップされるときにホストインスタンスでクリーンアップされます。ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION コンテナエージェント変数により、クリーンアップを実行するタイミングを調整できます。詳細については、「Amazon ECS タスクおよびイメージの自動クリーンアップ」を参照してください。

コンテナメタデータファイルの場所

デフォルトでは、コンテナメタデータファイルは、次のホストパスとコンテナパスに書き込まれます。

  • Linux インスタンスの場合:

    • ホストポート: /var/lib/ecs/data/metadata/cluster_name/task_id/container_name/ecs-container-metadata.json

      注記

      Linux ホストパスでは、エージェントの起動時にデフォルトのデータディレクトリマウントパス (/var/lib/ecs/data) が使用されます。Amazon ECS に最適化された AMI を使用しない場合 (または、ecs-init パッケージを使用してコンテナエージェントを開始および維持しない場合) は、ECS_HOST_DATA_DIR エージェント設定変数を、コンテナエージェントの状態ファイルがあるホストパスに設定します。詳細については、「Amazon ECS コンテナエージェントの設定」を参照してください。

    • コンテナパス: /opt/ecs/metadata/random_ID/ecs-container-metadata.json

  • Windows インスタンスの場合:

    • ホストポート: C:\ProgramData\Amazon\ECS\data\metadata\task_id\container_name\ecs-container-metadata.json

    • コンテナパス: C:\ProgramData\Amazon\ECS\metadata\random_ID\ecs-container-metadata.json

ただし、簡単にアクセスできるようにするため、コンテナメタデータファイルの場所は、コンテナ内の ECS_CONTAINER_METADATA_FILE 環境変数に設定されます。コンテナ内から、以下のコマンドを使用してファイルの内容を読み取ることができます。

  • Linux インスタンスの場合:

    cat $ECS_CONTAINER_METADATA_FILE
  • Windows インスタンス (PowerShell) の場合:

    Get-Content -path $env:ECS_CONTAINER_METADATA_FILE