【Amazon Route 53】注意点:既存のDNSサブドメインを委任する

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

下記の記事では、DNSのサブドメインの委任する方法をご紹介しましたが、今回の記事では、既存サブドメインを別のAWSアカウントに移行されたい場合、注意点をご紹介したいと思います。

※今回の例としてはAmazon Route 53となりますが、どのDNSでも基本的に手順が変わらないです。

blog.serverworks.co.jp

イメージ図

アカウント#1: 既存AWSアカウント(移行元)
アカウント#2: 新規AWSアカウント(移行先)

ドメイン名:domain-test.gq(アカウント1のAPEXレコード)
サブドメイン委任対象:jp.domain-test.gq(アカウント2のAPEXレコード)

大まかな作業の流れ

ダウンタイムが発生しないように下記の通り作業します。

  • ①アカウント#1(移行元):既存のDNSゾーンのレコードをバックアップする(任意)(jp.domain-test.gq)
  • ②アカウント#1(移行元):対象レコードのTTLを短縮する(5分以下)
  • ③アカウント#2(移行先):新パブリックゾーンを作成する(jp.domain-test.gqのホストゾーン)
  • ④アカウント#2(移行先):新パブリックゾーンでアカウント#1(移行元)と同じく【*.jp.domain-test.gq】が持っているレコードをアカウント#2で作成/にコピーする
  • ⑤自端末:アカウント#2 (移行先)のNSサーバー宛にDIGコマンドで新規作成したレコードを確認する
  • ⑥アカウント#1(移行元):ステップ⑤で行った確認に問題なければ、jp.domain-test.gqのNSレコードを作成する
  • ⑦自端末:DIGコマンドでアカウント#2(移行先)にあるjp.domain-test.gqの権限移譲を確認する
  • ⑧アカウント#1(移行元):新規で作成されたNS(jp.domain-test.gq)レコード以外、不要になった【*.jp.domain-test.gq】のレコードを削除する。
    完了!

既存のサブドメインを委任する方法(具体的な手順)

①既存のDNSゾーンのレコードをバックアップする方法(任意)

既存のDNSレコードが多く、すぐに手打ちで切り戻しできない場合、Amazon Route 53の対象ゾーンのレコードをバックアップを取得したほうが良いと思います。

こちらの記事をご参考ください。

blog.serverworks.co.jp

必須なステップではないので、スキップすることが可能です。

②対象レコードのTTLを短縮する方法

私の場合、権限委譲の対象がjp.domain-test.gqとなっていますので、【*.jp.domain-test.gq】に当たっているレコードのTTLを5分(300秒)に変更します。

私の場合、1.jp.domain-test.gqのレコードしかありません。

③アカウント#2(移行先)で新パブリックゾーンを作成する方法

下記の記事をご参考ください。> [AWSアカウント2でホストゾーンを作成]の項目。

blog.serverworks.co.jp

④アカウント#2(移行先)でアカウント#1(移行元)と同じく【*.jp.domain-test.gq】が持っているレコードを作成する

下記の方法で実現します。

大量DNSレコードを移行する必要な場合

AWS CLI + cli53方法:

  • ステップ①と同じくAmazon Route 53に【*.jp.domain-test.gq】のレコードをコピーする
  • 下記の記事の通り、cli53のシェルスクリプトを作成する

blog.serverworks.co.jp

手間かからないレベル複数のDNSレコードを移行する必要な場合

  • 手打ちで登録する

既存レコードに合わせて作成します。

TTLについての注意点

ダウンタイムが発生しないようにステップ②のTTL値に設定をあわせてください。

なお、NSレコードやSOAレコードを移行する場合(例えば、ドメイン自体を移行したい場合など)、必ずNSのTTL及びSOAのTTLも忘れずに一時的に短縮し、TTLが切れるまで待ってください(AWSの場合、172800秒=48時間)。移行後、元の設定値に変更しても問題ありません。

⑤DNSレコードの確認(切り替え前)

アカウント#2(移行先)の新規NSレコード(=新規NSサーバ)宛に正しく【*.jp.domain-test.gq】を解決できるか確認します。

dig @ns-1761.awsdns-28.co.uk. 1.jp.domain-test.gq

出力結果:

; <<>> DiG 9.10.6 <<>> @ns-1761.awsdns-28.co.uk. 1.jp.domain-test.gq
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52809
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;1.jp.domain-test.gq.           IN      A

;; ANSWER SECTION:
1.jp.domain-test.gq.    300     IN      A       192.168.1.1

;; AUTHORITY SECTION:
jp.domain-test.gq.      172800  IN      NS      ns-1219.awsdns-24.org.
jp.domain-test.gq.      172800  IN      NS      ns-1761.awsdns-28.co.uk.
jp.domain-test.gq.      172800  IN      NS      ns-388.awsdns-48.com.
jp.domain-test.gq.      172800  IN      NS      ns-709.awsdns-24.net.

;; Query time: 28 msec
;; SERVER: 2600:9000:5306:e100::1#53(2600:9000:5306:e100::1)
;; WHEN: Fri Oct 07 19:04:45 JST 2022
;; MSG SIZE  rcvd: 204

ANSWER SECTIONでレコードの名前解決が行われていることを確認できました。 AUTHORITY SECTIONにて対象の新規NSレコードの値と一致していることを確認できました。

確認が完了しました。

⑥アカウント#1(移行元)でjp.domain-test.gqのNSレコードを作成する

下記の記事をご参考ください>[AWSアカウント1にAWSアカウント2のNSレコードを追加]の項目。

blog.serverworks.co.jp

注意点

アカウント#1にて恐らくすでにAレコードが存在していますので、Amazon Route 53の場合、DNSレコードをNSレコードに変更することができますので、注意点としてはダウンタイムなしで作業を行いたい場合、既存のレコードをNSレコードに変更するとスムーズに移行できます。

普通はNSレコードに変更できないので、ドメインレジストラによって設定方法が異なります。 例えば、既存レコードをNSレコードに変更できない/既存DNSレコードがあると他のNSに委任できないパターンがあり、その場合、同時にアカウント#2 (移行先)に移行した既存レコードの削除と新規NSレコードの作成を同時に行う必要があります(移行元と移行先のレコードのTTLも合わせる必要があります)。

⑦DIGコマンドで移行先にあるjp.domain-test.gqの権限移譲を確認する

下記の記事をご参考ください>[結果確認]の項目。

blog.serverworks.co.jp

「status: NOERROR」(「正常な応答」という意味)と表示され、「AUTHORITY SECTION: jp.domain-test.gq.」(対象サブドメイン)になっていれば、サブドメインの権限委譲が完了しています。

もし上記の結果に「status: NXDOMAIN」(「リクエストされた名前が存在しない」という意味) と表示され、「AUTHORITY SECTION:domain-test.gq.」(親ドメイン)になっている場合、まだサブドメインの権限委譲ができていませんので、ご注意ください。

⑧アカウント#1(移行元)で不要になった【*.jp.domain-test.gq】のレコードを削除

以上、御一読ありがとうございました。

本田 イーゴリ (記事一覧)

カスタマーサクセス部

・2024 Japan AWS Top Engineers (Security)
・AWS SAP, DOP, SCS, DBS, SAA, DVA, CLF
・Azure AZ-900
・EC-Council CCSE

趣味:日本国内旅行(47都道府県制覇)・ドライブ・音楽