今日はなにの日。

気になったこと勉強になったことのメモ。

今日は、ACM証明書削除できない件についてAWSのサポート問い合わせたの日。

目次

とある日

AWS構築が終わりリソースを削除していたところ、ACMだけが削除できない状況になっていた。

悩んだ挙げ句、他社の助言もありAWSサポートに問い合わせを行って解決した話。

はじめに

注意

  • サポート内容など詳細なことは省きます
  • AWSサービスについての詳細情報については解説はしません

問題事象について

Amazon API GatewayAWS Certificate Manager (ACM) と統合

【新機能】Amazon API GatewayがACM (AWS Certificate Manager)に対応。簡単に独自ドメインAPIがSSL化。

参考記事のように、API Gatewayのカスタムドメインを使用して、ACMを対応させてSSLを実現を行いました。

そして、必要がなくなったので、カスタムドメインを削除してACMも削除しようとすると。

関連リソースにまだあるから削除できないと言われました。

確認すると、アタッチした記憶のないELBが関連リソースにありました。

変だと思ったので、調べてみると下記の記事がヒットしました。

ACMから証明書が削除できない事象と謎のロードバランサー

ACM 証明書を削除しようとしましたが、他の AWS リソースで使用されているというエラーが表示されました

ACM削除できない考察

下記の2つが、上記の記事と自分の環境を比べた際の違いでした。

  • 関連リソースの数
  • AWSアカウントID

関連リソースの数

参考記事だと、多くても3つでしたが自分の環境だと7つほどついていました。

初めは、冗長化のためにいっぱいついてるなぐらいにしか考えていませんでした。

謎のAWSアカウントID

そして、一番違う点がこのアカウントIDが2つあったことです。

一つは、アカウントIDで調べるとすぐに出てきました。

どうやら、下記の用途で使用されるみたいです。

CloudTrail におけるカスタムドメイン名の作成のログ記録

アカウントによる API Gateway コールのログ記録に CloudTrail が有効になっている場合、API Gateway は、API のカスタムドメイン名が作成または更新されたときに、関連付けられた CloudFront ディストリビューションの更新を記録します。これらの CloudFront ディストリビューションAPI Gateway が所有しているため、報告された各 CloudFront ディストリビューションは、API 所有者のアカウント ID ではなく、次のいずれかのリージョン固有の API Gateway アカウント ID によって識別されます。

CloudTrail におけるカスタムドメイン名の作成のログ記録

後記するので詳しくは割愛しますが、このアカウントIDが本事象の原因でした。

ACM削除のために試行錯誤

同様の事象を調べて出てきた方法を色々と試しました。

AWS CLIを使用しての削除

調べるとAWS CLIで、削除を実行すると数分で完了するとあるので、試した見ました。

結果としては、マネージドコンソールと同じ結果で、関連リソースがあるため削除できないとなりました。

数日放置

一通り試して無理だったので、とりあえず放置しました。

数日放置して再度削除を実行しました。

マネージドコンソールでも、CLIでも変化なく削除できませんでした。

AWSサポート問い合わせ

経緯

削除できずに困り果てたので、有識者に相談したところ。

「わからないです」と返ってきた。

あ....。と絶望してると。

AWSサポートに問い合わせしてみてください」と言われた。

なるほど。

問い合わせ内容

「該当ACMの関連リソースにあるELBのアカウントIDはなんですか」と問い合わせました。

本当はもっと詳しく書きましたが、個人情報などの理由から割愛しています。

aws.amazon.com

後で知ったのですが、適切なサポート内容についての記事がありました。

自分が送った内容を思い出してみて。

そこそこ、適切なサポート内容ではないかと思いました。

返信内容

結果としては、ACMに関連リソースとしてあったELBの2つのアカウントはAWSの管理するアカウントIDでした。

どうやら、極稀にカスタムドメインを削除しても関連リソースが解除されないみたいです。

関連リソースの解除作業は、AWS側でしか行えないらしく、その作業をお願いしました。

その後、関連リソースが解除された連絡が来て無事にACMが削除できました。

教訓

わからないことはサポートに聞く手がある

今回学んだことは、自分で調べることも大事だが、自分ではどうにもできないことも存在する。

そして、有識者でも解決できないことは、サポートを頼ること。

サポートや他者に、相談や質問する際は、課題や状況、経緯をしっかりと伝えることが大切です。

今回のようなことは、初めて遭遇したのでどうするかわからなかったですが、

無事に解決しました。

AWSは、マネージメントサービスをAWSサービスを使用して冗長化していることもあるので、

自分の作成していないリソースも存在する可能性は存在する。

ちなみに、サポートの問い合わせ内容はすぐに返ってきたので、謎はすぐに解けました。

サポートって便利だなと思う今日このごろ。