IT用語: Amazon SNS(Simple Notification Service)とは|1対多のPub/Subメッセージング
1つのイベントを複数のエンドポイントに同時配信するAWSのPub/Subサービス、Amazon SNSを解説。
Amazon SNS(Simple Notification Service)とは
Amazon SNSは、1つのメッセージを複数の宛先(SQS・Lambda・HTTP・Eメール・SMS・モバイルプッシュ通知)に同時配信するPub/Sub(Publish/Subscribe)型のフルマネージドメッセージングサービスです。SNSはソーシャルネットワークのSNSとは別の概念です。
SQSとSNSの違い
| 比較軸 | SQS | SNS |
|---|---|---|
| パターン | 1対1(プル型) | 1対多(プッシュ型) |
| メッセージ保持 | 受信するまでキューに保存 | 配信後削除 |
| 用途 | 処理の非同期化・バッファリング | ファンアウト(一斉配信) |
SNS + SQSのファンアウトパターン
SNSにメッセージをパブリッシュ→複数のSQSキューにファンアウト→それぞれ異なる処理(在庫更新・メール通知・ログ記録)を並列実行、というパターンが多用されます。
EC2(注文完了)
│
▼
SNS トピック
├──▶ SQS キュー(在庫管理サービス)
├──▶ SQS キュー(メール通知サービス)
└──▶ Lambda(リアルタイムログ)
モバイルプッシュ通知
iOS(APNs)・Android(FCM)へのプッシュ通知配信にもSNSが使えます。プラットフォーム差異をSNSが吸収するため、コードの複雑さが減ります。
関連する用語 (クラウド)
全40件を見るAzure Blob Storage
Microsoftのオブジェクトストレージサービス。画像・動画・バックアップ・ログなど大量の非構造化データをコスト効率よく保存できる。AWSのS3に相当する。
Firebase
Googleが提供するモバイル・Webアプリ開発プラットフォーム。リアルタイムデータベース・認証・ホスティング・Cloud Functions・Analyticsなどをワンストップで提供する。
サーバーレス (Serverless)
開発者がサーバーの構築や保守を意識することなく、プログラムの実行環境だけを利用できる仕組み。
AWS (Amazon Web Services)
Amazonが提供する世界最大のクラウドコンピューティングサービス。
SaaS (Software as a Service)
ソフトウェアをインターネット経由でサービスとして提供する形態。
Azure (Microsoft Azure)
Microsoftが提供するクラウドサービス。WindowsやOffice製品との連携に優れる。