過去問ドリル

SAA-C03:AWS Certified Solutions Architect - Associate 回復性のあるアーキテクチャの設計 問2

回復性のあるアーキテクチャの設計/スケーラブルで疎結合なアーキテクチャの設計

1 件の注文イベントを、通知・在庫・分析という 3 つの独立したシステムへ同時に配信したいと考えています。各システムを疎結合に保ちつつ並行して配信する設計はどれですか。

当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「回復性のあるアーキテクチャの設計」に対応。実際の試験問題ではありません)

正解:D

解説

1 つのイベントを複数の独立したシステムへ同時に届けたい場合は、Amazon SNS のパブリッシュ/サブスクライブ(pub/sub)によるファンアウトが適しています。SNS トピックにメッセージを発行すると、サブスクライブしている複数の宛先(SQS キューや Lambda など)へ並行して配信されます。各システムは自分の SQS キューで受け取れば疎結合を保てます。

選択肢ごとの解説

  • A誤り。1 つの SQS キューを複数システムで奪い合うと、各メッセージは原則 1 つのコンシューマーにしか渡らず、全システムへの同時配信になりません。
  • B誤り。順番にポーリングする方式は密結合で、並行・同時の配信になりません。
  • C誤り。CloudFront は CDN(コンテンツ配信)であり、イベントのファンアウト配信には使いません。
  • D正しい。SNS トピックへ発行して複数サブスクライバーへファンアウトすれば、疎結合を保ちつつ並行配信できます。
SAA-C03:AWS Certified Solutions Architect - Associateの問題を演習モードで解く