AWS技術ブログ

【初心者でも5分で分かる】Amazon SNS

記事内に商品プロモーションを含む場合があります

いきなりですが、Amazon SNSがどのようなサービスか説明できますか?

「メッセージを通知するサービス?」と思う方が多いと思いますが、Amazon SQSなどとの違いを合わせて
解説することができますか?

私が学習を進めている中で、この2つの使い分けが曖昧になってしまったことがあったので、
Amazon SNSについて整理しなおしたことを本記事に執筆させていただきます。

SQSとの違いもあわせて理解して、SNSについてマスターしましょう!


ざっくり解説すると…

・フルマネージド型のメッセージングサービス
・ユーザーアクションをきっかけ(トリガー)にしたメッセージ通知が行える

Amazon SNSは、上記のようなサービスとなります。

なんだか少し難しそう…

そう思われた方、ご安心ください!もう少しシンプルに解説していきます。

簡単に言うと、Amazon SNS(Amazon Simple Notification Service)は
サービスとサービスの間で、メッセージのやり取りを行うサービスです。

郵便屋さんをイメージしてもらえると分かりやすいです!
私たちが手紙を送りたい時、郵便局で宛先に振り分けられて配送されますよね!

このように「出す側」と「受け取る側」の中間で、「メッセージのやり取りをサポート」する役割があります。


次に、AWSのサービスを用いて、例を見てみましょう!

パブリッシャーはAmazon SNSにメッセージを送信します。
Amazon SNSはそのメッセージをサブスクライバーに連携(送信)します。

SNSでは、

・メッセージの発信元を ”パブリッシャー(Publisher)”

・メッセージの受信側を”サブスクライバー(Subscriber)”と呼びます。

サブスクライバーには、各AWSサービスの他にもEmail連携やHTTP連携などがあります。

上記の通り、Amazon SNS(Amazon Simple Notification Service)は
サービスとサービスの間で、メッセージのやり取りを行っていますね!


Amazon SNSは、
ユーザやアプリケーションの何らかのアクションをトリガー(きっかけ)に、Lambdaの起動やメッセージ通知、SMSなどによるモバイル通知が行えます。

例として、Amazon CloudWatch とAmazon SNSを統合した例を見てみましょう!

EC2インスタンスのCPUの使用率が80%を超えたら、
Amazon CloudWatch のメトリクスからアラームが発砲されます。
その通知をAmazon SNSが受け取り、メールやSlackなどに連携がされます。

メトリクスとは?

メトリクスとは、Amazonで取得・監視する項目のこと。
CPU使用率・インスタンスボリュームストアからの読み取り回数・メモリ使用率(カスタムで設定が必要)などが項目として設定可能。


Amazon SNSには、トピックと言われるアクセスポイントがあります。

各トピックに対して複数のサブスクライバーを登録することで、並列で同じメッセージを処理させることが可能になります。



Amazonのメッセージングサービスには、Amazon SQSというものもあります。

では、Amazon SQSとAmazon SNSの違いはなんでしょうか?

それは、プル型であるかプッシュ型であるかということです。

  • Amazon SNS:受信者にメッセージを一方的に送りつけるプッシュ型のサービス
  • Amazon SQS:受信者がポーリングをしてメッセージを取得しにくるプル型のサービス



Amazon SQSについては、以下の記事でまとめていますので、ぜひご覧ください!


Amazon SESとの違いは?

AWSには他にも、Amazon SES(Amazon Simple Email Service)というサービスがあります。

Amazon SESはどういったサービスかと言うと、
Eメールの送信が得意で、Eメールで充実したコンテンツを届けたい場合に利用できます。
ただ、Amazon SNSのようにEメール以外の通知手段は選択できません。

詳しくはAWSの公式サイトをご覧ください。

AWS デベロッパーガイド


本記事では、Amazon SNSについて解説してきました。
Amazon SNSはプッシュ型でユーザーアクションをきっかけ(トリガー)にしたメッセージ通知が行えるサービスでした。

Amazon SQSとの違いに注意しながら、上手に活用していきましょう!

ABOUT ME
あさひ
アラサーでAWSの資格を取得して、未経験でIT業界転職に成功▶️インフラエンジニア1年目! SES企業に入社して、案件先でAWS関連の業務に携わっています。 アウトプットのために、主にクラウドサービスに関する記事を執筆していきます。 初心者の方にも分かりやすい発信を心がけています🎵 <取得済み資格>AWS SAA ,SOA , LPIC-1 , TOEIC 830