その他サービス

Amazon SNS とは?プッシュ型 Pub/Sub と Fan-out パターン

SNS は AWS のプッシュ型 Pub/Sub メッセージングサービス。1 つのメッセージを 複数のサブスクライバー(SQS / Lambda / Email / SMS / HTTP / モバイル PUSH)に 同時配信する Fan-out パターンの中核。SQS との...

プッシュ型のメッセージング・通知サービス。1 メッセージを多数のサブスクライバーに配信する Pub/Sub。


1. 概要(端的に)

SNS は AWS のプッシュ型 Pub/Sub メッセージングサービス。1 つのメッセージを 複数のサブスクライバー(SQS / Lambda / Email / SMS / HTTP / モバイル PUSH)に 同時配信する Fan-out パターンの中核。SQS との組合せで強力なイベント駆動アーキテクチャを構築できる。


2. 何ができるか

  • メッセージブロードキャスト:1 → N 配信
  • 多様な配信先:SQS / Lambda / Email / SMS / HTTP/HTTPS / モバイル PUSH
  • 2 種のトピック:Standard / FIFO
  • メッセージフィルタリング:サブスクライバー別の条件
  • 暗号化:KMS
  • DLQ:失敗メッセージの隔離

主な配信先

  • Email:人間への通知
  • SMS:携帯メール / SMS
  • SQS:Fan-out パターン
  • Lambda:サーバーレス処理
  • HTTP/HTTPS:Webhook
  • モバイル PUSH:iOS / Android プッシュ通知

3. 特徴

観点特徴
追加料金パブリッシュ + 配信先別料金
無料枠月 100 万パブリッシュ
メッセージ最大サイズ256 KB
保持配信即時消費(保管なし)
配信少なくとも 1 回

vs SQS / EventBridge

観点SNSSQSEventBridge
モデルPub/SubQueueEvent Bus
保管なしありあり(一時)
配信プッシュプル(ポーリング)プッシュ
用途通知・Fan-out非同期処理イベント駆動

4. 仕組み

SNS は トピックを中心にした Pub/Sub モデル。プロデューサーがトピックにメッセージをパブリッシュすると、すべてのサブスクライバーに自動配信される。

動作の流れ

  1. トピック作成
  2. サブスクライバー登録(Email / SQS / Lambda 等)
  3. プロデューサーが Publish
  4. SNS が全サブスクライバーへ即時配信
  5. サブスクライバーが受信処理

Fan-out パターン

[1 トピック]
  ├ サブスクライバー A: SQS(注文処理)
  ├ サブスクライバー B: SQS(在庫管理)
  ├ サブスクライバー C: Lambda(メール送信)
  └ サブスクライバー D: HTTPS Webhook

→ 1 メッセージで複数処理を並列起動。


5. ユースケース

ユースケース 1:CloudWatch Alarm 通知

障害アラート → SNS → Email / SMS。

ユースケース 2:Fan-out(SNS → 複数 SQS)

注文発生 → SNS → 注文/在庫/会計/メール の各 SQS。

ユースケース 3:マイクロサービスのイベント連携

DB 変更 → SNS → 複数の関連サービスに通知。

ユースケース 4:モバイルプッシュ通知

iOS / Android アプリへの通知。


6. 関連用語


7. 関連サイト

AWS 公式


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFPub/Sub の概念
SAAFan-out パターン、SQS との組合せ
DVAサブスクライバー実装
SOA通知運用