Amazon EventBridge: 次世代サーバーレスイベントバスと高度なイベント駆動アーキテクチャ
Amazon EventBridgeの仕組みと、ルールベースの高度なルーティング、SaaS連携、EventBridge Pipesおよびスケジューラの活用法を学び、複雑なイベント駆動型システムを構築する。
Amazon EventBridgeとは
Amazon EventBridgeは、次世代のサーバーレスイベントバスサービスです。これは従来のCloudWatch Eventsの機能を拡張・進化させ、より複雑でスケーラブルなイベント駆動型アーキテクチャを構築するための中心的な役割を果たします。EventBridgeの核となる機能は、AWSリソース、独自開発システム、サードパーティのSaaS(Software as a Service)アプリケーション間で発生するイベントを、効率的かつ簡単に統合することにあります。
サーバーレスイベントバスの役割
EventBridgeは単なるメッセージングサービスではなく、「イベントバス」としての役割を果たします。これにより、イベントの発生元(プロデューサー)とイベントの処理先(コンシューマー)が直接お互いを知る必要がなくなります。プロデューサーはイベントをバスに送信するだけでよく、コンシューマーは自身に関心のあるイベントだけをサブスクライブして処理できます。この設計は、システム間の結合度を下げ、各コンポーネントの独立性と保守性を大幅に向上させます。
主な追加機能と強み
高度なルール設計
EventBridgeの最大の強みの一つは、JSONペイロードベースの洗練されたマッチングルールです。開発者は、EventPatternという宣言型のJSON文法を使って、イベントの特定のフィールドや値に応じてルーティングルールを定義できます。たとえば、detail.statusが"ERROR"というイベントだけをdetailTypeが"OrderEvent"というイベントだけを、といったようにフィルタリングできます。このルールに基づいて、イベントはLambda関数、SNSトピック、SQSキュー、Kinesisストリーム、EC2インスタンスなど、複数のターゲットへ自動的にルーティングされます。これにより、アプリケーションロジックを記述する必要がなく、コードフリーの接続を実現できます。
SaaSアプリケーションとの連携
EventBridgeは、Salesforce、Zendesk、Datadog、New Relicなど、多くの主要なSaaSプラットフォームとネイティブに統合できます。これらのSaaSアプリケーションが生成するイベントを、AWSに安全に送信できます。AWSのコンシューマーは、これらのイベントを他のネイティブAWSイベントと同様に扱うことができ、例えばSalesforceで「商談がクローズド・ウォン(Closed-Won)」となったイベントをトリガーに、Lambdaで在庫管理システムを更新したり、SNSでSlackチャンネルに通知を送信したりといった連携が可能です。
EventBridge Pipes
EventBridge Pipesは、2つのイベントソース(キュー、ストリーム、DBなど)間を接続し、転送中にデータを変換・フィルタリングするための完全マネージドサービスです。これにより、複雑なグルーコードを書かずに、送信元のイベントスキーマを送信先の期待する形式に変換したり、特定の条件にマッチするイベントのみを転送したりできます。Pipesは、メッセージの送受信の信頼性を保証し、エラー時のリトライやデッドレターファシリティまで提供します。これにより、イベント駆動アーキテクチャの疎結合性と堅牢性がさらに強化されます。
EventBridgeスケジューラ
EventBridgeスケジューラは、cronやEventBridgeの既存のスケジュールルールの制限を乗り越え、大規模な時刻ベースのジョブスケジューリングを可能にします。数百万件の「特定日時に実行したい」というタスクを、信頼性の高い中央集権的なサービスで管理できます。たとえば、数百万人のユーザに対して毎月1日午前9時にメールを送信する、といった大規模で正確なスケジューリングが簡単に行えます。
スキーマレジストリ
スキーマレジストリは、EventBridgeで送信されるイベントのJSONスキーマを自動的に検出し、保存します。開発者はこのレジストリを参照することで、対応するJSONスキーマを元に型安全なコード(Java, Python, .NET)のスケルトンを自動生成できます。この機能により、イベントを消費するアプリケーションの開発スピードが劇的に向上し、パースエラーのリスクが大幅に減少します。
セットアップアーキテクチャとイベントフロー
Amazon EventBridgeが複数のAWSサービスとSaaSシステムを接続する方法を図示することで、その中心的な役割を理解します。
重要ポイント
- ▸Amazon EventBridgeは、クラウド内および外部SaaSアプリケーション間のイベントを統合する次世代のサーバーレスイベントバスです。
- ▸洗練されたJSONマッチングに基づく高度なルール設計により、イベントのプロデューサーとコンシューマー間をカスタムグルーコードなしでシームレスに接続します。
- ▸SalesforceやZendeskなどの外部SaaSプラットフォームと、セキュアかつ直接的に連携できるため、リアルタイムのビジネスプロセス連携が可能になります。
- ▸EventBridge Pipesは、イベントの転送中にデータを変換・フィルタリングするマッピング機能を提供し、送信元と送信先間の疎結合を実現します。
- ▸EventBridgeスケジューラは、数百万件のタスクをスケーラブルに実行できる中央集権的なタイマー機能で、cronよりも柔軟なスケジューリングが可能です。
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます
この試験ドメイン内で次の学習に進む
同じサービスの関連トピック
連携サービス に関連するトピックを続けて確認できます。