Amazon EventBridge
AWS サービス、SaaS アプリケーション、カスタムアプリケーションからのイベントをルーティングするサーバーレスイベントバスで、イベント駆動アーキテクチャの中核を担う
概要
Amazon EventBridge (旧 CloudWatch Events) は、イベントの生成元 (ソース) とイベントの処理先 (ターゲット) を疎結合に接続するサーバーレスイベントバスです。AWS サービスのイベント (EC2 インスタンスの状態変化、S3 オブジェクトの作成、CodePipeline のデプロイ結果など)、SaaS パートナーのイベント (Zendesk、Datadog、Auth0 など)、カスタムアプリケーションのイベントをルールに基づいてフィルタリングし、Lambda、SQS、SNS、Step Functions、API Gateway など 20 以上のターゲットにルーティングします。イベントパターンマッチングにより、特定の条件に一致するイベントだけを処理できます。
イベントバスとルールの設計
EventBridge のイベントバスは、イベントが流れるチャネルです。デフォルトイベントバスは AWS サービスのイベントを受信し、カスタムイベントバスはアプリケーション固有のイベントを受信します。パートナーイベントバスは SaaS パートナーのイベントを受信します。AWS のユーザーガイドは、ルールとターゲットで振り分けるこの型のカスタムバスを Custom Event Bus - Classic と呼び、従来の型を引き続き提供したうえで、新規のアプリケーションには購読者を利用側が作る Custom Event Bus から始めるよう案内しています (2026 年 10 月時点)。ルールは、イベントパターン (JSON 形式のフィルター条件) またはスケジュール (cron 式または rate 式) に基づいてイベントをターゲットにルーティングします。イベントパターンでは、イベントのソース、タイプ、詳細フィールドの値でフィルタリングできます。プレフィックスマッチ、サフィックスマッチ、数値範囲、存在チェックなどのフィルタリング演算子があります。1 つのルールに最大 5 つのターゲットを設定でき、1 つのイベントを複数のターゲットに同時配信するファンアウトパターンを実現できます。
スケジューラーとパイプ
EventBridge Scheduler は、cron 式または rate 式で定義したスケジュールに沿ってターゲットを呼び出す機能です。AWS のユーザーガイドは、EventBridge のスケジュールルールを従来の機能と位置づけ、スケジュールでターゲットを呼び出す用途には Scheduler を勧めています (2026 年 10 月時点)。1 回限りのスケジュール (特定の日時に 1 回だけ実行)、タイムゾーン指定、フレキシブルタイムウィンドウ (指定した時間範囲内で実行) などの機能があります。EventBridge Pipes は、ソースからターゲットへのポイントツーポイント統合を簡素化する機能です。SQS キュー、Kinesis ストリーム、DynamoDB ストリームなどのソースからイベントを取得し、オプションのフィルタリングとエンリッチメント (Lambda などによる変換) を経て、ターゲットに配信します。Pipes を使うと、SQS から Step Functions へ渡すような統合で、間に置くコードを減らせます。
実務での活用パターン
EventBridge の代表的な活用の 1 つは、AWS サービスのイベントに基づく自動化です。EC2 インスタンスが terminated 状態になったら Slack に通知する、GuardDuty が脅威を検出したら自動的にセキュリティグループを変更する、CodePipeline のデプロイが失敗したらチームに通知する、といったパターンです。マイクロサービスアーキテクチャでは、サービス間の通信にイベントバスを使うイベント駆動の構成があります。注文サービスが「注文確定」イベントを EventBridge に発行し、在庫サービス、決済サービス、通知サービスがそれぞれ独立してイベントを処理します。Azure の対応サービスは Azure Event Grid で、同様にイベント駆動アーキテクチャを実現します。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。