Amazon SNSの通知メールにて、unsubscribeのリンクを無効化する方法
2021.10.12
アプリケーションからの通知を受け取ることができるAmazon SNSですが、メール通知の本文には通知を停止する「unsubscribe」というリンクがあります。
本記事では、「unsubscribe」をクリックしても、メールの通知を停止できないようにする設定方法をご紹介します。
はじめに
Amazon SNSとは Amazon Simple Notification Service(アマゾン シンプルノーティフィケーションサービス)の略で、アプリケーションからの通知を受け取ることができるサーバレスのサービスです。AWSの一部として提供されています。
AWSに限らず、Google Cloud、Azure、オンプレ環境などに構築された お客様のシステム監視を行う当社では、監視アラートを検知した際、Amazon SNSを利用して監視を行うエンジニアに通知を飛ばしています。
このAmazon SNSですが、通知メールの中に「unsubscribe」という通知を届かなくするための停止リンクがあり、クリックすると当然通知は飛ばなくなります。誤ってクリックしてしまい、しばらく通知停止に気づかなかった・・・という方もいらっしゃるのではないでしょうか?
そこで本日のブログでは、Amazon SNSの通知メールに記載されている「unsubscribe」のリンクを無効化する方法をご紹介します。
>
AWS の面倒な運用や障害対応、まるっとお任せ!
>
AWS利用料 今なら8%OFF – 利用中の方も、アカウント移管だけで割引適用
Amazon SNS、unsubscribe(通知停止)と再通知の流れ
まず始めに、Amazon SNSのEメール サブスクリプションの仕様について簡単に説明します。通知されるアラートメールに、常に表示されている unsubscribe(通知停止)のURLは、以下のようなものです。
例:https://sns.ap-northeast-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:ap-northeast-1:XXXXXXXXXXXX:XXXX:XXXXXXXXXXXX&Endpoint=〓Eメールアドレス〓
そして、上記リンクをクリックすると以下画面がブラウザに表示され、サブスクリプションが削除されてしまいます。
AWSコンソール上で確認すると、unsubscribe(通知停止)されたサブスクリプションは以下のようにIDが【削除済み】となり、以降はメール通知ができない状況となってしまいます。
サブスクリプションが停止された場合、件名が【AWS Notification – unsubscribe Confirmation 】というメールが受信されます。ここで、メール本文内に記載の【Resubscribe】をクリックすることで、再度Eメールを受信することが可能になります。
リンクをクリックすると以下画面がブラウザに表示され、サブスクリプションがconfirmed(確認済み)になります。
注意:上記画像 右下部分に記載の【click here to unsubscribe.】を押すと再度サブスクリプションが削除されます。
AWSコンソール上で確認すると、【削除済み】が解消され、任意のIDが記載されます。
>
AWS の面倒な運用や障害対応、まるっとお任せ!
>
AWS利用料 今なら8%OFF – 利用中の方も、アカウント移管だけで割引適用
unsubscribeのリンクを無効化する方法
設定は、以下の3ステップで行います。
SNS Subscriptionの再作成
対象のSubscriptionに対して【サブスクリプションの削除】を実施します。
※ 既に登録していた場合のみ実施
次に、削除前と同じ内容で再度【サブスクリプションの作成】を実施します。
正常に作成が完了するとID部分に【保留中の確認】と表示されます。
作成時に設定したEメールアドレス宛に【AWS Notification – Subscription Confirmation】という件名で、【Confirm subscription】というリンクが本文に張られたメールを受信します。
※ このリンクを押下してはいけません。
Confirm subscription のリンク登録
まず、【Confirm subscription】リンク先のURLに対して、右クリック⇒「リンクのURLをコピー」を実施し、URLを取得します。
例:https://sns.ap-northeast-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:ap-northeast-1:XXXXXXXXXXXX:XXXX&Token=XXXXXXXXXXXX&Endpoint=〓Eメールアドレス〓
次にAWSコンソール上より再作成したサブスクリプションを選択し、【サブスクリプションの確認】を押下します。
【Confirm subscription】より取得したURLを入力し、【サブスクリプションの確認】を押下します。
「サブスクリプションが正常に確認されました」という以下のような画面を確認できれば、問題なく作成できています。
動作確認
トピックよりテストメールを送付し、以下【unsubscribe】リンクを押下します。
以下のような画面に遷移、unsubscribeが無効化されていることが確認できました。
>
AWS の面倒な運用や障害対応、まるっとお任せ!
>
AWS利用料 今なら8%OFF – 利用中の方も、アカウント移管だけで割引適用
まとめ
今回は、メール通知 unsubscribeリンクを無効化する方法について記載させていただきました。
例えば、当社が行っているようなシステムの監視アラートの通知を受信されるようなケースでは、メーリングリスト宛に通知を飛ばし、様々な人にアラートメールが送付されるよう設定されている方も多いかと思います。誰かが誤ってクリックしてしまい解消方法が分からない、とお問い合わせをいただくケースもございますので、ご紹介させていただきました。
多くの方に通知される場合、あるいはunsubscribeする予定がない場合には、ぜひお試しください。
また、当社ではAWSやAzure、Google Cloud、Zabbixなどのアラートメールの監視を24時間365日行い、 監視から障害対応、運用保守まで一括で代行するサービス をご提供しています。委託をご検討の際は、ぜひお気軽にお問い合わせください。