はじめに
今回はAWS CLFの演習問題でよく出題されるのを見かける 「メッセージサービス」 について見ていきたいと思います。自分自身あまり区別化が上手くできていないため見直していきます![]()
今回取り上げる 「SNS SQS SES」 の特徴を今一度再確認し、正確な区別を理解できるようにしていきたいです。
Amazon SNS
Amazon SNS(Simple ※Notification Service)はメッセージを通知するサービス。
※Notification ... 通知
SNSトピックに送信(パブリッシュ)したメッセージは、あらかじめ設定しておいたサブスクリプションに送信されます。(複数ある場合は、並列的にそれぞれにメッセージが送信されます)
EC2のAuto ScalingやAWSサービスの通知でSNSトピックを設定でき、メッセージを送信することができます。
固定のEメールアドレスにメッセージを送信する際によく使われそうですね。
Eメール送信などでメッセージの通知にはSNSが使用できます
Amazon SQS
Amazon SQS(Amazon Simple Queue Service)は、メッセージキューのサービス。
キューにメッセージを送るサービスと、メッセージを受け取って処理をするサービスとの間で行われるメッセージのやり取りのために、メッセージを一時保存します。
メッセージを送信する側は受け取る側の状態を気にせず送る、処理を完了できます。
非同期の効率的な設計ができます。
非同期処理かつ疎結合な構成の実現などで、キューが必要な場合はSQSが使用できます
Amazon SES
Amazon SES(Simple Email Service)はEメールの送受信を行うためのサービスです。
受信については、Route53などのDNSでMXレコードを作成し、SESサービスのエンドポイントにEメールが届くように設定します。
SESはEメールの送信も可能です。
ダイレクトメールの発信や、エンドユーザーの申し込みに対するサンクスメールやリマインダーメールの発信などの処理を、SESを使用して自動化します。

SESはEメールの送受信を行うためのサービス
受信メールに対するアクションを自動化したり、自動送信機能を開発したりできる
演習問題
ここで私が過去に間違えた演習問題を今一度整理して見ていきたいと思います。
【問題】
「分散アプリケーションからテキストメッセージとEメールメッセージの両方を送信するために使用されるAWSのサービスまたは機能はどれですか?」
【選択肢】
・Amazon SNS ➡ 正解
・Amazon SES ➡ 不正解(私はこれを選択)
・Amazon CloudWatchアラート ➡ 不正解
・Amazon SQS ➡ 不正解
➡Amazon SNS(正解)
パブリッシュ/サブスクライブ型のメッセージングサービス。複数のプロトコル(Eメール、SMS、Lambda、SQSなど)を通じて 「通知を送信」 できます。分散アプリケーションからトピックを作成し、Eメールアドレスや電話番号をサブスクライバーとして登録することで、テキストメッセージとEメールの両方を送信可能。 従って正解
➡Amazon SES(不正解)
Amazon SESは、Eメール送信に特化したサービスで、マーケティングメールやトランザクションメールの送信に使用されます。高い配信率とコスト効率を提供しますが、テキストメッセージ(SMS)の送信機能はサポートしていません。 問題文は「テキストとEメールの両方」を要求しているため、この選択肢は不正解。
おわりに
今回のちょっとしたまとめになります。
似たようなメッセージサービスの区別化について改めて整理、反復ができました。
SNS ...テキストメッセージ(SMS)とEメールの両方を送信できる柔軟な通知サービス
SQS ...キューイング専用
SES ...Eメール専用
最後までお読みいただきありがとうございました!
日頃より活用している参考書です。
「参考書」
AWS認定クラウドプラクティショナー改定第3版(Amazon SNSは166、SQSは167、SESは277ページ)
