翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EventBridge のイベントバス
イベントバスは、イベントを受信するルーターであり、ゼロ個以上の送信先やターゲットに配信します。イベントバスは、イベントをさまざまなソースから多数のターゲットにルーティングするのに適しており、オプションでターゲットに配信する前にイベントを変換できます。
イベントバスに関連付けられたルールによって、受信したイベントが評価されます。各ルールは、イベントがルールのパターンに一致するかどうかをチェックします。イベントが一致すると、EventBridge はイベントを送信します。
ルールを特定のイベントバスに関連付けると、そのルールはそのイベントバスで受信したイベントにのみ適用されます。
注記
EventBridge Pipes を使用してイベントを処理することもできます。EventBridge Pipes はポイントツーポイント統合を目的としています。各パイプは単一のソースからイベントを受け取り、処理して単一のターゲットに配信します。Pipes では、高度な変換やターゲットへの配信前のイベントのエンリッチメントもサポートされています。詳細については、「Amazon EventBridge Pipes」を参照してください。
EventBridge でのイベントバスの仕組み
イベントバスを使用すると、複数のソースから複数の送信先またはターゲットにイベントをルーティングできるようになります。
大まかに言うと、その仕組みは次のとおりです。
-
イベントソースは、 AWS サービス、独自のカスタムアプリケーション、または SaaS プロバイダーで、イベントバスにイベントを送信します。
-
その後、EventBridge はイベントをそのイベントバス用に定義された各ルールに突き合わせて評価します。
ルールに一致するイベントごとに、EventBridge はそのルールに指定されたターゲットにイベントを送信します。オプションで、ルールの一部として、EventBridge がイベントをターゲットに送信する前にどのように変換するかを指定することもできます。
1 つのイベントが複数のルールに一致する場合があるため、各ルールには最大 5 つのターゲットを指定できます。(1 つのイベントがどのルールにも一致しない場合、EventBridge はアクションを実行しません)。
AWS サービスからイベントを自動的に受信する EventBridge のデフォルトのイベントバスを使用した例を考えてみましょう。
-
EC2 Instance State-change Notification
イベントのデフォルト イベントバスにルールを作成します。-
Amazon EC2 インスタンスが
state
からrunning
に変更されたイベントにルールが一致するように指定します。そのためには、ルールをトリガーするためにイベントが一致する必要がある属性と値を定義する JSON を指定します。これを「イベントパターン」と呼びます。
{ "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["running"] } }
-
ルールのターゲットを特定の Lambda 関数に指定します。
-
-
Amazon EC2 インスタンスの状態が変わるたびに、Amazon EC2 (イベントソース) はそのイベントをデフォルトのイベントバスに自動的に送信します。
-
EventBridge は、デフォルトのイベントバスに送信されるすべてのイベントを、作成したルールと照らし合わせて評価します。
イベントがルールに一致した場合 (つまり、イベントが Amazon EC2 インスタンスの状態が
running
に変化した場合)、EventBridge は、指定されたターゲットにイベントを送信します。この場合、それが Lambda 関数です。
次のビデオでは、イベントバスの内容について説明し、その基本について説明します。
次のビデオでは、さまざまなイベントバスと、これらのバスをいつ使用するかについて説明します。