EメールでAmazon SNSからのメッセージを受信する

SNSではLambda,HTTPなど様々な方法でメッセージをサブスクライブできます。 今回はEメールでメッセージをサブスクライブするまでを解説します
2022.02.28

SNSについて

Amazon SNS(Amazon Simple Notification Service)はフルマネージドのメッセージングサービスです。 特徴としてはプッシュ式のメッセージ配信形式をとり、多対多でのメッセージのやりとりが可能です。 例えば、SNSから複数の対象(サブスクリプション)に対して同一のメッセージを送ることが可能です。

SNSではサブスクリプション対象としてSQSやLambda、HTTPエンドポイント、SMSなど様々な対象が選べます。 今回はそんな中でEメールのサブスクライブに焦点を絞って解説していきます。

準備

SNSではトピックと呼ばれるキューのような物でメッセージが管理されます。 まずは、そのトピックを作成していきます。 今回はexampleというな名前でトピックを作成します。

Eメールでサブスクライブする

以下では先ほど作成したトピックにEメールで配信するように設定し、テストメッセージを送信してみます。 作業は大まかに、SNSトピックの管理者が行うものと、メールの受信者が行うもの2つに分かれています。

SNSトピックの管理者の作業

SNSトピックの管理者はメッセージを配信したいアドレスをトピックに設定する必要があります。

SNSがメッセージを配信する対象(サブスクリプション)を作成します 「サブスクリプションの作成」ボタンを押すとフォームが開きます。

今回はEメールを選択します。エンドポイントにはこのトピックをサブスクライブするメールアドレスを記入します。

作成が完了すると「保留中の確認」というステータスになります。 Eメールでサブスクライブする場合は確認メールが対象のアドレスに届き、そこに記載されたリンクを開いて初めてサブスクライブが開始します。

受信する側(サブスクライバー)の作業

トピックをサブスクライブするには確認メールを開く必要があります。 先ほど、管理者側の作業でサブスクリプションが作成されたので、指定のメールアドレスにSNSからメールが届きます。

「Confirm Subscription」という部分がリンクになっているのでこれを開きます。 すると「Subscription confirmed!」という文章が表示されます。 これが表示されればサブスクライバーの操作は完了です。

トピックの方を確認するとステータスが「確認済み」になっています。

メッセージを送ってみる

コンソールよりテストメッセージを送ってみます。

無事、メールを受信できました。

もう一度、サブスクライブの確認メールを送りたいとき

メールが何らかの理由で届かなかったり、メールボックスの中で埋もれてしまったりした場合などには、もう一度サブスクライブの確認メールを送信したい時があります。 そういった場合、対象のサブスクリプションを選択してから「リクエストの確認」ボタンを押すことで再送することができます。

感想

SNSを利用することでメッセージのサブスクライブをEメールですることができました。 システムのアラートなどをメールで通知したい時などに便利だと思います。