👀

【AWS】Route 53で「このドメイン何?」となったときの安全な削除手順

に公開

はじめに

Route 53の画面を見ていて、「消していいのかな?」と思うドメインを見つけたことはありませんか?
私も実際にこの状況に遭遇し、"どう確認すれば、安全と判断できるのか" で迷いました。

本記事では、Route 53で使われているか分からないドメインや設定を、安全に整理する手順を解説します。

記事を読み進める前に

この記事では、以下の前提で話を進めていきます。

  • Route 53でホストゾーンやドメインを管理している
  • 用途不明なレコードやホストゾーンが存在している

「削除しても問題なさそうだけど、念のため確認しておきたい設定がある」という方は、ぜひこの記事を参考に整理してみてください。

Route 53の基本構造

まずはRoute 53の基本的な役割を簡単に説明します。大きく分けて2つあります。

  1. ドメイン登録機能:ドメインの取得・更新を管理
  2. DNS管理機能:ホストゾーンでDNS設定を管理
Route 53
├── [ドメイン登録] example.com
│    └── (レジストラとしてドメインを管理)
│
└── [ホストゾーン] example.com
     ├── [レコード] www.example.com (A)
     ├── [レコード] api.example.com (A)
     └── [レコード] test.example.com (A)

ドメイン

  • example.com のような、インターネット上の住所そのものです
  • ドメインを削除すると、DNS による名前解決ができなくなるため、ユーザーが example.com にアクセスしようとしても、本当の住所(IPアドレス)が取得できなくなります
  • 住所が分からないため、WebサイトやAPIエンドポイントなど、そのドメイン配下のすべてのサービスがアクセスできなくなります

ホストゾーン

  • 特定ドメインのDNS設定をまとめて管理する場所です
  • たとえば example.com に対して AレコードやCNAMEなどを登録するのが、このホストゾーンです
    • パブリックホストゾーン:外部(インターネット)向けの名前解決を行う
    • プライベートホストゾーン:VPC内部でのみ有効なDNS設定を持つ

レコード

  • 実際の名前解決ルールを定義する設定項目です
  • 「どのドメイン名を、どのIPや別ドメインに紐づけるか」を指定します
種類 役割
Aレコード ドメイン名 → IPアドレス www.example.com → 1.2.3.4
CNAMEレコード ドメイン名 → 別ドメイン名 api.example.com → api.elb.amazonaws.com
TXTレコード 任意の文字列(認証・検証用) SPF/DKIM設定など
MXレコード メールサーバの設定 example.com → aspmx.l.google.com

詳しく知りたい方はRoute 53公式ドキュメントを参照ください。

削除までの流れ

削除の判断は、次の5つのステップで進められます。
調査の段階で「明らかに不要」と判断できる場合は、すべてのステップを踏まずに削除して大丈夫です。

  1. レコードの用途を調べる
  2. Route 53の設定が使われているか確認する
  3. HTTPS証明書に使われていないか確認する
  4. アクセスログで利用状況を確認する
  5. 保留期間を設けて削除を実行する

それぞれのステップを詳しく見ていきましょう。

1. レコードの用途を調べる

レコードの用途を特定するために、以下の方法で調査します。

チーム内で確認してみる

わざわざ書くほどでもないかもしれませんが、最初にチームへ一言確認しておくのが早いです。
Slackで軽く聞いたり、過去のログを該当のドメイン名などで検索するだけでも、用途や経緯が分かることがあります。

もしこの時点で「もう使っていない」と分かれば、それ以上深掘って調査する必要はなくなります。

IaCコードを検索する

Terraform、CDK、CloudFormation等でインフラを管理している場合は、コード内を検索してみます。
見つかった場合は、コメントやGitのコミット履歴から用途が分かるかもしれません。

注意:使っていないが保有しておくべきドメインもある

「現在は使用していない」と判明した場合でも、ドメイン的に価値があり、持ち続けるべきケースがあります。

以下のような理由で保有している可能性があるため、削除前にチームで確認しましょう。

  • 将来のプロジェクトやサービスで利用予定
  • 既存ブランドや社名との関連がある
  • 第三者による悪用(なりすまし・フィッシング等)を防ぐ目的
  • 過去に使用していたサービスの再利用・リダイレクト用

2. Route 53の設定が使われているか確認する

このドメインのDNSが現在もRoute 53を使って解決されているかを確認します。
Route 53がこのドメインのDNSを管理していない場合、そのゾーン上のレコードは既に参照されていない可能性があります。

確認方法

dig NS example.com

判断

NSレコードに awsdns が含まれている場合:

example.com. IN NS ns-123.awsdns-12.com.
example.com. IN NS ns-456.awsdns-34.net.
→ Route 53 がこのドメインの DNS を管理している

この場合、削除はまだ保留にします。

NSレコードに awsdns が含まれていない場合:

example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
→ 他社のネームサーバーを使用している、または応答なし

この場合は、Route 53上のレコードは参照されていない可能性が高く、削除候補になります。

nslookup/dig で No answer となる場合

外部から問い合わせても No answer と表示される場合は、該当ドメインが名前解決できない状態になっています。

具体的には、次のようなものが考えられます。

  • DNS を別サービスへ移行済みで、Route 53 側が参照されていない
  • レコード自体が削除されている
  • ホストゾーン自体が削除済み(Route 53 にゾーンが存在しない)
  • VPC 内専用の Private Hosted Zone で管理されている

外部から解決できない場合は、Route 53 が現在利用されていない可能性が高いですが、Private Hosted Zone の場合は VPC 内部からも確認しておくと安全です。

3. HTTPS証明書に使われていないか確認する

次に、削除しようとしているレコードが HTTPS証明書の検証に使われていないかを確認します。ACMで発行した証明書は自動更新されますが、この検証用レコードを削除すると更新が失敗します。それにより証明書が失効し、WebサイトがHTTPSでアクセスできなくなります。

注意すべきレコードの特徴

次のような特徴がある場合は、この検証用レコードである可能性が高いです。

項目 特徴
レコード名 _a79865eb4...b4e0b96.example.com アンダースコア + 約30文字のトークンで始まる
タイプ CNAME CNAMEレコード
_xxx.acm-validations.aws. .acm-validations.aws.で終わる

https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html

確認手順

  1. AWSマネジメントコンソール → Certificate Manager(ACM) を開く
    • ALB用などはサービスを使用しているリージョンを確認
    • CloudFront用の証明書は us-east-1(バージニア北部) を確認
      ※CloudFrontはグローバルサービスだが、証明書は us-east-1 で管理される
  2. 検索窓で該当ドメインを入力
  3. 対象の証明書を開き、ステータスと使用状況を確認する

ACMで証明書が見つかり、発行済みまたは使用中の場合は削除しないでください。証明書が見つからない場合は、過去に使われていた検証レコードの残骸で、削除できる可能性があります。

4. アクセスログで利用状況を確認する

念のため、アクセスログやDNSクエリログを確認しておくとより確実です。

確認方法

削除予定のドメインが過去2〜4週間以内にアクセスされていないかを確認します。

確認できるログの例:

  • ALB / CloudFront:S3に出力されたアクセスログを確認
  • EC2 / ECS:CloudWatch Logs Insightsでアクセスログを検索
  • Route 53クエリログでDNS問い合わせを確認

クエリログを有効化していない場合は、ALBやCloudFrontなどのアクセスログで代替確認できます。

最近アクセスがあれば削除は控えましょう。アクセスがなくても、年に数回だけ実行される処理で利用されている場合があるため、念のためチームにも確認しておくと安心です。

別途確認が必要なケース

以下のレコードは通常のアクセスログで状況を確認できないため、個別の確認が必要です。

  • Private Hosted Zone:VPC内のみで解決される。VPC内でnslookupを実行して確認
  • NSレコード(子ゾーン委任):削除するとサブドメイン全体が解決不能になる
  • MX / TXTレコード(メール関連):SPF / DKIM / DMARC設定に影響する

5. 削除を実行する

ここまで確認して「削除しても問題なさそう」と判断できたら、実際に削除を行います。

削除対象の整理

削除できる対象は、これまでの調査結果によって異なります。

対象 状況 備考
レコード単位 特定の設定のみ不要な場合 Aレコード、CNAME、TXTなど。対象だけ削除すればOK。
ホストゾーン単位 ドメイン全体をRoute 53で使っていない場合 外部DNSに移行済みであれば削除可能。
ドメイン全体 ドメインそのものが不要な場合 ドメインを削除すると、関連するホストゾーン・レコード・ACM証明書もまとめて整理できる。
ACM証明書 HTTPSが不要になった、または別ドメインへ移行した場合 CloudFrontやALBに紐づいていないことを確認して削除。

ドメイン自体を削除できる状態であれば、ホストゾーンやACM証明書など関連リソースも一緒に整理できます。レコード単位で削除するよりも管理をシンプルにできるケースもあります。

削除時の注意点

実際に削除作業をしてみて気づいた点を共有します。

  • 削除できるリソースの見落としに注意
    誰かがテスト目的で作成したリソースは、普段使わないリージョンにACM証明書があったり、ドメイン取得とホストゾーン管理が別アカウントになっているなど、不規則な構成になっていることがあります。こうしたリソースは見落としやすいので、注意して複数リージョン・複数アカウントを確認すると削除漏れを防げます。

  • ホストゾーン削除時は先にレコードを削除
    ホストゾーンを削除する際、AレコードやCNAMEレコードが残っていると削除できません。先にこれらのレコードを削除しましょう。デフォルトで作成されるNSレコードとSOAレコードは、そのままでも削除できます。

Route 53コンソールまたはCLIから削除できます。不安な場合は、削除後1〜2週間は、CloudWatch Logsなどでエラーが出ていないか確認しておくと安心です。

まとめ

この記事では、Route 53で「使われているか分からないリソース」を安全に整理する手順を紹介しました。
レコード単位の確認からドメイン削除まで、順を追って確認すれば、誤って重要な設定を消してしまうリスクを防げます。

この記事が、Route 53の設定を安心して整理する際のヒントになれば嬉しいです。

株式会社L&E Group

Discussion