変更要約: in-scopeサービス網羅(軸B): s2(EventBridge)にKinesis Data Streamsのストリーミング定義・役割・SQS/SNS/Firehoseとの選択基準を追記。
2.2EventBridge によるイベント駆動
Amazon EventBridge のイベントバスとルール(イベントパターンによるマッチング)、スケジュール実行、ターゲットへのルーティングといったイベント駆動設計を理解します。
多数のサービスやアプリのイベントをルールで振り分けて処理につなぐのが Amazon EventBridge です。サーバーレスで疎結合なイベント駆動を実現します。
2.2.1イベントバスとルール
- イベントバス:イベントが流れる経路。AWS サービス・自作アプリ・SaaS(パートナー)のイベントを受ける。
- ルール:イベントパターン(JSON のマッチ条件)に合うイベントを選び、ターゲットへ送る。
- スケジュール:cron/rate 式で定期実行のトリガーにもなる(旧 CloudWatch Events)。
- ターゲット:Lambda・SQS・SNS・Step Functions など多数へ同時ルーティング。スキーマレジストリで型も管理。
EventBridge は「イベントのルーター」です。AWS の各サービスや自作アプリ、SaaS が発するイベントをイベントバスで受け、ルール(イベントパターン)で「どのイベントを・どのターゲットへ」流すかを宣言的に決めます。SNS との違いは、SNS が「トピックを購読する単純なファンアウト」なのに対し、EventBridge はイベントの中身(フィールド)でフィルタし、多様な AWS サービスへルーティングできる点。さらに cron/rate での定期実行も担い、これは旧 CloudWatch Events 由来です。「サービス間連携・内容によるルーティング・スケジュール」なら EventBridge、「シンプルに多数へ配る」なら SNS と使い分けます。
| やりたいこと | 選択 |
|---|---|
| イベント内容でルーティング | EventBridge ルール |
| 定期実行(cron) | EventBridge スケジュール |
| 単純に多数へ配信 | SNS |
| ためて1回ずつ処理 | SQS |
シナリオ:イベント駆動連携。 「注文金額が一定以上のときだけ不正検知 Lambda を呼ぶ」のようにイベントの中身で振り分けたい→EventBridge ルール。毎晩のバッチ集計→EventBridge スケジュール(cron)で Lambda を起動。一方、確定通知を在庫・請求・通知へ単純に一斉配信するだけなら SNS で十分。内容判定や AWS サービス連携が要るかで選びます。
混同に注意:
①EventBridge(イベント内容でルーティング・AWSサービス連携・スケジュール)と SNS(単純なファンアウト)を取り違えない。
②定期実行は EventBridge スケジュール(旧 CloudWatch Events)。
③EventBridge はプッシュ型のルーターで、ためて処理する SQS とは役割が別(ターゲットに SQS を置くことは可)。
Q. EventBridge と SNS の違いは? SNS はトピック購読の単純なファンアウト、EventBridge はイベント内容でフィルタし多様なターゲットへルーティング(+スケジュール)。Q. 定期実行は? EventBridge スケジュール(cron/rate)。Q. ルールは何でマッチする? イベントパターン(JSON のマッチ条件)。
「AWS サービス間のイベントを内容で振り分け=EventBridge ルール」「定期実行=EventBridge スケジュール(旧 CloudWatch Events)」「単純な一斉配信=SNS」 は DVA で頻出です。内容判定/サービス連携なら EventBridge、単純ファンアウトなら SNS。
2.2.2大量のストリーミングデータ:Kinesis Data Streams
EventBridge や SNS/SQS が「個々のイベント/メッセージ」を扱うのに対し、秒間に大量のレコードが連続して流れ込むストリーミング(クリックストリーム、IoT テレメトリ、ログ)には Kinesis Data Streams が適します。Kinesis Data Streams は順序保証された耐久性の高いストリームで、データをシャードに分けて並列に取り込み、保持期間内なら同じデータを複数のコンシューマーが何度でも読み直せる(リプレイ)のが特徴です。複数の独立したアプリが同じストリームを別々に処理できるため、リアルタイム集計と保存用の処理を並走させられます。判断の勘所は「順序・リプレイ・大量並列が要るストリーミング=Kinesis Data Streams」「1 件ずつ確実に処理して疎結合=SQS」「単純なファンアウト通知=SNS」です。変換せずそのまま S3/OpenSearch などへ配信したいだけなら、コード不要の Data Firehose を選びます。
| やりたいこと | 選択 |
|---|---|
| 順序・リプレイ・大量並列のストリーミング | Amazon Kinesis Data Streams |
| 1 件ずつ確実に処理して疎結合 | Amazon SQS |
| コード不要で S3/OpenSearch へ配信 | Amazon Data Firehose |
2.2.3この節のまとめ
- EventBridge=イベントパターンのルールで多様なターゲットへルーティング(内容ベース)
- スケジュール(cron)実行や AWS サービス連携に強い。単純な一斉配信は SNS
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. AWS サービスやアプリのイベントをパターンで振り分けてターゲットへルーティングするサービスはどれですか?
Q2. 毎晩決まった時刻に Lambda を実行したい。最も適した仕組みはどれですか?
Q3. EventBridge のルールがイベントを選別するために使うものはどれですか?

