TL

Cloud Service

Amazon SNS

Pub/Subのメッセージ配信。1つのメッセージを多数の購読者へプッシュ。ファンアウト構成の中核。

中級SAA-C03DVA-C02SAP-C02信頼性運用上の優秀性
最終更新: 2026-05-31公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.1つの通知を登録した全員へ一斉にプッシュ配信するPub/Sub。
  • 2.送信側は宛先を意識せず疎結合に同報。配信数で課金。
  • 3.確実に処理するなら SNS→複数SQS のファンアウトが鉄板。
Amazon SNS のアーキテクチャ図
Amazon SNS の構成イメージ

解決する課題

  • 1つのイベントを複数システムへ同報したい
  • 送信側は宛先を意識せず疎結合に通知したい
  • 障害アラートや通知をメール/SMSで飛ばしたい

主要概念と用語

  • トピック: 配信の単位(ここへ publish する)
  • サブスクライバー: Lambda / SQS / HTTP(S) / Email / SMS など
  • ファンアウト: SNS → 複数のSQS へ同報して並列処理
  • フィルタポリシー: 属性で購読者ごとに振り分け
  • FIFOトピック: 順序保証が要る場合

仕様・制限・クォータ

  • プッシュ型(購読者へ送る)
  • トピックへの publish を多数のサブスクライバーへ配信
  • 標準/FIFOトピック

内部の仕組み

publishされたメッセージは、トピックに紐づく全サブスクライバーへプッシュされます。ファンアウト(SNS→複数SQS)にすると、各SQSがバッファ・リトライ・DLQを提供するため、処理系を独立にスケールしつつ取りこぼしを防げます。フィルタポリシーで購読者ごとに必要なメッセージだけ受け取らせることも可能です。

SNS + SQS が鉄板

「同報したい」かつ「各処理を確実に」なら SNS → 複数SQS のファンアウト。SNSで配り、SQSで受け止める。

設計パターン / ベストプラクティス

  • ファンアウト(SNS→複数SQS→各ワーカー)
  • フィルタポリシーでトピックを集約しつつ振り分け
  • アラート通知(CloudWatchアラーム→SNS→メール/SMS/Chatbot)

運用・監視・トラブルシュート

  • 配信失敗はサブスクライバー側のエラー/権限を確認、DLQを設定
  • メトリクス: NumberOfMessagesPublished NumberOfNotificationsFailed

コスト

  • publish/配信数で課金。SMSは別料金

セキュリティ

  • IAM/トピックポリシーでアクセス制御
  • 保存時暗号化(KMS)、配信先はHTTPS等

Well-Architected の観点

  • 信頼性: 同報+(SQS併用で)リトライ
  • 運用上の優秀性: アラート/イベント連携の標準部品

試験で問われるポイント

頻出
  • Pub/Sub・プッシュ・1対多=SNS(プル・1対1はSQS)
  • 同報して確実に処理=SNS + 複数SQS(ファンアウト)
  • アラート通知の宛先として頻出
📝 SNS ミニ確認テスト1 問 / 全 3

1つのイベントを複数の処理系へ同時に配信(ファンアウト)したい。

関連サービス・比較

観点SNSSQS
モデルPub/Sub(1対多)キュー(1対1)
配信プッシュプル(ポーリング)
用途同報・ファンアウト・通知バッファ・疎結合処理

ハンズオン / CLI例

# トピック作成 → SQSをサブスクライブ(ファンアウト) → publish
aws sns create-topic --name orders
aws sns subscribe --topic-arn "$TOPIC" --protocol sqs --notification-endpoint "$QUEUE_ARN"
aws sns publish --topic-arn "$TOPIC" --message '{"orderId":"123"}'

AWS Service

Amazon SNSを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

アプリ統合

比較で見る軸

クラウド: AWS / カテゴリ: アプリ統合 / 難易度: intermediate

導入後に効く点

送信側は宛先を意識せず疎結合に同報。配信数で課金。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
アプリ統合
難易度
intermediate
関連資格
SAA-C03 / DVA-C02 / SAP-C02
設計柱
reliability / operational

判断チェックリスト

  • 自社の用途が「アプリ統合 / reliability」に近いか確認する。
  • 強みである「1つの通知を登録した全員へ一斉にプッシュ配信するPub/Sub。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

アプリ統合reliabilityoperationalSAA-C03DVA-C02

他クラウドの同等サービス

役割が近いサービスです。設計の置き換えや比較検討の参考に。