コンテナインスタンスのモニタリング
ログ情報を CloudWatch Logs に送信するように、コンテナインスタンスを設定できます。これにより、コンテナインスタンスからのさまざまなログを、利便性の良い単一の場所で表示できるようになります。このトピックは、Amazon ECS に最適化された Amazon Linux AMI で起動されたコンテナインスタンスでの CloudWatch Logs の使用開始に役立ちます。
タスクのコンテナログを CloudWatch Logs に送信に関する詳細については、「awslogs ログドライバーを使用する」を参照してください。CloudWatch Logs の使用の詳細については、Amazon CloudWatch ユーザーガイドの「ログファイルのモニタリング」を参照してください。
CloudWatch Logs IAM ポリシー
コンテナインスタンスが CloudWatch Logs にログデータを送信する前に、コンテナインスタンスに CloudWatch Logs API の使用を許可する IAM ポリシーを作成し、そのポリシーを ecsInstanceRole
にアタッチする必要があります。
ECS-CloudWatchLogs
IAM ポリシーを作成するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[Policies] (ポリシー) を選択します。
-
[Create policy] (ポリシーの作成)、[JSON] を選択します。
-
以下のポリシーを入力します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
-
[Review policy] (ポリシーの確認) を選択します。
-
[Review policy] (ポリシーの確認) ページで、[Name] (名前) に
ECS-CloudWatchLogs
を入力し、[Create policy] (ポリシーの作成) を選択します。
ECS-CloudWatchLogs
ポリシーを ecsInstanceRole
にアタッチするには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで [Roles] (ロール) を選択します。
-
ecsInstanceRole
を選択します。ロールが存在しない場合は、「Amazon ECS コンテナインスタンスの IAM ロール」の手順に従ってロールを作成します。 -
ナビゲーションペインで、[ポリシー] を選択します。
-
ECS-CloudWatchLogsを選択します。
-
[Policy actions]、[Attach] を選択します。
-
アタッチする利用可能なポリシーを絞り込むには、[フィルター] に ecsInstance と入力します。
-
ecsInstanceロールを選択し、ポリシーのアタッチを選択します。
CloudWatch エージェントをインストールして設定する
ecsInstanceRole
に ECS-CloudWatchLogs
ポリシーを追加した後、コンテナインスタンスに CloudWatch エージェントをインストールできます。
詳細については、Amazon CloudWatch ユーザーガイドの「コマンドラインを使用して CloudWatch エージェントをダウンロードおよび設定する」を参照してください。
CloudWatch Logs の表示
CloudWatch Logs にログを送信するための適切なアクセス権限をコンテナインスタンスロールに付与し、エージェントを設定して開始した後、コンテナインスタンスからそのログデータが CloudWatch Logs に送信されるようになります。ログの表示方法については、「Amazon CloudWatch Logs ユーザーガイド」の「CloudWatch Logs に送信されたログデータの表示」を参照してください。
新しいインスタンスの起動では、CloudWatch Logs へのデータの送信に数分かかることがあります。