AWS Route 53 を使用したサブドメインの委任方法
はじめに
古くから稼働しているサービスでサブドメインの委任が必要になったので委任方法を確認してみました。
今回は仮に、親ドメイン sample.com
側に既に sub.sample.com
の A レコードが設定されている場合に、その A レコードを編集して NS レコードに置き換え、サブドメインをダウンタイムなしで委任する手順を解説します。
参考ページ
1. サブドメインの利用シナリオ
例えば、sample.com
というドメインを管理しており、そのサブドメイン sub.sample.com
を既に A レコードとして IP アドレス 111.111.111.111
に設定しているとします。このサブドメインを他の AWS アカウントや別の DNS サービスに委任し、サブドメインの DNS 管理を移譲したい場合、A レコードを削除せずに、NS レコードに置き換えることでダウンタイムなしで移行できます。
2. 前提条件
サブドメインの委任を行う前に、以下の点を確認してください。
- 親ドメイン(例:
sample.com
)が Route 53 または別の DNS サービスで既に設定されている。 - 委任先の DNS サービスまたは AWS アカウントが準備されている。
- 親ドメインのホストゾーンに既に
sub.sample.com
の A レコードが設定されている。
3. ダウンタイムなしでの委任手順
既に sub.sample.com
に A レコードが存在する場合、NS レコードに置き換える前に、サブドメイン側の DNS 設定を完了させ、その後で sample.com
側の A レコードを NS レコードに置き換える形で委任します。
ステップ 1: サブドメイン用ホストゾーンの作成とレコード設定
1. サブドメイン用ホストゾーンの作成
AWS Management Console にログインし、Route 53 を開きます。次に、以下の手順でサブドメインのホストゾーンを作成します。
- 左側のメニューから「ホストゾーン」をクリックし、「ホストゾーンの作成」ボタンをクリックします。
- サブドメイン(例:
sub.sample.com
)を入力し、プライベートまたはパブリックホストゾーンを選択して作成します。 - 作成後に表示される4つのNSレコード(ネームサーバー)を控えておきます。
2. サブドメイン用のレコード設定
サブドメイン側で、現在の A レコードの内容(例: IP アドレス 111.111.111.111
)を新しいサブドメインのホストゾーンに設定します。これにより、NS レコードが反映された際にも、サブドメインは正しく動作します。
- サブドメインのホストゾーンに A レコードを追加し、元の IP アドレスを設定します。
- 必要に応じて、CNAME や MX レコードなども事前に設定しておきます。
ステップ 2: 親ドメイン側の A レコードを NS レコードに置き換え
サブドメイン側の DNS 設定が完了したら、親ドメインのホストゾーンで、既存の A レコードを編集して NS レコードに置き換えます。
1. 親ドメインのホストゾーンにアクセス
AWS Route 53 で親ドメイン sample.com
のホストゾーンに移動します。
2. A レコードを編集して NS レコードに置き換え
-
sub.sample.com
の既存の A レコードを見つけます。 - A レコードを削除する代わりに、このレコードを編集します。
- タイプを
NS - ネームサーバー
に変更し、値にサブドメインのホストゾーンで取得した4つの NS レコードを入力します。 - レコードを保存します。
これにより、sub.sample.com
の DNS リクエストは新しいホストゾーンに委任され、新しいサブドメイン側の設定が有効になります。
4. 注意点
-
NSレコードの伝播時間
DNS の伝播には最大で 48 時間かかることがありますが、NS レコードの変更は比較的速く反映されることが多いです。委任後も、DNS キャッシュの影響を最小限にするため、TTL を短めに設定しておくと良いでしょう。 -
A レコードの上書き
ダウンタイムなしで委任するには、A レコードを完全に削除するのではなく、NS レコードに編集して置き換える方法が有効です。これにより、サブドメインへのアクセスが切れることなく移行が可能です。
5. まとめ
既に sub.sample.com
に A レコードが設定されている場合でも、AWS Route 53 でその A レコードを編集して NS レコードに置き換えることで、ダウンタイムなしでサブドメインの委任が可能です。サブドメイン側で必要な設定を事前に行い、親ドメイン側でレコードを上書きすることで、スムーズに移行できます。
Discussion