チュートリアル: Job 停止イベントに Amazon シンプル通知サービスアラートを送信 - AWS Batch

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

チュートリアル: Job 停止イベントに Amazon シンプル通知サービスアラートを送信

このチュートリアルでは、 EventBridge ジョブがに移動したジョブイベントのみをキャプチャするイベントルールFAILEDstatus。このチュートリアルの最後に、このジョブキューにジョブを送信することもできます。これは、Amazon SNS アラートが正しく設定されていることをテストするためです。

前提条件

このチュートリアルでは、コンピューティング作業環境と、ジョブを受け付けることができるジョブキューがあることを前提としています。イベントをキャプチャするコンピューティング作業環境とジョブキューがなければ、「AWS Batch の使用開始」のステップに従って作成します。

ステップ 1: Amazon SNS トピックを作成してサブスクライブする

このチュートリアルでは、新しいイベントルールのイベントターゲットとして使用する Amazon SNS トピックを設定します。

Amazon SNS トピックを作成するには

  1. Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. [Topics] (トピック)、[Create topic] (トピックの作成) の順に選択します。

  3. [Topic name] (トピック名) については、JobFailedAlert を入力し、[Create topic] (トピックを作成) を選択します。

  4. 先ほど作成したトピックを選択します。リポジトリの []トピックの詳細: JobFailedAlert画面で、サブスクリプションの作成

  5. [Protocol] (プロトコル) として [Email] (E メール) を選択します。[Endpoint] (エンドポイント) では、現在アクセスできるメールアドレスを入力し、[Create subscription] (サブスクリプションの作成) を選択します。

  6. メールアカウントを確認し、サブスクリプションの確認メールメッセージが届くのを待ちます。確認メールが届いたら、[Confirm subscription] (サブスクリプションの確認) を選択します。

ステップ 2: イベントルールを登録する

次に、失敗したジョブイベントのみをキャプチャするイベントルールを登録します。

登録するには EventBridge ルール

  1. Amazon を開きます。 EventBridge コンソール名https://console.aws.amazon.com/events/

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

  3. [ルールの作成] を選択します。

  4. ルールの名前と説明を入力します。

    ルールには、同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

  5. を使用する場合パターンを定義するで、イベントパターンイベントソースとして、カスタムパターン

  6. 次のイベントパターンをテキストエリアに貼り付けます。

    { "detail-type": [ "Batch Job State Change" ], "source": [ "aws.batch" ], "detail": { "status": [ "FAILED" ] } }

    このコードは、 EventBridge ジョブのステータスがであるイベントに一致するルールFAILED。イベントパターンの詳細については、「」を参照してください。イベントとイベントパターンAmazon EventBridge ユーザーガイド

  7. このルールは、すべての AWS Batch グループとすべての AWS Batch イベントに適用されます。または、より具体的なルールを作成し、一部の結果をフィルタで除外することもできます。

  8. Select event bus (イベントバスを選択)で、AWS default event bus を選択します。スケジュールされたルールは、デフォルトのイベントバスでのみ作成できます。

  9. を使用する場合ターゲットを選択、でターゲットで、SNS トピック[] を選択し、JobFailedAlert

  10. Retry policy and dead-letter queue:(ポリシーとデッドレターキューを再試行:)のRetry policy(再試行ポリシー)で次の操作を実行します。

    1. [Maximum age of event] (イベントの最大有効期間) に、1 分 (00:01) から 24 時間 (24:00) の間の値を入力します。

    2. Retry attempts(再試行)で、0~185 の数値を入力します。

    3. を使用する場合デッドレターキューで、標準 Amazon SQS キューをデッドレターキューとして使用するかどうかを選択します。 EventBridge は、このルールに一致するイベントがターゲットに配信できなかった場合に、そのイベントをデッドレターキューに送信します。以下のいずれかを実行します。

      • デッドレターキューを使用しない場合は、None(なし) を選択します。

      • Select an Amazon SQS queue in the current AWS account to use as the dead-letter queue(デッドレターキューとして使用する現在の アカウントの Amazon SQS キューを選択) を選択し、ドロップダウンリストから使用するキューを選択します。

      • Select an Amazon SQS queue in an other AWS account as a dead-letter queue(他の アカウントの Amazon SQS キューをデッドレターキューとして選択) を選択し、使用するキューの ARN を入力します。

  11. (オプション) ルールに1 つ以上のタグを入力します。

  12. [Create] を選択します。

ステップ 3: ルールをテストする

ルールをテストするには、ゼロ以外の終了コードで開始直後に終了するジョブを送信します。イベントルールが正しく設定されていれば、数分以内にイベントテキストが記載されたメールメッセージが届きます。

ルールをテストするには

  1. を開くAWS Batchコンソール名https://console.aws.amazon.com/batch/

  2. 新しい AWS Batch ジョブを送信します。詳細については、「ジョブの送信」を参照してください。ジョブのコマンドでは、このコマンドを置き換え、終了コード 1 でコンテナを終了します。

    /bin/sh, -c, 'exit 1'
  3. 失敗したジョブの通知に関するアラートのメールが届いていることを確認します。