「メールで通知が飛ぶ仕組み」を最短で作りたいとき、Amazon SNS(Simple Notification Service)はかなり手軽です。
トピックを作って、通知先メールアドレスを購読(Subscription)させるだけで、アプリやLambdaなどからメッセージを投げた瞬間にメールが届きます。
この記事では、AWSコンソールの操作だけでできる SNSメール通知の作成手順をまとめます。
開発中の通知(例:一次受付/監視/問い合わせ受付など)をまず動かしたい人向けです。
この記事でできるようになること
- SNSの「トピック」を作る
- メールアドレスを購読(Subscription)させる
- テスト送信して、メールが届くのを確認する
- そのトピックARNを、別システム(Lambda等)の設定に使えるようにする
SNSのメール通知の考え方(超ざっくり)
SNSメール通知は、構成が単純です。
- トピック(Topic):通知を投げ込む宛先の箱
- サブスクリプション(Subscription):その箱を受け取る人(メールアドレス等)
アプリ側は「TopicにPublishする」だけ。
誰に送るかはSNS側のSubscriptionで管理します。
SNSトピックを作成する
- AWSコンソールで Amazon SNS を開く
- 左メニューから「トピック」を選ぶ
- 「トピックを作成」を押す
- タイプは「標準(Standard)」を選択
- 名前を入力する(例:connect-voicemail-notify)
- 「トピックを作成」

作成後に表示される トピックARN はあとで使うので控えます。
(例:arn:aws:sns:ap-northeast-1:xxxx:connect-voicemail-notify)

メールアドレスを購読(Subscription)させる
- 作成したトピックを開く
- 「サブスクリプションを作成」を押す
- プロトコル:Email
- エンドポイント:通知を受けたいメールアドレス(例:example@example.com)
- 「サブスクリプションを作成」

購読確認メールを承認する(ここが必須)
Emailで購読した場合、すぐには有効になりません。
SNSから購読確認メールが届くので、メール内のリンクを開いて Confirm subscription を完了させます。

SNSコンソールでサブスクリプションの状態が
- Pending confirmation(未承認)→ Confirmed(承認済み)
になればOKです。

ステータスが【確認済み】になっているので今後使用可能です。

テスト送信してメールが届くか確認する
- SNSのトピック画面を開く
- 「メッセージの発行」を押す
- 件名(Subject)と本文(Message)を入力
- 送信(Publish)
数秒〜数十秒でメールが届けば設定完了です。
よくある詰まりポイント
Pending confirmation のまま
購読確認メールのリンクを押していないのが原因です。
迷惑メールフォルダも確認します。
メールが届かない
- SubscriptionがConfirmedになっているか
- メールアドレスの入力ミスがないか
- SNSのPublish先がそのTopicか(別Topicに送ってないか)
件名が思った通りにならない
SNSのSubjectは反映されますが、メールソフト側の表示や制約で見え方が変わる場合があります。
まずは本文の情報を信頼するのが安全です。
まとめ
Amazon SNSのメール通知は、AWSコンソールだけで最短で作れます。
- トピックを作る
- Emailで購読する
- 購読確認(Confirm)する
- Publishでテスト送信する
- できたらトピックARNを使って、Lambdaなどから通知を飛ばす
「まずメールで通知が届く状態」を作っておくと、次の実装(LambdaやConnect連携など)が一気に進めやすくなります。


コメント