

# Amazon ECS コンテナメタデータファイル
<a name="container-metadata"></a>

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

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

**Topics**
+ [コンテナメタデータファイルの場所](#metadata-file-locations)
+ [Amazon ECS コンテナメタデータをオンにする](enable-metadata.md)
+ [Amazon ECS コンテナメタデータファイル形式](metadata-file-format.md)

## コンテナメタデータファイルの場所
<a name="metadata-file-locations"></a>

デフォルトでは、コンテナメタデータファイルは、次のホストパスとコンテナパスに書き込まれます。
+ **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 コンテナエージェントの設定](ecs-agent-config.md)」を参照してください。
  + コンテナパス: `/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
  ```