AWS SNSとは?SAA頻出のpub/sub通知を解説

AWS SNSとは?SAA頻出のpub/sub通知を解説

AWS SNS の仕組みを考えるビジネスパーソン
「SNSって、あの交流サービスのこと?」
「pub/subって、どんな仕組み?」
「SQSとは、なにが違うの?」

そんな疑問を抱える、AWSを学び始めたあなたへ。

結論から言えば、
Amazon SNSとは、1つのお知らせを多くの相手へ一斉に配るサービスです
と説明されるのが一般的です。

 

「SNS(Simple Notification Service)」とは、メッセージを発行すると、登録している複数の宛先へまとめて届けてくれるマネージドサービスのこととされています。世間で言う交流サービスのSNSとは別物です。

 

この記事では、SNSの基本、pub/sub(発行と購読)という考え方、1対多の一斉通知の流れ、SQSとの違いと組み合わせ、そしてSAA(ソリューションアーキテクト アソシエイト)での位置づけを、初心者のあなた向けにやさしくまとめました。

 

1. AWS SNSとは

1つのお知らせを多くの相手に配るイメージ

あなたが「SNS」という言葉に出会ったとき、まず押さえたいのは1つのメッセージを多くの相手へ一斉に届けるサービスという基本定義です。

 

SNSでは「トピック」という配信窓口を作り、そこにメッセージを発行します。すると、そのトピックを購読している宛先全体に、同じメッセージがまとめて届くとされています。宛先には他のAWSサービスやメール、アプリへの通知などが選べます。

 

身近な使い道としては、サーバーに障害が起きたときの管理者へのアラート通知や、注文が入ったことを複数の担当部署へ同時に知らせる、といった場面が挙げられます。1つの出来事をきっかけに、メール・SMS・他のシステムなど形の違う宛先へまとめて届けられるのが便利な点だとされています。

 

ここでイメージしてほしいのが、学校の一斉メールです。先生が1通送れば、登録している保護者全員に同じ内容が届きますよね。SNSも、トピックに1回発行すれば、購読している全員へ同時に配られる、と整理すると分かりやすいと言われています。

 

SNSの要点は、発行する側が宛先を1件ずつ意識せず、トピックに送るだけで一斉配信できる点にあるとされています。これにより、通知の仕組みをすっきり保てます。

 

2. pub/subという考え方

発行と購読のpub/subモデルのイメージ

あなたがSNSを理解するうえで出会うのが、pub/sub(パブサブ)という考え方です。

 

pub/subは「publish(発行)と subscribe(購読)」をまとめた言葉とされています。メッセージを発行する側と、それを受け取りたい側を、トピックという窓口でゆるくつなぐ仕組みです。発行する側は「誰が受け取るか」を細かく知らなくてよいのが特徴です。

 

この「お互いを直接知らなくてよい」という性質が、システムをゆるくつなぐ(疎結合にする)うえで役立つとされています。たとえば受け取り側の1つが一時的に止まっても、発行する側はいつもどおりトピックへ送るだけでよく、影響が広がりにくいという考え方です。SAAでも、こうした変化に強い連携の例としてpub/subが取り上げられやすいと案内されています。

 

pub/subの登場人物を整理すると、次のようになります。

 

  • 発行者: トピックへメッセージを送る側
  • トピック: メッセージを受け取る配信窓口
  • 購読者: トピックを登録し、メッセージを受け取る側

 

別の観点として、購読者はあとから増やしたり減らしたりしやすいとされています。新しい受け取り先を追加したくなっても、トピックに購読を足すだけで済むので、仕組みを大きく作り変えずに広げられると言われています。

 

3. SQSとの違いと組み合わせ

SNSとSQSを組み合わせる構成のイメージ

あなたが「SQSと、なにが違うの?」と疑問に思ったとしたら、その答えは届け方の向きにあります。

 

SQSはメッセージを箱にためて、受け取る側が1つずつ取り出す仕組みです。一方SNSは、1つのメッセージを購読者全員へ一斉に押し出す仕組みとされています。ためて待つのがSQS、配って届けるのがSNS、と整理すると違いが見えやすくなります。

 

観点 SQS SNS
届け方 箱にためて取り出す 一斉に押し出す
相手の数 1つの受け手が処理 多くの購読者へ同時
たとえ 順番待ちの箱 一斉メール

 

この2つは組み合わせても使われます。SNSのトピックに複数のSQSキューを購読させると、1回の発行で各キューへ同じメッセージが配られ、それぞれの処理側が自分のペースで取り出せるとされています。ファンアウトと呼ばれる、よく出る構成です。

 

SNSで一斉に配り、SQSで各処理側がためて取り出す。この組み合わせで、一斉通知と取りこぼし防止を両立できると言われています。

 

→ ためて取り出す側の仕組みは、AWS SQSとは でくわしく押さえられます。

 

4. SAAでのSNSの位置づけ

疎結合な通知設計でSNSが問われるイメージ

あなたが「SAAでは、SNSはどう問われるの?」と思ったとしたら、その答えは疎結合な通知や連携にあります。

 

SAA(ソリューションアーキテクト アソシエイト)では、サービス同士をゆるくつなぎ、変化に強い設計が問われます。SNSは「ある出来事を、複数の相手へまとめて知らせたい」場面で登場するとされています。SQSとのファンアウト構成もよく題材になります。

 

問題文に「1対多」「一斉に通知」「複数の宛先へ配信」が出たらSNS、「ためて順に処理」「取りこぼし防止」が出たらSQS、と結びつけられると整理しやすくなります。

 

5. まとめ: 今日からできる、最初の一歩

今日からの一歩を示すイメージ

ここまで読んだあなたは、SNSの輪郭をしっかり押さえられたはずです。要点を3つに整理します。

 

  1. SNS = 1つのメッセージを多くの相手へ一斉に配るサービス
  2. pub/sub(発行と購読)で、トピックを介してゆるくつなぐ
  3. SQSと組み合わせ(ファンアウト)で一斉通知と取りこぼし防止を両立

 

SNSは、AWS SAAの弾力性に優れたアーキテクチャ設計領域でよく問われるサービスです。SQSとの違いをセットで覚えると、周辺の用語も整理しやすくなります。

 

あなたが今日からできる、最初の一歩を3つ用意しました。

 

  1. 用語整理: 「トピック」「pub/sub」「ファンアウト」を1行メモにまとめる(3分)
  2. 関連記事: AWS SQS に戻り、ためて取り出す側との違いを押さえる(5分)
  3. 力試し: 「1対多」と「ためて処理」のキーワードで2つを言い分ける(2分)

 

たった10分で、SNSは輪郭のある概念に変わります。完璧に覚えてから動くより、まず関連記事を1本読んでみる。それが、あなたにとっていちばん速い学び方です。

 

次のステップ

SNSが弾力性・回復性設計でどう問われるかを含めた試験の全体像は、AWS SAA 試験全体概要で俯瞰できます。

 

理解度を確かめたいなら、AWS SAA 弾力性・回復性設計の問題集でSNSによる疎結合を含む弾力性設計を実際に解いてみるのが近道です。