イベントに反応する Amazon EventBridge ルールの作成 - Amazon EventBridge

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

イベントに反応する Amazon EventBridge ルールの作成

Amazon EventBridge が受信したイベントに対してアクションを実行するには、ルールを作成できます。イベントがルールで定義したイベントパターンに一致すると、EventBridge は指定されたターゲットにイベントを送信し、ルールで定義されたアクションをトリガーします。

次のビデオでは、さまざまな種類のルールの作成とそのテスト方法について説明します。

イベントに反応するルールを作成する

次の手順では、EventBridge で指定先のイベントバスに送信するイベントのマッチングに使用するルールの作成方法を示します。

ルールを定義する

まず、ルールを識別するため、ルールの名前と説明を入力します。また、ルールがイベントパターンに一致するイベントを検索するイベントバスも定義する必要があります。

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

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

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

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

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

  5. [Event bus] (イベントバス) で、このルールに関連付けるイベントバスを選択します。このルールをアカウントからのイベントと一致させるには、AWS のデフォルトのイベントバスを選択します。アカウントの AWS のサービスで発生したイベントは、常にアカウントのデフォルトのイベントバスに移動します。

  6. [Rule type] (ルールタイプ) では、[Rule with an event pattern] (イベントパターンを持つルール) を選択します。

  7. [Next] (次へ) をクリックします。

イベントパターンを作成する

次に、イベントパターンを作成します。そのためには、イベントソースを指定し、イベントパターンのベースを選択し、照合する属性と値を定義します。また、JSON でイベントパターンを生成し、サンプルイベントに対してテストすることもできます。

イベントパターンを作成するには
  1. [Event source] (イベントソース) で、[AWS events or EventBridge partner events] ( イベントまたは EventBridge パートナーイベント) を選択します。

  2. (オプション) [サンプルイベント] セクションで、イベントパターンを照らし合わせてテストする [サンプルイベントタイプ] を選択します。

    次のサンプルイベントタイプを使用できます。

    • [AWS イベント] — サポートされている AWS のサービスから発行されたイベントを選択します。

    • [EventBridge partner events] (EventBridge パートナーイベント) — Salesforce など、EventBridge をサポートしているサードパーティのサービスから送信されるイベントから選択できます。

    • [自分のイベントを入力] — 自分のイベントを JSON テキストで入力します。

      独自のカスタムイベントを作成するための開始点として AWS イベントまたはパートナーイベントを使用することもできます。

      1. [AWS イベント] または [EventBridge パートナーイベント] を選択します。

      2. [サンプルイベント] ドロップダウンを使用して、カスタムイベントの開始点として使用するイベントを選択します。

        EventBridge にサンプルイベントが表示されます。

      3. [コピー] を選択します。

      4. [イベントタイプ] で [自分のイベントを入力] を選択します。

      5. JSON 編集ペインのサンプルイベント構造を削除し、その場所に AWS イベントまたはパートナーイベントを貼り付けます。

      6. イベント JSON を編集して独自のサンプルイベントを作成します。

  3. [Creation method] (作成方法) を選択します。イベントパターンは、EventBridge のスキーマまたはテンプレートから定義するか、またはカスタムイベントパターンを作成できます。

    Existing schema

    既存の EventBridge スキーマを使用してイベントパターンを作成するには、以下を実行します。

    1. [Creation method] (作成方法) セクションの [Method] (メソッド) で、[Use schema] (スキーマを使用) を選択します。

    2. [Event pattern] (イベントパターン) セクションの [Schema type] (スキーマタイプ) で、[Select schema from Schema registry] (スキーマレジストリからスキーマを選択) を選択します。

    3. [Schema registry] (スキーマレジストリ) では、ドロップダウンボックスを選択して、aws.events などのスキーマレジストリの名前を入力します。表示されるドロップダウンリストからオプションを選択することもできます。

    4. [Schema] (スキーマ) では、ドロップダウンボックスを選択して、使用するスキーマの名前を入力します。例えば、aws.s3@ObjectDeleted です。表示されるドロップダウンリストからオプションを選択することもできます。

    5. [Models] (モデル) セクションでは、任意の属性の横にある [Edit] (編集) ボタンを選択してプロパティを開きます。必要に応じて [Relationship] (関係) フィールドと [Value] (値) フィールドを設定し、次に [Set] (設定) を選択して属性を保存します。

      注記

      属性の定義については、属性名の横にある[Info] (情報) アイコンを選択してください。イベントで属性のプロパティを設定する方法については、属性のプロパティダイアログボックスの [Note] (注意) セクションを開いてください。

      属性のプロパティを削除するには、その属性の [Edit] (編集) ボタンを選択し、[Clear] (クリア) を選択します。

    6. [Generate event pattern in JSON] (JSON でイベントパターンを生成) を選択し、イベントパターンを JSON テキストとして生成して検証します。

    7. (オプション) サンプルイベントをテストパターンと照らし合わせてテストするには、[テストパターン] を選択します。

      サンプルイベントがイベントパターンと一致するかどうかを示すメッセージボックスが表示されます。

      次のオプションのいずれかを選択することもできます。

      • [Copy] (コピー) — イベントパターンをデバイスのクリップボードにコピーします。

      • [Prettify] (整文) — 改行、タブ、スペースを追加して JSON テキストを読みやすくします。

    Custom schema

    カスタムスキーマを記述し、それをイベントパターンに変換して、以下の操作を行います。

    1. [Creation method] (作成方法) セクションの [Method] (メソッド) で、[Use schema] (スキーマを使用) を選択します。

    2. [Event pattern] (イベントパターン) セクションで、[Schema type] (スキーマの種類) で、[Enter schema] (スキーマを入力) を選択します。

    3. テキストボックスにスキーマを入力します。スキーマは有効な JSON テキストとしてフォーマットする必要があります。

    4. [Models] (モデル) セクションで、任意の属性の横にある[Edit] (編集) ボタンを選択してプロパティを開きます。必要に応じて [Relationship] (関係) フィールドと [Value] (値) フィールドを設定し、次に [Set] (設定) を選択して属性を保存します。

      注記

      属性の定義については、属性名の横にある[Info] (情報) アイコンを選択してください。イベントで属性のプロパティを設定する方法については、属性のプロパティダイアログボックスの [Note] (注意) セクションを開いてください。

      属性のプロパティを削除するには、その属性の [Edit] (編集) ボタンを選択し、[Clear] (クリア) を選択します。

    5. [Generate event pattern in JSON] (JSON でイベントパターンを生成) を選択し、イベントパターンを JSON テキストとして生成して検証します。

    6. (オプション) サンプルイベントをテストパターンと照らし合わせてテストするには、[テストパターン] を選択します。

      サンプルイベントがイベントパターンと一致するかどうかを示すメッセージボックスが表示されます。

      次のオプションのいずれかを選択することもできます。

      • [Copy] (コピー) — イベントパターンをデバイスのクリップボードにコピーします。

      • [Prettify] (整文) — 改行、タブ、スペースを追加して JSON テキストを読みやすくします。

    Event pattern

    カスタムイベントパターンを JSON 形式で記述するには、以下を実行します。

    1. [Creation method] (作成方法) セクションの [Method] (メソッド) で、[Custom pattern (JSON editor)] (カスタムパターン (JSON エディター)) を選択します。

    2. [Event pattern] (イベントパターン) には、カスタムイベントパターンを JSON 形式のテキストで入力します。

    3. (オプション) サンプルイベントをテストパターンと照らし合わせてテストするには、[テストパターン] を選択します。

      サンプルイベントがイベントパターンと一致するかどうかを示すメッセージボックスが表示されます。

      次のオプションのいずれかを選択することもできます。

      • [Copy] (コピー) — イベントパターンをデバイスのクリップボードにコピーします。

      • [Prettify] (整文) — 改行、タブ、スペースを追加して JSON テキストを読みやすくします。

      • [Event pattern form] (イベントパターンフォーム) — パターンビルダーでイベントパターンを開きます。パターンをそのままパターンビルダーでレンダリングできない場合、EventBridge はパターンビルダーを開く前に警告を表示します。

  4. [Next] (次へ) をクリックします。

ターゲットを選択する

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

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

    Event bus

    EventBridge イベントバスを選択するには、[EventBridge event bus] (EventBridge イベントバス) を選択してから、次の操作を行います。

    API destination

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

    • 既存の API 送信先を使用するには、[Use an existing API destination] (既存の API 送信先を使用する) を選択します。次に、ドロップダウンリストから API 送信先を選択します。

    • 新しい API 送信先を作成するには、[Create a new API destination] (新しい API 送信先を作成する) を選択します。次に、送信先について次の詳細を指定します。

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

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

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

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

      • [API destination endpoint] (API 送信先エンドポイント) — ターゲットの URL エンドポイント。

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

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

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

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

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

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

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

    詳細については、「API 送信先」を参照してください。

    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 は、このルールに一致するイベントがターゲットに正常に配信されなかった場合に、そのイベントをデッドレターキューに送信します。以下のいずれかを実行します。

    • デッドレターキューを使用しない場合は、[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 を入力します。キューにメッセージを送信するための EventBridge 許可を付与するリソースベースのポリシーをそのキューにアタッチする必要があります。

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

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

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

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

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

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

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

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

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

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

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

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

      • 再試行回数 — エラーが発生した後、EventBridge がターゲットへのイベント送信を再試行する最大回数を入力します。デフォルトは 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 を入力します。キューにメッセージを送信するための EventBridge 許可を付与するリソースベースのポリシーをそのキューにアタッチする必要があります。

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

    AWS service

    特定の AWS のサービスに対しては、以下のフィールドがすべて表示されない場合があることに注意してください。

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

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

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

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

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

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

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

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

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

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

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

      • 再試行回数 — エラーが発生した後、EventBridge がターゲットへのイベント送信を再試行する最大回数を入力します。デフォルトは 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 を入力します。キューにメッセージを送信するための EventBridge 許可を付与するリソースベースのポリシーをそのキューにアタッチする必要があります。

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

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

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

特定の AWS のサービスに対しては、以下のフィールドがすべて表示されない場合があることに注意してください。

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

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

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

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

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

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