Qraft(クラフト) 資格・学習クイズアプリ

AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 14:SNS-SQS Fan-out パターンによるイベント駆動設計

Amazon SNSとAmazon SQSを組み合わせて、1つのイベントから複数の異なるサービスに並列で処理を実行させるアーキテクチャパターンとして、最も適切なものはどれか。

  1. Fanin パターンであり、SNS トピックから複数のSQSキューがサブスクライブして、キューごとに異なるLambda関数がメッセージを取得して処理する。
  2. Fan-out パターンであり、SNS トピックにメッセージが発行されると、複数の SQS キューに同時にメッセージが配信され、各キューのコンシューマーが並列に処理を実行する。
  3. Fanout パターンであり、複数のLambda関数がSQSをポーリングして、SNSトピックからメッセージを受け取る構成である。
  4. Broadcast パターンであり、SQS キューからメッセージを取得して SNS で複数のサブスクライバーに配信する方式である。
  5. Aggregation パターンであり、複数のSQSキューからメッセージを集約してSNSトピックに統合する構成である。
正解と解説を見る
正解:Fan-out パターンであり、SNS トピックにメッセージが発行されると、複数の SQS キューに同時にメッセージが配信され、各キューのコンシューマーが並列に処理を実行する。

1つのイベントを複数の処理フローに分岐させるアーキテクチャは「Fan-out パターン」と呼ばれます。正しいのは「SNS トピックにメッセージ発行すると複数のSQSキューに同時配信され、各キューのコンシューマーが独立して並列処理を実行する」という方法です。実装は、SNSトピックを作成し、複数のSQSキューを作成してそれぞれをSNSトピックにサブスクライブ登録することで実現します。SNSが自動的に全サブスクライブ中のキューにメッセージを配信するため、複数の処理を並列実行でき、各処理が独立したキューを持つため、スケーリングや障害対応が容易です。Faninは複数を1つに集約するパターンで逆方向です。SQS→SNSの方向は一般的ではなく、Aggregationも複数を集約するパターンです。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)