SAA-C03 ソリューションアーキテクト アソシエイト

AWS SAA-C03 で Amazon EventBridge はどう問われるか

Amazon EventBridge が正解になる問題 3問
例題 3問 収録
最頻出: 第 2 分野: 弾力性に優れたアーキテクチャの設計

SAA-C03 (ソリューションアーキテクト アソシエイト) の練習問題のうち 3 問で Amazon EventBridge が正解になります。出題はすべて第 2 分野: 弾力性に優れたアーキテクチャの設計 (3問) からです。タスク単位では「タスク 2.1 スケーラブルで疎結合なアーキテクチャを設計する」が 3 問と中心で、ここが Amazon EventBridge を学ぶうえで最優先の論点です。誤答の選択肢としては AWS Batch、Amazon Kinesis Data Streams、AWS Glue が併記されやすく、これらとの役割の違いを説明できるかどうかが正誤の分かれ目になります。

Amazon EventBridge の出題分野の内訳

分野別

第 2 分野: 弾力性に優れたアーキテクチャの設計

3


タスク別(AWS 公式 Exam Guide のタスクステートメント)

タスク 2.1 スケーラブルで疎結合なアーキテクチャを設計する

3

Amazon EventBridge の例題 3問(クリックで即採点)

選択肢をタップするとその場で正誤が分かります。ログインもページ移動も不要です。

例題 1
複数選択
難易度: 標準

バッチ完了イベントを外部 HTTP API へ連携するイベント駆動設計

ある気象コンサルティング会社は、毎晩まとまった量の観測データを解析するワークロードを AWS 上で定期的に実行しています。解析処理は数十分から数時間かかることがあり、正常終了したときだけ、契約先が運用する社外の HTTP API を呼び出して解析結果を公開したいと考えています。この社外 API はユーザー名とパスワードによる基本認証を要求します。認証情報をアプリケーションコードに埋め込まず、イベント駆動で連携を実現したいと考えています。これらの要件を満たす手順の組み合わせはどれですか。2 つ選択してください。

複数選択問題です (正解 2 つ)。選んでから判定してください。

解説を読む(正解: A、B)

AWS Batch は、実行時間の長いバッチ処理をマネージドにスケジューリングして実行するサービスで、ジョブの状態が変わるたびに Job State Change イベントを Amazon EventBridge の既定イベントバスへ送信します。このイベントの detail.status が SUCCEEDED であるものだけをイベントパターンで抽出すれば、「正常終了したときだけ後続処理を動かす」というトリガーを追加のポーリングなしに実現できます。さらに EventBridge の API 送信先は、AWS 外部の HTTP エンドポイントをルールのターゲットにできる機能で、基本認証・API キー・OAuth の認証情報を接続 (connection) として登録すると、その資格情報は AWS Secrets Manager に保管され EventBridge が自動的に付与します。 本シナリオの要件は、長時間実行されるバッチの正常終了を検知して社外 API を呼び出すこと、そして認証情報をコードに埋め込まないことです。したがって A と B の組み合わせが最適です。 C と E が挙げる EventBridge スケジュールは、cron 式やレート式で「決まった時刻」に処理を起動する時間ベースの仕組みであり、イベントパターンでジョブの SUCCEEDED を検知することはできません。ジョブが失敗しても時刻が来れば後続処理が動いてしまうため要件を満たしません。さらに E は解析ワークロード自体を Lambda で実装しますが、Lambda の最大実行時間は 15 分であり、数時間かかる解析には適しません。D は Lambda 内から直接 HTTP リクエストを送る案ですが、認証情報をコードにハードコードすることになり、ローテーションもできず、セキュリティ要件に明確に違反します。

この問題の出典(AWS 公式ドキュメント)

例題 2
単一選択
難易度: 標準

イベント駆動型アーキテクチャによる行政サービスの疎結合化

ある県庁が運用する電子申請ポータルでは、住民から申請が受理されるたびに「審査ワークフロー」「住民への通知」「統計ダッシュボード」の 3 つの下流サブシステムが処理を行う必要があります。現在は申請アプリケーションが各サブシステムの API を順番に呼び出しており、1 つでも応答しないと申請自体が失敗します。今後は外部の SaaS 型本人確認サービスから届くイベントも取り込み、申請区分や所管課コードといった JSON ペイロードの内容に応じて配信先を変えたいと考えています。また、購読するサブシステムを追加する際に申請アプリを改修したくありません。最も適した設計はどれですか。

解説を読む(正解: C)

イベント駆動型アーキテクチャは、イベントの発生元 (プロデューサー) と処理側 (コンシューマー) の間にイベントルーターを挟むことで、片方の障害や仕様変更がもう片方へ波及しない疎結合な構成を実現するための設計パターンです。Amazon EventBridge はサーバーレスのイベントバスであり、イベント本文 (JSON) に対するイベントパターンでルールを定義し、Lambda 関数、SQS キュー、Step Functions ステートマシンなど多数のターゲットへ同一イベントを同時配信できます。さらに外部 SaaS をパートナーイベントソースとして直接接続でき、スキーマレジストリやアーカイブ/リプレイも利用できます。本シナリオでは、申請アプリは EventBridge へイベントを 1 回発行するだけでよく、購読側を増やす場合もルールを追加するだけで済むため、C が要件をすべて満たします。A は同期呼び出しによる密結合そのもので、下流の 1 つが停止すると申請処理全体が失敗し、購読先追加のたびに改修が必要になります。B は SQS 標準キューを共有する構成ですが、1 つのメッセージを受信して削除できるコンシューマーは原則 1 つだけであり、複数サブシステムへのファンアウトになりません。D の Kinesis Data Streams は大量ストリームの順序付き処理には適するものの、シャード管理やコンシューマー実装の負荷が高く、ペイロード内容に基づくルーティングや SaaS パートナーイベントの直接取り込みには対応できないため、本要件には不適合です。

例題 3
単一選択
難易度: 標準

サーバーレスなイベント駆動型バッチワークフローへの移行

会計 SaaS を提供する企業が、毎晩実行している月次締め処理をオンプレミスの cron とシェルスクリプトで運用しています。この処理は 12 のステップから成り、途中で条件分岐が必要なほか、ステップ単位でのリトライと、失敗時に前のステップを取り消す処理が求められます。同社はこのバッチをサーバーレスサービスによるイベント駆動型アーキテクチャへ移行し、サーバーの管理から解放されたいと考えています。運用上の負担を最も軽減できるソリューションはどれでしょうか。

解説を読む(正解: B)

複数ステップから成るバッチ処理をクラウドへ移行する際は、個々の処理を実行する仕組みと、処理の順序・条件分岐・エラー処理を制御するオーケストレーションの仕組みを分けて設計します。AWS Step Functions は、処理フローをステートマシンとして宣言的に定義できるサーバーレスのワークフローサービスで、各状態から AWS Lambda 関数を呼び出せるほか、Retry と Catch による例外処理、Choice による条件分岐、Parallel や Map による並列実行を設定として記述できます。実行履歴はコンソールでビジュアルに追跡できるため、どのステップで失敗したかの特定も容易です。起動は Amazon EventBridge のスケジュールやイベントから行えるので、イベント駆動かつサーバーレスという要件を満たしつつ運用負荷を最小化できます。よって B が適切です。A のように EventBridge のルールだけで関数を連鎖させると、状態の受け渡し、リトライ、失敗時の巻き戻しをすべてアプリケーションコードに実装することになり、処理全体の可視化も失われて保守が困難になります。C の AWS Glue ワークフローは、Glue のジョブ・クローラー・トリガーをつなぐための機能であり、任意の Lambda 関数を汎用的にオーケストレーションする用途には使えません。D は AWS Batch を Amazon EC2 上の ECS クラスターで動かす構成で、EC2 のキャパシティ管理と AMI の保守が残るためサーバーレスという前提に反し、ステップ間の条件分岐や補償処理も自前で実装する必要があります。

Amazon EventBridge とよく混同されるサービス

Amazon EventBridge が答えの問題で、誤答の選択肢として並ぶサービス

SAA-C03 の問題プールを実際に集計した結果です。ここに並ぶサービスとの違いを言葉で説明できるようになると、Amazon EventBridge 系の問題を取りこぼしにくくなります。

AWS Batch

2回

Amazon Kinesis Data Streams

1回

AWS Glue

1回

Amazon EventBridge の公式ドキュメント

本ページの内容は以下の AWS 公式ドキュメントに基づいています。

SAA-C03 の関連論点

Amazon SQS

5問

AWS Step Functions

5問

AWS Elastic Beanstalk

3問

Amazon Route 53

3問

Amazon RDS for MySQL

3問

Amazon SNS

3問

SAA-C03 のサービス別 論点一覧をすべて見る

SAA-C03 の練習問題をすべて解く

Amazon EventBridge を含む全分野の練習問題と本番形式の模擬試験を、日本語の解説つきで収録しています。

練習問題を始める