Amazon でスケジュールに従って実行されるルールの作成 EventBridge - Amazon EventBridge

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

Amazon でスケジュールに従って実行されるルールの作成 EventBridge

ルールは、イベントに応じて実行したり、一定の時間間隔で実行したりすることができます。例えば、 AWS Lambda 関数を定期的に実行するには、スケジュールに従って実行するルールを作成します。

注記

スケジュールに従って実行するルールを作成できますが、スケジュールされたタスクを一元的に作成、実行、管理するためのより柔軟で強力な方法を提供する EventBridge ようになりました EventBridge スケジューラ。では EventBridge スケジューラ、繰り返しパターンの cron 式と rate 式を使用してスケジュールを作成したり、1 回限りの呼び出しを設定したりできます。配信の柔軟な時間枠を設定し、再試行制限を定義し、失敗したAPI呼び出しの最大保持時間を設定できます。

スケジューラは高度にカスタマイズ可能で、スケジュールされたルールよりもスケーラビリティが向上し、より広範なターゲットAPIオペレーションと AWS サービスを提供します。スケジュールに従ってターゲットを呼び出すには、スケジューラを使用することをお勧めします。

詳細については、「新しいスケジュールを作成する」を参照してください。

では EventBridge、2 種類のスケジュールされたルールを作成できます。

  • 一定の間隔で実行するルール

    EventBridge は、20 分ごとなど、一定の間隔でこれらのルールを実行します。

    スケジュールされたルールのレートを指定するには、rate 式を定義します。

  • 特定の時間に実行するルール

    EventBridge は、午前 8 時など、特定の日時でこれらのルールを実行します。PST 毎月第 1 月曜日に。

    スケジュールされたルールを実行する時刻と日付を指定するには、cron 式を定義します。

rate 式は定義がより簡単であり、cron 式はスケジュールを詳細に制御します。例えば、cron 式を使用すると、毎週、または毎月の特定の日の指定した時刻に実行されるルールを定義できます。それに対して、rate 式では、1 時間に 1 回または 1 日 1 回など、一定の間隔でルールを実行します。

スケジュールされたイベントはすべて UTC+0 タイムゾーンを使用し、スケジュールの最小精度は 1 分です。

注記

EventBridge は、スケジュール式で第 2 レベルの精度を提供しません。cron 式を使用した最小の粒度は 1 分です。 EventBridge とターゲットサービスの分散性により、スケジュールされたルールがトリガーされてからターゲットサービスがターゲットリソースを実行するまでに数秒の遅延が発生する可能性があります。

次のビデオでは、タスクのスケジューリングの概要を示します。

定期的に実行するルールの作成

次の手順では、定期的なスケジュールで実行される EventBridge ルールを作成する方法について説明します。

注記

スケジュールされたルールは、デフォルトのイベントバスを使用してのみ作成できます。

ルールを定義する

まず、ルールを識別するため、ルールの名前と説明を入力します。

ルールの詳細を定義するには
  1. で Amazon EventBridge コンソールを開きますhttps://console.aws.amazon.com/events/

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

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

  4. ルールの名前を入力し、オプションで説明を入力します。

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

  5. [イベントバス] で、デフォルトのイベントバスを選択します。スケジュールされたルールは、デフォルトのイベントバスを使用してのみ作成できます。

  6. ルールを作成してすぐに有効にするには、[選択したイベントバスでルールを有効にする] オプションをオンにします。

  7. ルールタイプ では、スケジュール] を選択します。

    この時点で、スケジュールに従って実行されるルールの作成を続行するか、Amazon EventBridge Scheduler を使用するかを選択できます。

  8. 続行する方法を選択します。

    • ス EventBridge ケジューラを使用してスケジュールを作成する

      注記

      EventBridge スケジューラはサーバーレススケジューラで、1 つの中央マネージドサービスからタスクを作成、実行、管理できます。イベントバスやルールに依存しない、1 回限りの定期的なスケジューリング機能を提供します。 EventBridge スケジューラは高度にカスタマイズ可能で、スケジュール EventBridge されたルールよりもスケーラビリティが向上し、より広範なターゲットAPIオペレーションと AWS サービスを提供します。

      スケジュールに従ってターゲットを呼び出すには、スケ EventBridge ジューラを使用することをお勧めします。詳細については、「Amazon EventBridge Scheduler ユーザーガイド」の「Amazon EventBridge Scheduler とは」を参照してください。

      1. スケ EventBridge ジューラで続行を選択します。

        EventBridge ス EventBridge ケジューラコンソールがスケジュールの作成ページを開きます。

      2. スケ EventBridge ジューラコンソールでスケジュールを作成します

    • 引き続き EventBridge を使用して、デフォルトのイベントバスのスケジュールされたルールを作成します。

      1. [続行してルールを作成する] を選択します。

スケジュールを定義する

次に、スケジュールパターンを定義します。

スケジュールパターンを定義するには
  1. [スケジュールパターン] で、スケジュールを特定の時間に実行するか、一定の間隔で実行するかを選択します。

    Specific time
    1. 毎月第一月曜日の太平洋標準日午前 8:00 など、PST 毎月第 1 月曜日の 。

    2. Cron 式 では、このスケジュールされたルールをいつ実行するかを決定するために EventBridge が使用する cron 式を定義するフィールドを指定します。

      すべてのフィールドを指定すると、 は がこのスケジュールされたルールを実行する次の 10 EventBridge 個の日付 EventBridge を表示します。これらの日付を UTCまたはローカルタイムゾーン のどちらに表示するかを選択できます。

      cron 式の作成の詳細については、「cron 式」を参照してください。

    Regular rate
    1. 一定の間隔 (10 分ごとなど) で実行するスケジュールを選択します。

    2. Rate 式 では、Value フィールドと Unit フィールドを指定して、 がこのスケジュールされたルール EventBridge を実行するレートを定義します。

      rate 式の作成の詳細については、「rate 式」を参照してください。

  2. [次へ] をクリックします。

ターゲットを選択する

指定されたパターンに一致するイベントを受信するターゲットを 1 つまたは複数選択します。ターゲットには、 EventBridge イベントバス、 EventBridge APISalesforce などの SaaS パートナーを含む送信先、または別の を含めることができます AWS のサービス。

ターゲットを選択するには
  1. [ターゲットタイプ] で、以下のいずれかのターゲットタイプを選択します。

    Event bus

    EventBridge イベントバスを選択するには、EventBridge イベントバス を選択し、次の操作を行います。

    API destination

    送信先を使用するには EventBridge API、EventBridge API送信先 を選択し、次のいずれかを実行します。

    • 既存のAPI送信先を使用するには、「既存のAPI送信先を使用する」を選択します。次に、ドロップダウンリストからAPI送信先を選択します。

    • 新しいAPI送信先を作成するには、新しい送信API先の作成 を選択します。次に、送信先について次の詳細を指定します。

      • [Name] (名前) に、イベント送信先の名前を入力します。

        ロール名は AWS アカウント内で一意である必要があります。文字列は 64 文字まで設定できます。有効な文字は、A-Za-z0-9、および ._- (ハイフン) です。

      • (オプション) [Description (説明) に、アクションの簡潔な説明を入力します。

        説明の長さは、最大 512 文字です。

      • API 送信先エンドポイント — ターゲットのURLエンドポイント。

        エンドポイントは で始まるURL必要がありますhttps* をパスパラメータワイルドカードとして含めることができます。ターゲットの HttpParameters 属性からパスパラメータを設定できます。

      • HTTP method – エンドポイントを呼び出すときに使用するHTTPメソッドを選択します。

      • (オプション) [Invocation rate limit per second] (1 秒あたりの呼び出しレート制限) — この送信先で 1 秒あたりに受け入れられる呼び出しの最大数を入力します。

        この値はゼロより大きくなければなりません。デフォルトでは、この値は 300 に設定されます。

      • [接続] — 新しい接続を使用するか既存の接続を使用するかを選択します。

        • 既存の接続を使用するには、[既存の接続を使用] を選択し、ドロップダウンリストから接続を選択します。

        • この送信先に新しい接続を作成するには、[Create a new connection] (新しい接続を作成する) を選択し、その接続の [Name] (名前)、[Destination type] (送信先タイプ)、および[Authorization type] (認証タイプ) を定義します。この接続にオプションの [Description] (説明) を追加することもできます。

    詳細については、「API Amazon のターゲットとしての 送信先 EventBridge」を参照してください。

    AWS のサービス

    を使用するには AWS のサービス、 を選択しAWS のサービス、次の操作を行います。

    1. [Select a target] (ターゲットの選択) で、ターゲットとして使用する AWS のサービス を選択します。選択したサービスにリクエストされた情報を入力します。

      注記

      表示されるフィールドは、選択したサービスによって異なります。利用できるターゲットの詳細については、「コンソールで使用できる EventBridgeイベントバスターゲット」を参照してください。

  2. 多くのターゲットタイプでは、 にはターゲットにイベントを送信するためのアクセス許可 EventBridge が必要です。このような場合、 EventBridge はルールの実行に必要なIAMロールを作成できます。

    [Execution role] (実行ロール) では、次のいずれかを実行します。

    • このルールの新しい実行ロールを作成するには:

      1. [この特定のリソースについて新しいロールを作成] を選択します。

      2. この実行ロールの名前を入力するか、 によって生成された名前を使用します EventBridge。

    • このルールに既存の実行ロールを使用するには:

      1. [既存のロールを使用] を選択します。

      2. 使用する実行ロールの名前を入力するか、ドロップダウンリストから選択します。

  3. (オプション) [追加設定] には、ターゲットタイプで使用できるオプション設定のいずれかを指定します。

    Event bus

    (オプション) デッドレターキュー では、標準の Amazon SQSキューをデッドレターキューとして使用するかどうかを選択します。 は、このルールに一致する EventBridge イベントがターゲットに正常に配信されない場合、デッドレターキューに送信します。次のいずれかを行います。

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

    • デッドレターSQSキューとして使用する現在の AWS アカウントの Amazon キューを選択を選択し、ドロップダウンリストから使用するキューを選択します。

    • 他の AWS アカウントの Amazon SQSキューをデッドレターキューとして選択を選択し、使用するキューARNの を入力します。メッセージを送信するアクセス許可を付与 EventBridgeするリソースベースのポリシーをキューにアタッチする必要があります。

      詳細については、「デッドレターキューへのアクセス許可の付与」を参照してください。

    API destination
    1. (オプション) [ターゲット入力を設定] で、一致するイベントに対してターゲットに送信されるテキストをカスタマイズする方法を選択します。以下のうちのひとつを選択します。

      • 一致するイベント – 元のソースイベント全体をターゲット EventBridge に送信します。これがデフォルトです。

      • 一致したイベントの一部 — 元のソースイベントの指定された部分 EventBridge のみをターゲットに送信します。

        一致したイベント の部分を指定する で、ターゲット EventBridge に送信するイベントの部分を定義するJSONパスを指定します。

      • 定数 (JSONテキスト) – 指定されたJSONテキスト EventBridge のみをターゲットに送信します。元のソースイベントは、いずれの部分も送信されません。

        で定数を指定する JSONで、イベントの代わりにターゲット EventBridge に送信するJSONテキストを指定します。

      • Input Transformer – ターゲットに送信するテキストをカスタマイズ EventBridge するように入力トランスフォーマーを設定します。詳細については、「Amazon EventBridge 入力変換」を参照してください。

        1. [入力トランスフォーマーを設定] を選択します。

        2. でルールを作成するときに入力トランスフォーマーを設定する EventBridge」の手順に従って入力トランスフォーマーを設定します。

    2. (オプション) 再試行ポリシー EventBridge で、エラーが発生した後に がターゲットへのイベントの送信を再試行する方法を指定します。

      • イベントの最大経過時間 – が未処理のイベント EventBridge を保持する最大時間 (時間、分、秒) を入力します。デフォルトは 24 時間です。

      • 再試行回数 - エラー発生後に EventBridge がターゲットへのイベントの送信を再試行する最大回数を入力します。デフォルトは 185 回です。

    3. (オプション) デッドレターキュー で、標準の Amazon SQSキューをデッドレターキューとして使用するかどうかを選択します。 は、このルールに一致する EventBridge イベントがターゲットに正常に配信されない場合、デッドレターキューに送信します。次のいずれかを行います。

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

      • デッドレターSQSキューとして使用する現在の AWS アカウントの Amazon キューを選択を選択し、ドロップダウンリストから使用するキューを選択します。

      • 他の AWS アカウントの Amazon SQSキューをデッドレターキューとして選択を選択し、使用するキューARNの を入力します。メッセージを送信する EventBridge アクセス許可を付与するリソースベースのポリシーをキューにアタッチする必要があります。

        詳細については、「デッドレターキューへのアクセス許可の付与」を参照してください。

    AWS service

    は、特定の AWS サービスの以下のフィールドをすべて表示しない EventBridge 場合があります。

    1. (オプション) [ターゲット入力を設定] で、一致するイベントに対してターゲットに送信されるテキストをカスタマイズする方法を選択します。以下のうちのひとつを選択します。

      • 一致するイベント – 元のソースイベント全体をターゲット EventBridge に送信します。これがデフォルトです。

      • 一致したイベントの一部 — 元のソースイベントの指定された部分 EventBridge のみをターゲットに送信します。

        一致したイベント の部分を指定する で、ターゲット EventBridge に送信するイベントの部分を定義するJSONパスを指定します。

      • 定数 (JSONテキスト) – 指定されたJSONテキスト EventBridge のみをターゲットに送信します。元のソースイベントは、いずれの部分も送信されません。

        で定数を指定する JSONで、イベントの代わりにターゲット EventBridge に送信するJSONテキストを指定します。

      • Input Transformer – ターゲットに送信するテキストをカスタマイズ EventBridge するように入力トランスフォーマーを設定します。詳細については、「Amazon EventBridge 入力変換」を参照してください。

        1. [入力トランスフォーマーを設定] を選択します。

        2. でルールを作成するときに入力トランスフォーマーを設定する EventBridge」の手順に従って入力トランスフォーマーを設定します。

    2. (オプション) 再試行ポリシー EventBridge で、エラーが発生した後に がターゲットへのイベントの送信を再試行する方法を指定します。

      • イベントの最大経過時間 – が未処理のイベント EventBridge を保持する最大時間 (時間、分、秒) を入力します。デフォルトは 24 時間です。

      • 再試行回数 – エラー発生後に EventBridge がターゲットへのイベントの送信を再試行する最大回数を入力します。デフォルトは 185 回です。

    3. (オプション) デッドレターキュー では、標準の Amazon SQSキューをデッドレターキューとして使用するかどうかを選択します。 は、このルールに一致する EventBridge イベントがターゲットに正常に配信されない場合、デッドレターキューに送信します。次のいずれかを行います。

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

      • デッドレターSQSキューとして使用する現在の AWS アカウントの Amazon キューを選択を選択し、ドロップダウンリストから使用するキューを選択します。

      • 他の AWS アカウントの Amazon SQSキューをデッドレターキューとして選択を選択し、使用するキューARNの を入力します。メッセージを送信する EventBridge アクセス許可を付与するリソースベースのポリシーをキューにアタッチする必要があります。

        詳細については、「デッドレターキューへのアクセス許可の付与」を参照してください。

  4. (オプション) [Add another target] (別のターゲットを追加) を選択して、このルールに別のターゲットを追加します。

  5. [次へ] をクリックします。

タグとレビュールールを設定する

最後に、ルールに一致する任意のタグを入力し、ルールを確認して作成します。

タグを設定し、ルールを確認して作成するには
  1. (オプション) ルールに 1 つ以上のタグを入力します。詳細については、「Amazon でのリソースのタグ付け EventBridge」を参照してください。

  2. [Next] (次へ) を選択します。

  3. 新しいルールの詳細を確認します。セクションを変更するには、そのセクションの横にある [Edit] (編集) ボタンを選択します。

    ルールの詳細を確認したら、[Create rule] (ルールを作成) を選択します。