結論
「保留中の確認」のまま自動削除されない場合は、AWSサポートに問い合わせて削除してもらうしかないのですが…。
問い合わせは嫌だなあと思っていろいろ見てみましたというまとめ。
通常の流れ
SNSのエンドポイントとしてEMAILプロトコル、またはEMAIL JSONプロトコルを指定すると、エンドポイントに設定したメールアドレスに認証用のメールが届き、メールに記載されたリンクをクリックすることで、サブスクライブ先としてメールを受信できるようになります。
認証を待つ間
メールアドレスの認証を待つ間、コンソール上でサブスクリプションはこのように表示されます。
ID:保留中の確認
ステータス:保留中の確認
この「保留中の確認」は通常、認証されなければ48時間で自動で削除されます。
▼公式ドキュメント
しかし…
自動削除されないサブスクリプション
48時間以上経過しているのに削除されない「保留中の確認」サブスクリプションが存在しました。
しかもいっぱいある…
紐づいたトピックのリンクを確認すると、「Topic does not exist」です。
どうしてこのサブスクリプションが残ったのか?
①トピックのサブスクライブ先として登録
②メール認証せずにトピックを削除
③(通常はこの流れでも自動削除されるが、)なんらかの原因で削除されずに残った
この流れでしょうか…
③の自動削除されない原因を突き止めたいところですが、とりあえずおいておきます。
すでに存在しないトピックが「削除」可能?
トピックは存在しないのですが、なぜかトピックの「削除」はグレーアウトされていないので押せそうです。
削除を試してみると「Missing required key 'TopicArn' in params」で削除不可。
ARNがなくて困ったってことですね。
それはそう。ARNどころかなにもないもの…
あと、トピック名はundefinedに変えられていました。
まだ救いはある…のか?
サブスクリプションが「保留中の確認」ステータスの場合、認証メールを再送することができます。
再送して、認証するとサブスクリプションの削除が可能になるので、サポートに連絡しなくても削除ができそう。
と思ったのですが、トピックが削除されている場合は確認リクエストの再送もできないようです。そらそうか…
結局のところ
やっぱりサポートにお願いするしかないようです。
でも、まあ、気にはなるけど消さなくても支障がないから残しておいてもいいかな…
実りのない記事にお付き合いいただきました