おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-サーバレス-SNSの概要

今回のテーマ:SNSの概要

主要サービスの公式資料

SNS

docs.aws.amazon.com

概要

Amazon Simple Notification Service(Amazon SNS)はフルマネージド型のプッシュ型通知サービスで、
他のサービスとの非同期通信を可能とします。

概略図は以下のようになります。

f:id:In-houseSE:20211006073707p:plain

送信側がトピックを作成し、受信側でポリシーを指定することで、制御された非同期通信を実現します。
実装する際は、SNSにてTopicの作成から実装となります。

概略図は以下のようになります。

f:id:In-houseSE:20211006074059p:plain

SNSの特徴

AWSの様々なサービスと連携して通知可能で、疎結合アーキテクチャに利用できます。 要点は以下の項目が挙げられます。

  • 単一発行メッセージ
  • メッセージ通信順番は保証されない
  • 取り消し不可
  • 配信ポリシーによる再試行実施
  • メッセージサイズは最大256KB

SNSとの連携

AWSのサービスと連携する項目は以下のものなどが挙げられます。

  • Amazon CloudWatch:Billing Alertの通知
  • Amazon SES:Bounce/Complaintのフィードバック通知
  • Amazon S3:ファイルがアップロードされたときの通知
  • Amazon Elastic Transcoder:動画変換処理完了/失敗時の通知

SNSとSQSの使い分け

SNSとSQSは処理方式が異なるため、利用シーンに応じて使い分けます。

以下は概要に比較項目になります。

項目 SNS SQS
メッセージ 永続性なし 永続性あり
配信方式 プッシュ型 ポーリング型
プロデゥーサー 発行 送受信
コンシューマー サブスクライブ 送受信

cf)プロデゥーサー キューにメッセージを送信するコンポーネント

cf)コンシューマー キューからメッセージを受信するコンポーネント

今回のテーマは以上です。