SNS

  • いわゆるPub/Subのサービス。
  • サブスクライブしているエンドポイントまたはクライアントへのメッセージの配信または送信を、調整および管理するウェブサービス

用語

用語意味
Topic通信チャネルとして機能する論理アクセスポイント。通知を行いたいイベントが発生した場合は、Topicに対してメッセージを送る
メッセージ発行者がトピックに送信し、最終的にはサブスクライバーに配信されるデータ
発行者 (プロデューサー)論理アクセスポイントおよび通信チャネルであるトピックにメッセージを作成して送信することで、受信者と非同期的に通信する
SubscriptionTopicメッセージの送信先。Topicに登録することで、Topicにメッセージを送信した際に、Subscriberに送信される。
Subscriberウェブサーバー、E メールアドレス、Amazon SQS キュー、AWS Lambda 関数など
デッドレターキューAmazon SNS サブスクリプションが正常にサブスクライバーに配信されなかったメッセージをターゲットにできる Amazon SQS キュー
ファンアウト(Fanout)Fan(扇状の)-Out(出力)。つまり、1つの入力に対して複数の出力が接続されること

一般的な Amazon SNS シナリオ

  • ファンアウト
  • アプリケーションおよびシステムアラート
  • プッシュ E メールとテキストメッセージ
  • モバイルプッシュ通知
  • メッセージの耐久性

SNSのベクトプラクティス

  • トピックがパブリックアクセス可能でないようにする
  • 最小特権アクセスの実装
  • Amazon SNS アクセスを必要とするアプリケーションと AWS のサービスには IAM ロールを使用する。
  • サーバー側の暗号化を実装する
  • 転送時のデータの暗号化を強制する
  • VPC エンドポイントを使用して Amazon SNS にアクセスすることを検討する

REFERENCES:

  • https://www.unitrust.co.jp/6182
  • https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-common-scenarios.html
  • https://docs.aws.amazon.com/ja_jp/sns/latest/dg/welcome.html
  • https://qiita.com/fjisdahgaiuerua/items/2f79042570903416d612
  • https://www.slideshare.net/rs_wisteria/amazon-snssqs-fanout
  • https://cloud.google.com/pubsub/docs/overview?hl=ja