こんにちは!イーゴリです。
下記の記事では、DNSのサブドメインの委任する方法をご紹介しましたが、今回の記事では、既存サブドメインを別のAWSアカウントに移行されたい場合、注意点をご紹介したいと思います。
※今回の例としてはAmazon Route 53となりますが、どのDNSでも基本的に手順が変わらないです。
- イメージ図
- 大まかな作業の流れ
- 既存のサブドメインを委任する方法(具体的な手順)
- ①既存のDNSゾーンのレコードをバックアップする方法(任意)
- ②対象レコードのTTLを短縮する方法
- ③アカウント#2(移行先)で新パブリックゾーンを作成する方法
- ④アカウント#2(移行先)でアカウント#1(移行元)と同じく【*.jp.domain-test.gq】が持っているレコードを作成する
- ⑤DNSレコードの確認(切り替え前)
- ⑥アカウント#1(移行元)でjp.domain-test.gqのNSレコードを作成する
- ⑦DIGコマンドで移行先にあるjp.domain-test.gqの権限移譲を確認する
- ⑧アカウント#1(移行元)で不要になった【*.jp.domain-test.gq】のレコードを削除
イメージ図
アカウント#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の対象ゾーンのレコードをバックアップを取得したほうが良いと思います。
こちらの記事をご参考ください。
必須なステップではないので、スキップすることが可能です。
②対象レコードのTTLを短縮する方法
私の場合、権限委譲の対象がjp.domain-test.gqとなっていますので、【*.jp.domain-test.gq】に当たっているレコードのTTLを5分(300秒)に変更します。
私の場合、1.jp.domain-test.gqのレコードしかありません。
③アカウント#2(移行先)で新パブリックゾーンを作成する方法
下記の記事をご参考ください。> [AWSアカウント2でホストゾーンを作成]の項目。
④アカウント#2(移行先)でアカウント#1(移行元)と同じく【*.jp.domain-test.gq】が持っているレコードを作成する
下記の方法で実現します。
大量DNSレコードを移行する必要な場合
AWS CLI + cli53方法:
- ステップ①と同じくAmazon Route 53に【*.jp.domain-test.gq】のレコードをコピーする
- 下記の記事の通り、cli53のシェルスクリプトを作成する
手間かからないレベル複数の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レコードを追加]の項目。
注意点
アカウント#1にて恐らくすでにAレコードが存在していますので、Amazon Route 53の場合、DNSレコードをNSレコードに変更することができますので、注意点としてはダウンタイムなしで作業を行いたい場合、既存のレコードをNSレコードに変更するとスムーズに移行できます。
普通はNSレコードに変更できないので、ドメインレジストラによって設定方法が異なります。 例えば、既存レコードをNSレコードに変更できない/既存DNSレコードがあると他のNSに委任できないパターンがあり、その場合、同時にアカウント#2 (移行先)に移行した既存レコードの削除と新規NSレコードの作成を同時に行う必要があります(移行元と移行先のレコードのTTLも合わせる必要があります)。
⑦DIGコマンドで移行先にあるjp.domain-test.gqの権限移譲を確認する
下記の記事をご参考ください>[結果確認]の項目。
「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都道府県制覇)・ドライブ・音楽