背景
ポートフォリオで使用したSNSについて理解を深めたいと思い、自分用に腹落ちできるようまとめました。
📝SNSとは
Amazon Simple Notification Service (Amazon SNS) は、パブリッシャー (プロデューサー) からサブスクライバー (コンシューマー) へのメッセージ配信を提供するフルマネージドサービスです。発行者は、論理アクセスポイントおよび通信チャネルであるトピックにメッセージを送信することで、受信者と非同期的に通信します。
以下aws公式から抜粋
https://docs.aws.amazon.com/ja_jp/sns/latest/dg/welcome.html
と言われても全く頭に入って来なかったので、自分で分かるようにまとめました🦷
☁️結局どういう仕組みなの?
-
送りたいメッセージをトピックに送信(=Publish)する
• 人が送ってもいいし
• Lambda や CloudWatch Alarm などのサービスが自動で送ってもいい
-
サブスクリプションに登録されているエンドポイントでメッセージを受信する
✅ 登録されているエンドポイントが• メールなら → メール本文に届く
• SMSなら → スマホに通知が来る
• Lambdaなら → イベントとして関数が実行される
• SQSなら → キューに保存されて後で処理できる
❓サブスクリプションとはなんぞや
〜メッセージを受信するエンドポイントを登録する場所〜
→ここでいうエンドポイントとはメール、SQS、Lambdaなど。
🏃♀️動作イメージ
トピックにメッセージが送られたら、登録された全エンドポイントに同じ内容が飛ぶ
📝結論
SNSはメッセージを配信ハブ(トピック)を介して、サブスクリプションに登録されているエンドポイント(SMSとかLambdaとか)にメッセージを送信する仕組み。
