CLF / ドメイン3 クラウドテクノロジーとサービス
重要な内容
Amazon SNS (Simple Notification Service)
は、1つのメッセージを多くの宛先へ同時に届けられる、フルマネージドの通知サービスです。 メッセージの送り手と受け手を「トピック」という中継点で分離する、パブリッシュ/サブスクライブ(pub/sub)型のメッセージングを提供します。
CLF では、SNS が「プッシュ型で多数の宛先へ通知するサービス」であることを理解し、 や との使い分けを判断できることが重要です。
Point
- SNS = Simple Notification Service の略です。
- Notification(通知) の名前のとおり、「お知らせを配る」サービスと覚えます。
- pub/sub は Publish(発行)/ Subscribe(購読) の略で、送り手はトピックへ発行するだけ、受け手はトピックを購読するだけ、という疎結合な仕組みです。
- 和訳
- Notification: 通知、告知
- Weblio英和辞書「notification」
- Subscribe: 購読する、申し込む
- Weblio英和辞書「subscribe」
概要
は、アプリケーションやAWSサービスから発生したイベントを、メール、SMS、モバイルプッシュ通知、他のAWSサービスなどへ知らせるために使います。 サーバーの管理は不要で、送信するメッセージの数や配信の種類に応じたで利用できます。
SNS では、まず「トピック」を作成し、通知を受け取りたい宛先を「サブスクリプション」としてトピックに登録します。 発行者(パブリッシャー)がトピックへメッセージを1回発行すると、SNS が購読者(サブスクライバー)全員へメッセージを押し出すように配信します。
代表的な使い道は、 の通知、 の予算アラート、注文完了などのユーザー通知、複数システムへのイベント同時配信()です。
試験では、「通知を配るのは SNS」「メッセージをためて処理するのは 」という基本の使い分けを判断します。
主要技術
①トピックとサブスクリプション
トピックは、メッセージを受け付けて配信する論理的な中継点(チャネル)です。 サブスクリプションは、「このトピックのメッセージを、この宛先へ、この方法で届ける」という購読の登録です。
| 用語 | 役割 | 判断ポイント |
|---|---|---|
| パブリッシャー(発行者) | トピックへメッセージを発行します。 | 宛先を個別に知る必要はありません。 |
| トピック | メッセージの受け付けと配信を行います。 | 発行者と購読者をにする中心要素です。 |
| サブスクリプション(購読) | 配信先と配信方法(プロトコル)の登録です。 | 1つのトピックに複数登録できます。 |
発行者は宛先の一覧を管理せず、トピックへ送るだけで済みます。 宛先の追加や削除はサブスクリプションの変更だけで完結するため、システム同士のつながりを緩やかに保てます。
②プッシュ型配信と配信先エンドポイント
はプッシュ型のサービスです。 メッセージが発行されると、SNS 側から購読者へ自動的に配信されるため、購読者が定期的に問い合わせ()をする必要はありません。
配信先は、システム向け(A2A)と人向け(A2P)に大きく分かれます。
| 配信先 | 分類 | 主な用途 |
|---|---|---|
| キュー | A2A | メッセージをキューにためて、後続システムで確実に処理します。 |
| 関数 | A2A | 通知をきっかけに処理を自動実行します。 |
| / | A2A | 外部の Web システムへ通知します。 |
| A2A | メッセージを分析基盤やストレージへ流します。 | |
| Eメール | A2P | 管理者やユーザーへのお知らせに使います。 |
| SMS | A2P | 携帯電話へのテキスト通知に使います。 |
| モバイルプッシュ通知 | A2P | スマートフォンアプリへの通知に使います。 |
Point
- A2A = Application-to-Application(アプリケーションからアプリケーションへ) の略です。
- A2P = Application-to-Person(アプリケーションから人へ) の略です。
- SNS は「システムにも人にも通知できる」点が特徴で、宛先の種類ごとにサブスクリプションのプロトコルを選びます。
⚠️ 頻出: 「ユーザーの携帯電話へ SMS を送る」「モバイルアプリへプッシュ通知を送る」という要件は SNS が答えになります。
③SNS + SQS のファンアウト構成
は、トピックへ発行した1つのメッセージを、複数の キューなどへ複製して同時配信する構成です。 それぞれのキューにつながるシステムが、同じイベントを独立して並行処理できます。
たとえば注文イベントをトピックへ1回発行するだけで、出荷処理と分析処理の両方へ同じ情報が届きます。 SQS を間に挟むことで、受け手側が一時的に停止していてもメッセージがキューに残り、復旧後に処理できます。
Point
- Fan out(ファンアウト) は「扇状に広がる」という意味です。
- 1つの入口(トピック)から複数の出口(キューなど)へ扇のように広がるイメージで覚えます。
- 和訳
- fan out: 扇状に広がる、分岐する
- Weblio英和辞書「fan out」
⚠️ 頻出: 「1つのイベントを複数のシステムへ同時に配信したい」は + SQS のファンアウトが答えになります。
④CloudWatch アラームや AWS Budgets の通知先 ⚠️ 頻出
は、AWS の監視・コスト管理サービスからの通知の受け口として広く使われます。 CLF では、この「アラート系の問題ではほぼ SNS が登場する」というパターンを押さえます。
| 組み合わせ | 流れ | 試験でのキーワード |
|---|---|---|
| + SNS | がしきい値を超えるとアラームが SNS トピックへ通知し、メールなどが届きます。 | 「使用率が高くなったら管理者へメール」 |
| + SNS | 予算のしきい値を超えそうなときにアラートを SNS トピックへ送れます。 | 「利用料金が予算を超えたら通知」 |
⚠️ 頻出: 「しきい値を超えたら管理者に通知する」という問題では、しきい値の監視は CloudWatch アラームや AWS Budgets、通知の配信は SNS、という役割分担で判断します。
⑤Amazon SQS との違い(プッシュ vs プル)⚠️ 頻出
と はどちらもアプリケーション間のメッセージングサービスですが、配信の向きが逆です。 SNS はトピックから購読者へ押し出すプッシュ型、SQS は受信側がキューへ取りに行くプル()型です。
| 比較項目 | Amazon SNS | Amazon SQS | 判断ポイント |
|---|---|---|---|
| 配信モデル | プッシュ型(SNS から配信) | プル型(受信側がポーリング) | 「即時に通知」なら SNS、「取りに行って処理」なら SQS です。 |
| 受信者の数 | 1回の発行で複数の購読者へ配信 | 基本は1つのメッセージを1つの受信者が処理 | 「複数へ同時配信」は SNS です。 |
| メッセージの保持 | 配信できれば保持しません。 | 受信側が処理するまでキューに保持します。 | 「一時的な障害に備えてためる」は SQS です。 |
| 主な用途 | 通知、アラート、 | 、負荷平準化、非同期処理 | 「処理の分離・バッファ」は SQS です。 |
| 人への通知 | Eメール・SMS・モバイルプッシュに対応 | 非対応(アプリケーション向け) | 「人に知らせる」は SNS です。 |
両者は競合ではなく、ファンアウトのように組み合わせて使うことも多い点に注意します。
⚠️ 頻出: 「プッシュ型はどれか」「複数のシステムへ同じメッセージを届けるのはどれか」は SNS、「メッセージをキューにためて疎結合にするのはどれか」は SQS です。
⑥Amazon SES との違いと料金の考え方
(Simple Email Service)は、Eメールの送信に特化したサービスです。 もEメールを送れますが、目的が異なります。
| サービス | 主な用途 | 判断ポイント |
|---|---|---|
| Amazon SNS | 通知・アラートの配信(Eメールは配信手段の1つ) | 「システムからの通知を複数の手段で配る」場合に選びます。 |
| Amazon SES | 注文確認などの取引メールや、マーケティングメールの大量送信 | 「本文をカスタマイズしたメールを顧客へ大量に送る」場合に選びます。 |
SNS のEメールは購読者への定型的な通知に向いており、顧客ごとにデザインした HTML メールの大量配信のような本格的なメール送信には SES を選びます。
料金面では、SNS に初期費用はなく、発行したメッセージ数と配信数に応じたです。 配信料金はの種類によって異なり、特に SMS は宛先の国・地域によって料金が変わるため、Eメールや A2A 配信より高くなりやすい点を意識します。
Point
- SES = Simple Email Service の略で、Email 専用のサービスです。
- 覚え方
- SNS = Notification(通知全般。Eメールは手段の1つ)
- SES = Email(メールそのものが目的)
- 「通知の N、メールの E」で区別します。
試験対策
CLF の問題では、まず「誰に・何を届けたいのか」を確認します。 人やシステムへ即時に知らせたいなら 、メッセージをためて確実に処理したいなら 、と整理すると選びやすくなります。
| 問題文のキーワード | 優先して考える機能・サービス | 理由 |
|---|---|---|
| しきい値超過を管理者へメールで通知 | + SNS | アラームの通知先として SNS トピックを使います。 |
| 利用料金が予算を超えたら通知 | + SNS | 予算アラートを SNS 経由で配信できます。 |
| ユーザーの携帯へ SMS を送信 | Amazon SNS | SMS やモバイルプッシュに対応しています。 |
| 1つのイベントを複数システムへ同時配信 | SNS + SQS() | トピックから複数キューへ複製配信できます。 |
| プッシュ型のメッセージング | Amazon SNS | SNS 側から購読者へ配信します。 |
| メッセージをキューにためて | Amazon SQS | プル型でメッセージを保持できます。 |
| 顧客向けメールの大量送信・マーケティングメール | メール送信に特化したサービスです。 | |
| pub/sub、トピック、サブスクリプション | Amazon SNS | pub/sub モデルの用語です。 |
よくある誤答のパターンは次のとおりです。
- 「通知」という言葉だけで SQS を選ぶことです。SQS はキューにメッセージをためるサービスで、メールや SMS を送る機能はありません。
- 「メール送信」という言葉だけで SNS と SES を混同することです。定型的な通知は SNS、顧客ごとにカスタマイズしたメールの大量送信は SES です。
- プッシュとプルの取り違えです。SNS はプッシュ型、SQS はプル型と覚えます。
- しきい値の監視そのものを SNS の機能と考えることです。監視と判定は CloudWatch アラームや AWS Budgets が行い、SNS は通知の配信を担当します。