🐥

Cloudmapに管理されるRoute53のホストゾーンを作った時の対応

2022/01/11に公開

起こったこと

Route53で管理したいホストゾーンをCloudmap管理にしてしまった。

Cloudmapに関しては以下を参照ください。
https://docs.aws.amazon.com/ja_jp/cloud-map/latest/dg/using-cloud-map.html

ざっくりRoute53のホストゾーンのスクショを見てみると、下のようになっています。レコードの編集などが全てCloudmapからしか出来ない状態です。(Edit in the cloudmap consoleとなっていますね)

別にダメではないのですが、以下の理由から作り直すことにしました。

  • 別の環境と構成を同じにしたかった(別の環境はRoute53で管理しているホストゾーンを使っていた)
  • cloudmapを使わずRoute53だけで管理したかった

やったこと

CloudmapのNamespaceを削除する(つまりはRoute53のレコードも削除する)ことになるので、かなりの大事です。
幸いにもまだ作りたてだったので、他への影響はありませんでした。
また、すべてCloudformationで作成していたので、削除の際はCloudformationのスタックを削除することで対応しました。(後述しますが、ACMだけミスりました)

  1. Route53に登録されたレコードと紐づくリソースを削除。アプリケーションやDBを削除しました。
  2. 削除する必要のなかったACMを削除(レコードがRoute53にあるから削除したのですが、レコードを削除して作り直した後に、ACMのレコードを新しいホストゾーンに作成すればいいだけでしたomg...)
  3. Cloudmapの削除(Route53のホストゾーンも自動で消えます)
  4. この段階で消すべきリソースは全て消えました
  5. Route53のホストゾーンを作成
  6. (必要なら)Cloudmapを作成。Route53で作ったホストゾーンのサブドメインをCloudmapで管理したかったのでCloudmapを作りました。
  7. 削除したリソースを再作成

結果

大変でしたが、コードでインフラを管理していたので大きな手間にはなりませんでした。
問題に早く気付けて良かったです。気付けずに、後から変更となるとかなり厄介な問題だったので。

以上。

Discussion