【小ネタ】Amazon SNS で EMAIL サブスクリプション(ID が削除済み)を手動で削除する方法
はじめに
アノテーション クラウド運用チームの森です。
先日 SNS トピックのサブスクリプションの ID が「削除済み」の状態で再サブクライブした際に問題が発生したので、その内容と解決方法を記載します。
概要
Amazon SNS でメールから Unsubscribe したサブスクリプションは、コンソール上で「ID が削除済み」と表示され、削除ボタンが押せない状態になります。
ID が削除済みになっている場合は「削除」などのボタンが選択できません
通常は 72 時間程度待つと自動削除されますが、今回は手動ですぐに削除する方法をご紹介します。
背景
今回は、メーリングリストの受信者が誤って Unsubscribe してしまわないように、サブスクリプション解除に認証が必要なサブスクリプションを作成 しようとしていました。 そのようなサブスクリプションを作成する場合、メール内リンクをコピーしてコンソールか CLI でサブスクリプションの確認をする必要があります。
しかし、原因は不明ですが、コンソールでサブスクリプションの確認をする前にステータスが確認済みとなってしまいました。
Unsubscribe してから再度サブスクリプションの作成をしましたが、ステータスが「確認済み」のままになっており、コンソールからサブスクリプションの確認をすることができませんでした。
これを解消するため、既存のサブスクリプションを削除してから同一のエンドポイントでサブスクリプションを作成し直す必要がありましたが、Unsubscribe されたサブスクリプションを選択しても削除ボタンが押せませんでした。
自動削除まで 72 時間程度かかる というブログを見て 3 日後に再登録しなければいけないのか…と絶望していましたが、簡単な方法でサブスクリプションを削除することができました。
手順
-
同一エンドポイント・同一トピックで再度サブスクリプションを作成します
Unsubscribe したサブスクリプションと同じ ARN で作成されます
※ 作成しただけでは ID は表示されず、ステータスも確認済みとして表示されますが、実際には再度サブスクリプションの確認をする必要があります
-
メールに記載されている「Confirm subscription」をクリックします
-
コンソールに戻ると ID が表示され、削除もできるようになります
-
無事削除できました!
まとめ
- Unsubscribe 状態(ID が削除済み)のサブスクリプションはそのままでは削除できない
- 同一エンドポイント・同一トピックで再度サブスクリプションを作成し、確認することで削除可能になる
- 通常は 72 時間待てば自動削除されるが、すぐに削除したい場合はこの方法が有効
補足:そもそも削除が不要だった話
実は今回の事象、CLI を使えば最初から削除する必要はありませんでした。
以下手順を実行することでサブスクリプション解除に認証が必要になります。
- Unsubscribe し、同一エンドポイント・同一トピックで再度サブスクリプションを作成します
- CLI から以下コマンドを実行します
aws sns confirm-subscription \
--token <トークン> \
--topic-arn <トピックのARN> \
--authenticate-on-unsubscribe true \
--region <トピックのリージョン>
※ トークンはサブスクリプションの確認 リンクの URL の途中にある、「Token=」と「&Endpoint=」に挟まれた一連の長い英数字列です。
- 成功すると以下のようなレスポンスが返ってきます
{
"SubscriptionArn": "arn:aws:sns:ap-northeast-1:..."
}
- メールから Unsubscribe できないことを確認できました
参考
- SNS メーリングリストの受信者により、メーリングリストのサブスクリプションが解除されないようにする | AWS re:Post
- Amazon SNS トピックのサブスクリプションの削除に関するトラブルシューティング | AWS re:Post
- 削除された SNS のサブスクリプションを再度サブスクライブすることができない場合の対処方法 | DevelopersIO
- 誰かサブスクリプション解除した?を無くすために Amazon SNS によるメール通知の停止(Unsubscribe)リンクを無効化してみた | DevelopersIO
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。