Amazon EventBridge
Overview
Amazon EventBridgeはイベント駆動型アプリケーションを簡単に構築・管理するサービス。
イベント送信元の状態を監視し、状態変化のイベントを検知して処理同士をイベントでつなぐことが可能。
たとえば、EC2インスタンスの状態が保留中から実行中に変わった状態変化や、バッチ処理やプロセスの完了、CPU使用率の上昇といったリソースの変化が発生したことを契機に別の処理を呼び出す場合に利用する。
また、スケジュールをセットアップすることにより、Cron式のように定期的な処理も実現可能。
EventBridgeを利用するためには以下4つの項目が必要となる。
- イベントソース
- イベントバス
- ターゲット
- ルールの設定
以前のサービス名はCloudWatch Eventsだった。
イベントソース
- イベントの送信元であるAWS Lambda、Amazon SQS、Amazon SNSなどのAWSサービス
- Python、Node.js、Java、Goなどの開発言語で作られた独自アプリケーション。
- AWSのパートナー企業が提供していSaaSアプリケーション
イベントバス
イベントの受け口のことを指す。
ターゲット
イベントが送信され、各サービスで送られてきたイベントを処理する場所のこと(AWSサービス)を指す。
ルールの設定
イベントを検出するためのパターン定義を設 定する。
イベントを検出するためにはイベントパターンとスケジュールのルールタイプがある。
イベントパターンとは、定義したイベントルールとイベントが一致したときに実行されるルールで、EventBridgeで指定されたターゲットにイベントを送信する。
スケジュールとはCron式によって特定の時刻に実行するパターンとレート式によって決められた周期(たとえば10分おき)に実行するパターンのことを言う。
Amazon EventBridge 利用用途
AmazonSQSなど、それぞれのサービスに対して同じメッセージを送信しなければならない場合、既存アプリケーション側の負担が大きくなる。
そこで、メッセージを伝搬してくれる別のサービスを組み合わせる案があります。
もし、そういった拡張性を前提に設計する場合は、図5.9のように、Amazon EventBridgeを組み合わせられます。Amazon EventBridgeはイベントバスとして利用でき、幅広くメッセージを後続に伝搬できるサービス。
このように拡張性を持たせることもできます。