AWS認定資格 WEB問題集&徹底解説

クラウドプラクティショナー

Amazon EventBridge の概要と試験出題ポイントは?

AWSサービスの一つであるAmazon EventBridgeはどんな内容なのでしょうか?また、AWS認定資格のクラウドプラクティショナー(CLF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Amazon EventBridge 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

Amazon EventBridge は、AWS サービス・SaaS アプリ・独自アプリから発生するイベントを受け取り、ルールに基づいて各種ターゲットにルーティングするサーバーレスのイベントバスサービスです。 旧名「CloudWatch Events」の拡張版で、SaaS 統合・スキーマ管理・パイプ・スケジューラーが追加されています。

疎結合なイベント駆動アーキテクチャを宣言的に構築でき、プロデューサーとコンシューマーが互いを意識せずに連携できます。 主なユースケース: マイクロサービス間連携、SaaS 統合、リアルタイムイベント処理、スケジュール実行、ワークフロートリガー。

2. 主な特徴と機能

2.1 イベントバスの種類

  • デフォルトイベントバス: 同一アカウント内の AWS サービス(EC2・S3・CodePipeline 等)のイベントを自動受信。
  • カスタムイベントバス: 独自アプリの PutEvents API で送信するイベント用。アプリやドメインごとに分離可能。
  • パートナーイベントバス: Zendesk・Salesforce・Datadog 等の SaaS パートナーからのイベントを直接受信。

2.2 ルールとイベントパターン

  • ルールはイベントパターン(source / detail-type / detail フィールドのフィルタ)またはスケジュール(cron/rate)でトリガー。
  • 1 ルールに最大 5 つのターゲットを設定可能。一致したイベントを並列に複数ターゲットへ送信。
  • Input Transformer: ターゲットに渡す前にイベント JSON を変換・整形できる。

2.3 ターゲット

  • Lambda・SQS・SNS・Step Functions・ECS タスク・Kinesis Data Streams・API Destinations など多数。
  • API Destinations: HTTP エンドポイントへの安全なルーティング。OAuth / APIキー認証を管理するコネクション機能付き。

2.4 EventBridge Pipes(2022年〜)

  • ソース(SQS・Kinesis・DynamoDB Streams・Kafka 等)とターゲットを1対1のパイプで接続。フィルタリング・エンリッチメント・変換を途中で実施可能。
  • EventBridge Pipes は Lambda なしで Source→Filter→Enrich→Target の単純なフローを実装できる。

2.5 EventBridge Scheduler(2022年〜)

  • 数百万のスケジュールタスクを管理できるフルマネージドスケジューラー。
  • cron/rate 式でターゲット(Lambda・SQS・Step Functions 等)を定期実行。CloudWatch Events スケジュールより柔軟でスケーラブル。

2.6 スキーマレジストリとディスカバリー

  • 流れるイベントのスキーマを自動検出してレジストリに登録。
  • Java・Python・TypeScript の型安全なコードバインディングを自動生成。

3. アーキテクチャおよび技術要素

  1. プロデューサー(AWS サービス / 独自アプリ / SaaS)がイベントバスにイベントを送信。
  2. ルールのイベントパターンがペイロードをフィルタリング。
  3. マッチしたイベントが並列に複数ターゲットへルーティング。
  4. Input Transformer でペイロードを変換してからターゲットに渡す。
  5. ターゲット(Lambda / SQS / Step Functions 等)がイベントを処理。

典型パターン: EC2 状態変化イベント → EventBridge ルール → Lambda(Slack 通知)+ SQS(ジョブキュー)。 クロスアカウント連携ではイベントバスにリソースポリシーを設定し、別アカウントの EventBridge ルールからイベントを受信する。

4. セキュリティと認証・認可

  • IAM ポリシー: PutEvents・PutRule・PutTargets 等の API 操作を制御。
  • リソースポリシー(イベントバス): クロスアカウントでのイベント送受信を制御。他アカウントからのPutEvents を許可する場合に設定。
  • ターゲット用 IAM ロール: EventBridge がターゲット(Lambda Invoke / SQS SendMessage 等)を呼び出す権限。
  • API Destinations コネクション: OAuthトークン・APIキー等をSecrets Managerで安全管理。
  • CloudTrail 統合: API 操作の監査ログを自動記録。

5. 料金形態

  • デフォルトイベントバス(AWS サービスイベント): 無料。
  • カスタム / パートナーイベントバス: PutEvents で送信したイベント数(64KB 単位)に応じて課金。
  • EventBridge Pipes: 処理したイベント数で課金。
  • EventBridge Scheduler: スケジュール実行回数で課金(一定の無料枠あり)。
  • スキーマディスカバリー: 検出・登録イベント数で課金(無料枠あり)。

6. よくあるアーキテクチャ・設計パターン

  • マイクロサービス間の疎結合: サービス A がカスタムイベントバスにイベント送信 → サービス B の Lambda がルールでキャッチ。直接呼び出しを排除。
  • SaaS 統合: Salesforce / Zendesk → パートナーイベントバス → Lambda(CRM データ同期)。
  • ワークフロートリガー: S3 オブジェクト作成イベント → EventBridge → Step Functions で処理パイプライン起動。
  • クロスアカウントイベント集約: 複数アカウントの EventBridge → セントラルアカウントのカスタムイベントバス → 集中監視 Lambda。
  • 定期スケジュール実行: EventBridge Scheduler で Lambda・ECS タスクを cron/rate で起動。CloudWatch Events より大規模対応。
  • Pipes による ETL: DynamoDB Streams → EventBridge Pipes(フィルタ+Lambda変換) → Kinesis Data Streams。

7. 設定・デプロイ手順(ハンズオン例)

  1. EventBridge コンソールでカスタムイベントバスを作成する。
  2. ルールを作成し、イベントパターン(例: {"source": ["my-app"], "detail-type": ["OrderPlaced"]})を定義する。
  3. ターゲットとして Lambda 関数と SQS キューを設定し、Input Transformer でペイロードを変換する。
  4. アプリケーションから PutEvents API でカスタムイベントを送信して動作確認。
  5. EventBridge Scheduler でスケジュール(毎日 9時 = cron(0 0 * * ? *))を作成し、Lambda を定期実行する。
  6. CloudWatch Metrics で FailedInvocations・ThrottledRules を監視する。

8. 試験で問われやすいポイント

8.1 イベントバス種別の選択(最頻出)

Q: Salesforce や Zendesk から AWS にイベントを受け取りたい場合は?
A: パートナーイベントバス。SaaS パートナーからのイベントを直接受信するために使用。

Q: 独自アプリのイベントを別のマイクロサービスに送るには?
A: カスタムイベントバスに PutEvents API でイベントを送信し、ルールでターゲットへルーティング。

8.2 CloudWatch Events との関係

Q: CloudWatch Events と Amazon EventBridge の違いは?
A: EventBridge は CloudWatch Events の拡張版(上位互換)。同じ API を使いつつ、SaaS 統合・スキーマ管理・Pipes・Scheduler が追加された。新規開発では EventBridge を使う。

8.3 EventBridge vs SNS vs SQS

Q: イベントのフィルタリング・ルーティングが主目的で複数ターゲットへの並列配信が必要な場合は?
A: EventBridge。SNS のフィルタは属性ベース、EventBridge はイベント JSON 全体に対して詳細フィルタが可能。

8.4 クロスアカウントイベント共有

Q: 別 AWS アカウントのイベントを自アカウントの EventBridge で受け取るには?
A: 受信側のイベントバスにリソースポリシーを設定して送信元アカウントからの PutEvents を許可する。

8.5 EventBridge Scheduler vs CloudWatch Events スケジュール

Q: 大量のスケジュールタスクを効率的に管理したい場合は?
A: EventBridge Scheduler。CloudWatch Events のスケジュールより大規模に対応し、タイムゾーン指定やフレキシブルウィンドウもサポート。