
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日行い、 監視から障害対応、運用保守まで一括で代行するサービス をご提供しています。委託をご検討の際は、ぜひお気軽にお問い合わせください。


【Google Cloud Next San Francisco ’23 現地レポート】BigQueryとPaLMによる次世代のデータ分析について

【Google Cloud Next San Francisco ’23 現地レポート】モダンアプリケーション開発のベストプラクティスについて

【Google Cloud Next San Francisco ’23 現地レポート】Google Kubernetes Engineを使用したエンタープライズアプリケーションの設計パターンについて

【Google Cloud Next San Francisco ’23 現地レポート】Google Cloudの暗号鍵について