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

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

AWS認定学習記録-サーバレス-SNSの概要

ここ最近復習の方に比重を置いてましたが、
大項目で後2カリキュラムなので少し消化を進めたいと思います。
SAAの試験受験は年明けくらいになるかなと思いつつです。

過去の復習でブログ見直す際、公式資料のリンク張っておこうと思います。

今回のテーマ: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)コンシューマー キューからメッセージを受信するコンポーネント

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