SAA-C03 ソリューションアーキテクト アソシエイト

AWS SAA-C03 で Amazon SNS はどう問われるか

Amazon SNS が正解になる問題 3問
例題 3問 収録
最頻出: 第 2 分野: 弾力性に優れたアーキテクチャの設計

SAA-C03 (ソリューションアーキテクト アソシエイト) の練習問題のうち 3 問で Amazon SNS が正解になります。出題はすべて第 2 分野: 弾力性に優れたアーキテクチャの設計 (3問) からです。タスク単位では「タスク 2.1 スケーラブルで疎結合なアーキテクチャを設計する」が 3 問と中心で、ここが Amazon SNS を学ぶうえで最優先の論点です。誤答の選択肢としては Amazon SQS、Amazon Kinesis Data Streams、AWS STS が併記されやすく、これらとの役割の違いを説明できるかどうかが正誤の分かれ目になります。

Amazon SNS の出題分野の内訳

分野別

第 2 分野: 弾力性に優れたアーキテクチャの設計

3


タスク別(AWS 公式 Exam Guide のタスクステートメント)

タスク 2.1 スケーラブルで疎結合なアーキテクチャを設計する

3

Amazon SNS の例題 3問(クリックで即採点)

選択肢をタップするとその場で正誤が分かります。ログインもページ移動も不要です。

例題 1
単一選択
難易度: やさしい

申込完了イベントの利用者通知に使うマネージドサービス

地方の果樹園を運営する事業者が、収穫体験ツアーの予約サイトを AWS 上に新規構築しています。参加者が予約フォームを送信するたびに、その参加者本人へ予約確定の通知メッセージを届ける必要があります。運用チームは小規模で、メール配信基盤やワーカープロセスを自前で構築・保守する余力はありません。将来的には同じ予約イベントを社内の運用チャネルにも同時配信したいと考えています。この要件を最も少ない運用負荷で満たす AWS サービスはどれですか。

解説を読む(正解: C)

Amazon SNS はパブリッシュ/サブスクライブ型のフルマネージドメッセージングサービスです。発行者がトピックへメッセージを 1 回パブリッシュするだけで、購読しているすべてのエンドポイント (E メール、SMS、モバイルプッシュ、HTTP/S、Amazon SQS、AWS Lambda など) へ同時に配信でき、配信基盤のスケーリングや冗長化は AWS 側が担います。本問では「予約が入るたびに参加者本人へ通知を届ける」ことが要件であり、予約確定イベントを SNS トピックにパブリッシュし、参加者の連絡先をサブスクライブさせる構成が最短でこれを満たします。同じトピックを社内チャネルにもファンアウトできるため、将来の拡張要件にもそのまま対応できます。Amazon SQS はコンポーネント間を疎結合にするためのプル型キューで、メッセージを取り出すのはコンシューマー側のアプリケーションです。利用者へ能動的に通知を届ける仕組みではないため要件を満たしません。AWS STS は一時的なセキュリティ認証情報を発行して権限を委譲するサービスであり、認可のための機能でメッセージ配信とは無関係です。Amazon Kinesis Data Streams はストリーミングデータをリアルタイムに取り込んで処理するためのサービスで、コンシューマーがシャードから読み取ることを前提としており、エンドユーザーへの通知配信用途には適しません。

この問題の出典(AWS 公式ドキュメント)

例題 2
単一選択
難易度: やさしい

1 件のイベントを複数の宛先へ同報する通知基盤

配車マッチングアプリを提供する物流ベンチャーが、EC2 インスタンス上でバックエンド API を運用しています。インスタンスのステータスチェック失敗を CloudWatch アラームで検知した際に、Lambda 関数を起動してチャットツール (Slack や Microsoft Teams) へ投稿すると同時に、オンコール担当者のメールアドレスにも同じ通知を配信したいと考えています。追加のサーバーを管理せずにこの 1 対多の配信を実現するには、どのサービスを利用すべきですか。1 つ選択してください。

解説を読む(正解: B)

Amazon SNS は、パブリッシュ/サブスクライブ (pub/sub) モデルのフルマネージドなメッセージングサービスです。トピックに 1 件のメッセージを発行すると、そのトピックを購読しているすべてのサブスクライバー、たとえば AWS Lambda 関数、E メール、SMS、HTTPS エンドポイント、Amazon SQS キューなどへ同時にプッシュ配信されます。本問では CloudWatch アラームを起点として Lambda 関数によるチャット投稿とオンコール担当者へのメール送信を同時に行いたいという「ファンアウト」が要件なので、SNS トピックに Lambda 関数と E メールアドレスをサブスクライブさせる構成が最適です。CloudWatch アラームのアクションに SNS トピックを指定するだけでよく、サーバー管理も不要です。Amazon SQS はコンシューマー側がポーリングして取得するキューであり、1 件のメッセージは原則として 1 つのコンシューマーにしか処理されません。複数の宛先へ同報するにはキューを分けたうえで結局ファンアウト機構が必要になり、SQS 単体でメールを送信することもできません。Amazon Kinesis Data Streams は大量のストリーミングレコードを順序保証付きで処理するサービスで、シャード管理やコンシューマーアプリケーションの実装が必要になり、単発のアラート通知には過剰です。Amazon S3 のイベント通知はバケット内のオブジェクト作成・削除などを契機に動作する仕組みであり、EC2 インスタンスの障害や CloudWatch アラームを起点にすることはできません。

この問題の出典(AWS 公式ドキュメント)

例題 3
単一選択
難易度: やさしい

モバイルデバイスへのプッシュ通知とファンアウト

フードデリバリー事業者がマイクロサービスアーキテクチャを設計しています。注文が確定した瞬間に、配達員の iOS / Android アプリへプッシュ通知を届ける必要があり、同時に同じイベントを配車最適化サービスと分析基盤にも配信したいと考えています。通知の遅延は数秒以内に抑えたく、通知先の追加や削除は送信側のコードを変更せずに行えることが望まれます。 この要件を満たす AWS サービスを選択してください。

解説を読む(正解: A)

Amazon SNS はパブリッシュ/サブスクライブ (pub/sub) 型のメッセージングサービスで、送信側はトピックへ 1 回発行するだけで、そのトピックを購読しているすべてのサブスクライバーへ同じメッセージが配信されます。サブスクライバーとしては Lambda、SQS キュー、HTTP/S エンドポイント、E メールに加えて、モバイルプッシュ通知 (APNs、FCM などのプラットフォームエンドポイント) を指定できる点が本問の決め手です。A の SNS であれば、注文確定イベントを 1 つのトピックへ発行するだけで配達員のモバイルアプリへプッシュ通知が届き、同じイベントを配車最適化サービスや分析基盤へファンアウトできます。購読先の追加・削除はサブスクリプションの操作だけで完結し、発行側のコードは変更不要です。B の SQS はコンシューマーがポーリングして取得するキューであり、メッセージを能動的にプッシュしません。デバイスへの通知機能も持たず、1 つのメッセージは基本的に 1 つのコンシューマーが処理するためファンアウトにも向きません。C の SES は E メール送信に特化したサービスで、モバイルアプリのプッシュ通知は扱えません。D の EventBridge Scheduler は指定時刻や一定間隔でターゲットを起動するスケジューラーであり、イベント発生時のリアルタイム通知やモバイルデバイスへの直接配信の仕組みではありません。

この問題の出典(AWS 公式ドキュメント)

Amazon SNS とよく混同されるサービス

Amazon SNS が答えの問題で、誤答の選択肢として並ぶサービス

SAA-C03 の問題プールを実際に集計した結果です。ここに並ぶサービスとの違いを言葉で説明できるようになると、Amazon SNS 系の問題を取りこぼしにくくなります。

Amazon SQS

3回

Amazon Kinesis Data Streams

2回

AWS STS

1回

Amazon SES

1回

Amazon SNS の公式ドキュメント

本ページの内容は以下の AWS 公式ドキュメントに基づいています。

SAA-C03 の関連論点

Amazon SQS

5問

AWS Step Functions

5問

AWS Elastic Beanstalk

3問

Amazon Route 53

3問

Amazon EventBridge

3問

Amazon RDS for MySQL

3問

SAA-C03 のサービス別 論点一覧をすべて見る

SAA-C03 の練習問題をすべて解く

Amazon SNS を含む全分野の練習問題と本番形式の模擬試験を、日本語の解説つきで収録しています。

練習問題を始める