Amazon EventBridge Event Bus の概念 - Amazon EventBridge

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

Amazon EventBridge Event Bus の概念

ここでは、イベントバスをベースに構築されたイベント駆動型アーキテクチャの主要コンポーネントを詳しく見ていきます。

イベントバス

イベントバスは、イベントを受信するルーターであり、ゼロ個以上の送信先やターゲットに配信します。イベントバスは、イベントをさまざまなソースから多数のターゲットにルーティングし、オプションでターゲットに配信する前にイベントを変換する必要がある際に使用します。

アカウントには、 AWS サービスからイベントを自動的に受信するデフォルトのイベントバスが含まれています。以下の操作も可能です。

  • カスタムイベントバスという名のイベントバスを追加作成し、受信するイベントを指定します。

  • パートナーイベントバスを作成します。これは、SaaS パートナーからイベントを受信します。

イベントバスの一般的な使用例には以下が含まれます。

  • イベントバスを異なるワークロード、サービス、またはシステム間の仲介役として使用します。

  • アプリケーション内で複数のイベントバスを使用してイベントトラフィックを分割します。たとえば、個人識別情報 (PII) を含むイベントを処理するバスを作成し、個人識別情報 (PII) を含まないイベント用に別のバスを作成する場合などです。

  • 複数のイベントバスから一元化されたイベントバスにイベントを送信してイベントを集約します。この集中型バスは、他のバスと同じアカウントにあっても、別のアカウントやリージョンにあってもかまいません。

サービス、カスタムアプリケーション、またはパートナーソースから AWS イベントを受信するさまざまなイベントバス。

イベント

最も単純なイベントは、 EventBridge イベントバスまたはパイプに送信される JSON オブジェクトです。

イベント駆動型アーキテクチャ (EDA) のコンテキストでは、イベントはリソースや環境の変化を示す指標となることがよくあります。

詳細については、「Amazon EventBridge イベント」を参照してください。

イベントソース

EventBridge は、次のようなイベントソースからイベントを受信できます。

  • AWS サービス

  • カスタムアプリケーション

  • Software as a Service (SaaS)

ルール

ルールは、受信したイベントを受信し、処理のためにターゲットに適切に送信します。各ルールがターゲットを呼び出す方法は、次のいずれかに基づいて指定できます。

  • イベントパターン。イベントに一致する 1 つ以上のフィルターが含まれています。イベントパターンには、次の条件に一致するフィルターを含めることができます。

    • イベントメタデータ — イベント (イベントソースなど)、またはイベントが発生したアカウントまたはリージョンについてのデータ。

    • イベントデータ — イベント自体のプロパティ。これらのプロパティはイベントによって異なります。

    • イベントコンテンツ — イベントデータの実際のプロパティ

  • ターゲットを定期的に呼び出すスケジュール。

    スケジュールされたルールは、 内で指定することも EventBridge、スEventBridge ケジューラ を使用して指定することもできます。

    注記

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

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

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

各ルールは特定のイベントバスに対して定義され、そのイベントバス上のイベントにのみ適用されます。

1 つのルールで、最大 5 つのターゲットにイベントを送信できます。

デフォルトでは、イベントバスあたり最大 300 のルールを設定できます。このクォータは、Service Quotas コンソール内で数千のルールまで増やすことができます。ルール制限は各バスに適用されるため、さらに多くのルールが必要な場合は、アカウントに追加のカスタムイベントバスを作成できます。

サービスごとに異なるアクセス許可を持つイベントバスを作成することで、アカウントでのイベントの受信方法をカスタマイズできます。

がターゲットに EventBridge 渡す前にイベントの構造または日付をカスタマイズするには、入力トランスフォーマーを使用して、ターゲットに移動する前に情報を編集します。

詳細については、「Amazon EventBridge ルール」を参照してください。

ターゲット

ターゲットは、イベントがルールに定義されたイベントパターンと一致するときに がイベント EventBridge を送信するリソースまたはエンドポイントです。

ターゲットは複数のイベントバスから複数のイベントを受信できます。

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

イベントバス用の高度な機能

EventBridge には、イベントバスの開発、管理、使用に役立つ以下の機能が含まれています。

API 送信先を使用して、サービス間の REST API コールを有効にする

EventBridge API 送信先は、 AWS サービスまたはリソースにイベントデータを送信するのと同じ方法で、ルールのターゲットとして設定できる HTTP エンドポイントです。API 送信先を使用すると、API コールを使用して、 AWS サービス、統合された SaaS アプリケーション、および AWS外のアプリケーションの間でイベントをルーティングできます。API 送信先を作成するときは、その送信先に使用する接続を指定します。各接続 には、API 送信先エンドポイントでの認証に使用する認証タイプとパラメータに関する詳細が含まれます。

開発とディザスタリカバリに役立つイベントの Archive and Replay

イベントをアーカイブして、後でそのアーカイブからイベントを再生することができます。アーカイブは次のような場合に役立ちます。

  • 新しいイベントを待つのではなく、イベントを保存して利用できるので、アプリケーションのテストに便利です。

  • 新しいサービスが初めてオンラインになったら、ハイドレートします。

  • イベント駆動型アプリケーションの耐久性を高めます。

スキーマレジストリを使用してイベントパターンの作成をすぐに開始する

を使用するサーバーレスアプリケーションを構築する場合 EventBridge、イベントを生成しなくても、一般的なイベントの構造を把握しておくと便利です。イベント構造はスキーマ で説明されています。スキーマ は、 のサービスによって生成されたすべてのイベント AWS で使用できます EventBridge。

AWS サービスからではないイベントの場合、次のことができます。

  • カスタムスキーマを作成またはアップロードします。

  • Schema Discovery を使用して、 がイベントバスに送信されるイベントのスキーマ EventBridge を自動的に作成します。

イベントのスキーマがあれば、一般的なプログラミング言語のコードバインディングをダウンロードできます。

ポリシーによるリソースへのアクセスの管理

AWS リソースを整理したり、 のコストを追跡したりするには EventBridge、カスタムラベル またはタグ を AWS リソースに割り当てることができます。タグベースのポリシー を使用すると、 内で実行できるリソースとできないリソースを制御できます EventBridge。

タグベースのポリシーに加えて、 はアイデンティティベースのポリシーとリソースベースのポリシー EventBridge をサポートし、 へのアクセスを制御します EventBridge。アイデンティティ ベースのポリシーを使用して、グループ、ロール、またはユーザーのアクセス許可を制御します。リソースベースのポリシーを使用して、Lambda 関数や Amazon SNS トピックなど各リソースに特定のアクセス許可を付与します。