
SNS(Amazon Simple Notification Service)は、Pub/Subモデル(Publish/Subscribe) に基づく通知サービスです。
Topic(トピック) に Message(メッセージ) を発行すると、Subscription(サブスクリプション) に登録された複数のエンドポイントへ自動的にファンアウト(配信)されます。対応する配信先には、HTTP/HTTPS、SQS(Simple Queue Service)、Lambda、Email 、SMS(Short Message Service)、 Application (mobile push) などがあります。
Message Filtering(メッセージフィルタリング) により、属性ベースで特定の条件に合致するメッセージのみを購読者に配信することができます。さらに、配信に失敗したメッセージを保持して後処理できる DLQ(Dead-Letter Queue) 機能も提供されています。
SNSはメッセージの暗号化(Encryption)や VPCエンドポイント を利用したセキュアな運用が可能であり、信頼性と可用性の高い通知基盤として多くのシステムで利用されています。
イベント駆動アーキテクチャの中心的な役割を担い、マイクロサービス間通信やアラート通知、リアルタイム連携など、幅広いユースケースで活用されています。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |