AWS Batch での CloudWatch Logs の使用 - AWS Batch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Batch での CloudWatch Logs の使用

ログ情報を CloudWatch Logs に送信するように、EC2リソースのAWS Batchのジョブを設定できます。このようにして、1つの便利な場所でジョブからのさまざまなログを表示できます。CloudWatch Logs の詳細については、Amazon CloudWatch ユーザーガイドのAmazon CloudWatch Logs とはを参照してください。

注記

デフォルトにより、CloudWatch Logs のログはAWSのFargate コンテナで起動されます。

CloudWatch Logsのロギングを有効にしてカスタマイズするには、次の1回限りの設定タスクを確認してください:

  • EC2 リソースに基づくAWS Batchのコンピューティング環境では、IAM ポリシーを ecsInstanceRole ロールに追加します。詳細については、CloudWatch Logs IAM ポリシーの追加を参照してください。

  • 詳細な CloudWatch モニタリングを含む Amazon EC2 起動テンプレートを作成し、AWS Batchのコンピューティング環境の作成時にそのテンプレートを指定します。CloudWatch エージェントを既存のイメージにインストールし、AWS Batchの初回実行ウィザードでイメージを指定することもできます。

  • (オプション) awslogs ドライバーを設定します。EC2 リソースと Fargate リソースの両方で、デフォルトの動作を変更するパラメータを追加できます。詳細については、awslogs ログドライバーを使用するを参照してください。

CloudWatch Logs IAM ポリシーの追加

ジョブが CloudWatch Logs にログデータと詳細なメトリクスを送信する前に、CloudWatch Logs API を使用する IAM ポリシーを作成する必要があります。IAMポリシーを作成したら、ecsInstanceRole ロールにアタッチします。

注記

ECS-CloudWatchLogs ポリシーが ecsInstanceRole ロールにアタッチされていない場合でも、まだ基本メトリクスは CloudWatch Logs に送信できます。ただし、基本メトリックスには、ログデータや空きディスク容量などの詳細なメトリックスは含まれません。

AWS Batch コンピューティング環境は、Amazon EC2 リソースを使用します。AWS Batch 初回実行ウィザードを使用してコンピュート環境を作成すると、AWS Batch ロールが作成され、ecsInstanceRole そのロールを使用して環境が設定されます。

初回実行ウィザードを使用しない場合は、AWS Command Line Interface または AWS Batch API ecsInstanceRole でコンピューティング環境を作成するときにロールを指定できます。詳細については、AWS CLI コマンドリファレンスまたはAWS Batch API リファレンスを参照してください。

ECS-CloudWatchLogs IAM ポリシーを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、ポリシー を選択します。

  3. ポリシーの作成を選択します。

  4. JSON を選択し、以下のポリシーを入力します:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  5. Next: Tags] (次へ: タグ) を選択します。

  6. (オプション) タグを追加タグを追加 を選択し、ポリシーにタグを追加します。

  7. Next: Review] (次へ: レビュー) を選択します。

  8. ポリシーの確認 ページで、名前ECS-CloudWatchLogsと入力し、次にオプションで説明 に入力します。

  9. ポリシーの作成を選択します。

ECS-CloudWatchLogs ポリシーを ecsInstanceRole にアタッチするには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで Roles] (ロール) を選択します。

  3. ecsInstanceRole を選択します。ロールが存在しない場合は、Amazon ECS インスタンスロールの手順に従ってロールを作成します。

  4. アクセス許可を追加を選択し、次にポリシーをアタッチ を選択します。

  5. ECS-CloudWatchLogs ポリシーを選択してから、ポリシーのアタッチ を選択します。

CloudWatch エージェントをインストールして設定する

CloudWatch モニタリングを含む Amazon EC2 起動テンプレートを作成できます。起動テンプレートの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの起動テンプレートからのインスタンスの起動高度な詳細を参照してください。

既存の Amazon EC2 AMI に CloudWatch エージェントをインストールし、AWS Batch 初回実行ウィザードでイメージを指定することもできます。詳細については、CloudWatch エージェントのインストールAWS Batchを使い使用を開始する を参照してください。

注記

起動テンプレートは、AWS Fargate Fargate リソースではサポートされていません

CloudWatch Logs の表示

AWS Management Console で、 CloudWatch Logsでログを表示および検索できます。

注記

CloudWatch Logs にデータが表示されるまでに、数分かかる場合があります。

CloudWatch Logs に送信されたログデータを表示するには
  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. 左側のナビゲーションペインで ログ を選択してから ロンググループ を選択します。

    
            CloudWatch コンソールロググループ
  3. 表示するロググループを選択します。

    
            CloudWatch コンソールログストリーム
  4. 表示するログストリームを選択します。デフォルトでは、ストリームはジョブ名の最初の 200 文字と Amazon ECS タスク ID によって識別されます。

    ヒント

    ログストリームデータをダウンロードするには、アクション を選択します。

    
            CloudWatch コンソールログイベント