

# Amazon ECS ログコレクターを使用したコンテナログの収集
<a name="ecs-logs-collector"></a>

**注記**  
Amazon ECS マネージドインスタンスで Amazon ECS ログコレクターを使用することはできません。

コンテナインスタンスのさまざまなログをすべて収集する方法がわからない場合は、Amazon ECS ログコレクターを使用できます。[Linux](https://github.com/awslabs/ecs-logs-collector) 用と [Windows](https://github.com/awslabs/aws-ecs-logs-collector-for-windows) 用のいずれも GitHub で入手できます。スクリプトは一般的なオペレーティングシステムログおよび Docker と Amazon ECS コンテナエージェントログを収集します。これらは、AWS サポート ケースのトラブルシューティングに役立ちます。次に、収集された情報が、診断目的で簡単に共有することができる 1 つのファイルに圧縮およびアーカイブされます。また、Docker デーモン、および Amazon Linux バリアントで Amazon ECS コンテナエージェント (Amazon ECS 最適化 AMI など) に対してデバッグモードを有効にすることもできます。

**注記**  
Amazon Linux Amazon ECS 最適化 AMI のバージョン 20250909 以降では、Amazon ECS ログコレクターが `/opt/amazon/ecs/ecs-logs-collector.sh` にあらかじめインストールされているため、GitHub からダウンロードしなくても使用をすぐに開始できます。詳細については、ECS 最適化 AMI ドキュメントの「[ECS Logs Collector](https://github.com/aws/amazon-ecs-ami?tab=readme-ov-file#ecs-logs-collector)」を参照してください。

現在、Amazon ECS ログコレクターでは以下のオペレーティングシステムがサポートしています:
+ Amazon Linux
+ Red Hat Enterprise Linux
+ Ubuntu
+ Windows サーバー

**Linux 用 Amazon ECS ログコレクターを実行するには (ECS 最適化 AMI)**

1. コンテナインスタンスに接続します。

1. スクリプトを実行してログを収集し、アーカイブを作成します。
**注記**  
Docker デーモンと Amazon ECS コンテナエージェントに対してデバッグモードを有効にするには、次のコマンドに `--mode=enable-debug` オプションを追加します。これにより、Docker デーモンが再起動され、インスタンスで実行されているすべてのコンテナが強制終了されます。デバッグモードを有効にする前に、コンテナインスタンスをドレインし、重要なタスクを他のコンテナインスタンスに移動することを検討してください。詳細については、「[Amazon ECS コンテナインスタンスをドレインする](container-instance-draining.md)」を参照してください。

   ```
   [ec2-user ~]$ sudo /opt/amazon/ecs/ecs-logs-collector.sh
   ```

スクリプトを実行した後、スクリプトによって作成された `collect` フォルダに収集されたログを調べることができます。`collect.tgz` ファイルはすべてのログの圧縮アーカイブであり、AWS サポートと共有することで診断に役立ちます。

**LinuxにAmazon ECS ログコレクターをダウンロードして実行するには**

1. コンテナインスタンスに接続します。

1. Amazon ECS ログ コレクタースクリプトをダウンロードします。

   ```
   curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
   ```

1. スクリプトを実行してログを収集し、アーカイブを作成します。

   ```
   $ sudo bash ./ecs-logs-collector.sh
   ```

**WindowsでAmazon ECS ログコレクターをダウンロードして実行するには**

1. コンテナインスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[RDP を使用した Windows インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)」を参照してください。

1. PowerShell を使用して、Amazon ECSログコレクターのスクリプトをダウンロードします。

   ```
   Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
   ```

1. スクリプトを実行してログを収集し、アーカイブを作成します。
**注記**  
Docker デーモンと Amazon ECS コンテナエージェントに対してデバッグモードを有効にするには、次のコマンドに `-RunMode debug` オプションを追加します。これにより、Docker デーモンが再起動され、インスタンスで実行されているすべてのコンテナが強制終了されます。デバッグモードを有効にする前に、コンテナインスタンスをドレインし、重要なタスクを他のコンテナインスタンスに移動することを検討してください。詳細については、「[Amazon ECS コンテナインスタンスをドレインする](container-instance-draining.md)」を参照してください。

   ```
   .\ecs-logs-collector.ps1
   ```

スクリプトを実行した後、スクリプトによって作成された `collect` フォルダに収集されたログを調べることができます。`collect.tgz` ファイルはすべてのログの圧縮アーカイブであり、診断に役立つように AWS サポートと共有できます。