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

解決する課題
- 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を設定
- メトリクス:
NumberOfMessagesPublishedNumberOfNotificationsFailed
コスト
- publish/配信数で課金。SMSは別料金
セキュリティ
- IAM/トピックポリシーでアクセス制御
- 保存時暗号化(KMS)、配信先はHTTPS等
Well-Architected の観点
- 信頼性: 同報+(SQS併用で)リトライ
- 運用上の優秀性: アラート/イベント連携の標準部品
試験で問われるポイント
頻出
- Pub/Sub・プッシュ・1対多=SNS(プル・1対1はSQS)
- 同報して確実に処理=SNS + 複数SQS(ファンアウト)
- アラート通知の宛先として頻出
📝 SNS ミニ確認テスト第 1 問 / 全 3 問
1つのイベントを複数の処理系へ同時に配信(ファンアウト)したい。
関連サービス・比較
| 観点 | SNS | SQS |
|---|---|---|
| モデル | 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、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。