メインコンテンツへ移動
アプリ連携中級CLF-C02SAA-C03

SNS + SQS ファンアウト構成

Amazon SNSで1つのイベントを複数のSQSキューへ配信し、通知・更新・分析などの処理を分岐する構成です。

#SNS#SQS#Fanout#Pub/Sub#イベント駆動

構成図

SNS + SQS ファンアウト構成の構成図

使用AWSサービス

サービス名をクリックすると、用語詳細ページへ移動します。

概要

SNS + SQSのファンアウト構成は、1つのイベントを複数の処理へ同時に配信するための設計です。注文作成イベントを、メール通知、在庫更新、分析ログ保存へ分岐させるようなケースで使います。 発行側はSNS TopicへPublishするだけでよく、処理側はそれぞれ独立したSQSキューでメッセージを受け取ります。

通信フロー

1. アプリケーションがSNS TopicへイベントをPublishします。 2. SNSが購読設定に基づいて複数のSQSキューへメッセージを配信します。 3. 各SQSキューが処理待ちメッセージを保持します。 4. 各Lambdaが担当キューからメッセージを取得します。 5. Lambdaごとに通知、更新、分析などの処理を実行します。

設計ポイント

処理ごとにSQSキューを分けることで、1つの処理が失敗しても他の処理へ影響しにくくなります。 SQS Queue Policyでは、指定したSNS Topicからのメッセージだけを受け付けるように制限します。 購読先を増やすとSQSリクエスト数とLambda実行回数も増えるため、不要な購読先は作りません。

SAA試験ポイント

1つのイベントを複数のシステムへ配信したい場合はSNSが候補です。さらに処理側の一時障害に備えたい場合はSNS + SQSを組み合わせます。 疎結合、ファンアウト、イベント駆動というキーワードと一緒に覚えます。

他のAWS構成図も確認する

SAA対策では、AWSサービスを単体ではなく構成パターンとして理解することが重要です。

構成図一覧へ戻る