Amazon ECS アクションログの導入
Amazon ECS アクションログは、Amazon CloudWatch Logs が提供するログ配信メカニズムを使用して、サービスアクションの詳細なレコードを任意の送信先に発行します。アクションログを有効にすると、インフラストラクチャのプロビジョニング、リソース登録、障害の詳細など、Amazon ECS がデプロイおよびデーモンオペレーション中に実行するすべての手順を確認できます。この可視性により、AWS サポートに連絡せずに問題をトラブルシューティングし、根本原因の特定にかかる時間を短縮できます。Amazon ECS コンソールまたは CloudWatch Logs APIs を使用して、クラスターのアクションログを有効にできます。
前提条件
アクションログを有効にする前に、IAM ID に必要なアクセス許可があることを確認してください。
必要な IAM 許可
アクションログを有効化および管理するには、IAM ID に次のアクセス許可が必要です。
{ "Effect": "Allow", "Action": [ "logs:PutDeliverySource", "logs:PutDeliveryDestination", "logs:CreateDelivery", "logs:GetDelivery", "ecs:AllowVendedLogDeliveryForResource" ], "Resource": "*" }
送信先リソースポリシー
送信先の CloudWatch Logs ロググループには、delivery.logs.amazonaws.com サービスがログを書き込むことを許可するリソースポリシーが必要です。ロググループリソースポリシーに次のステートメントを追加します。
{ "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:*" }
Amazon ECS コンソールを使用してアクションログを有効にする
アクションログは、Amazon ECS コンソールのクラスターの詳細ページから直接有効にできます。
コンソールを使用してアクションログを有効にするには
コンソールをhttps://console.aws.amazon.com/ecs/v2
で開きます。 -
ナビゲーションペインで、[クラスター] を選択し、次にクラスターを選択します。
-
[設定] タブを選択します。
-
[アクションログ] セクションで、[追加] を選択します。
-
[Destination] で、以下のいずれかのオプションを選択します。
-
[CloudWatch Logs] (デフォルト)
-
Amazon S3
-
Amazon Data Firehose
CloudWatch Logs の場合、Amazon ECS は 7 日間の保持期間を持つ
/aws/vendedlogs/ecs/action-logs/という名前のデフォルトのロググループを作成します。cluster-name -
-
[保存] を選択します。
CloudWatch Logs API を使用してアクションログを有効にする
アクションログは、CloudWatch Logs が提供するログ配信 API を使用してプログラムで有効にできます。このアプローチには、配信ソースの登録、送信先の設定、配信の作成の 3 つの手順が必要です。
AWS CLI を使用してアクションログを有効にするには
-
次のコマンドを実行して、配信ソースを登録します。
aws logs put-delivery-source \ --namemy-ecs-action-logs\ --resource-arn arn:aws:ecs:region:account-id:cluster/cluster-name\ --log-type EcsActionLogs -
次のコマンドを実行して、配信先を設定します。
aws logs put-delivery-destination \ --namemy-ecs-logs-destination\ --output-format json \ --delivery-destination-configuration '{"destinationResourceArn": "arn:aws:logs:region:account-id:log-group:/aws/vendedlogs/ecs/action-logs/cluster-name"}' -
次のコマンドを実行して、送信元を送信先にリンクする配信を作成します。
aws logs create-delivery \ --delivery-source-namemy-ecs-action-logs\ --delivery-destination-arn arn:aws:logs:region:account-id:delivery-destination:my-ecs-logs-destination
ログ配信を確認する
アクションログを有効にしたら、ログが送信先に配信されていることを確認します。
ログ配信を確認するには
-
クラスターでアクションをトリガーします。たとえば、デーモンサービスを作成または更新します。
-
CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/ を開いてください。
-
ナビゲーションペインで、[Log groups] (ロググループ) を選択します。
-
アクションログロググループを選択し、新しいログストリームが表示されることを確認します。
アクションログの削除
アクションログは、AWS CLI または Amazon ECS コンソールを使用して削除できます。
アクションログを削除するには、IAM ID に次の追加のアクセス許可が必要です。
{ "Effect": "Allow", "Action": [ "logs:DeleteDelivery", "logs:DeleteDeliverySource", "logs:DeleteDeliveryDestination" ], "Resource": "*" }
AWS CLI を使用してアクションログを削除するには
-
次のコマンドを実行して、配信を削除します。
aws logs delete-delivery \ --delivery-iddelivery-id -
次のコマンドを実行して、配信ソースを削除します。
aws logs delete-delivery-source \ --namemy-ecs-action-logs -
次のコマンドを実行して、配信先を削除します。
aws logs delete-delivery-destination \ --namemy-ecs-logs-destination
コンソールを使用してアクションログを削除するには、クラスターの詳細ページに移動し、[設定] タブを選択し、[アクションログ] セクションで [削除] を選択します。
次のステップ
アクションログを有効にしたら、次のリソースを使用して Amazon ECS クラスターをモニタリングおよびトラブルシューティングします。