Amazon Route 53 で管理しているドメインのサブドメインを Google Cloud の Cloud DNS に委任してみた
Amazon Route 53 で管理しているドメインがあり、そのサブドメインに対応するゾーンを Cloud DNS で管理したいと思い、サブドメインのゾーン委任を試してみました。
構成イメージ
今回試す構成は次のとおりです。example.net のゾーンを Amazon Route 53 で管理しており、Cloud DNS に googlecloud.example.net のゾーンを委任する構成です。
example.net→ Amazon Route 53 のパブリックホストゾーンで管理googlecloud.example.net→ Cloud DNS のパブリックゾーンで管理
委任を実現するためには、親ゾーン(Route 53)に、サブドメインに対応するゾーンのネームサーバを指す NS レコードを登録します。NS レコードは、Cloud DNS でサブドメインのゾーンを作成したときに払い出されます。
Cloud DNS にサブドメインを委任する設定
実際に試してみます。なお、本ブログ中では実際に設定で試したドメインを example.net に置換して記載しています。
最初に Cloud DNS 側でサブドメイン用のパブリックゾーンを作成します。
Google Cloud コンソールから「Cloud DNS」を開き、「ゾーンを作成」を選択します。

「ゾーンのタイプ」は「一般公開」を選択し、「ゾーン名」にゾーンの識別名、「DNS 名」にゾーン名 googlecloud.example.net を入力します。今回は検証目的のため、Cloud Logging への DNS クエリログの出力をオフにしています。入力内容を確認して「作成」を実行します。

ゾーン作成後の画面です。

レコード情報からネームサーバ情報を確認でき、Cloud DNS で払い出されるネームサーバは次のような形式になります。
ns-cloud-d1.googledomains.com.
ns-cloud-d2.googledomains.com.
ns-cloud-d3.googledomains.com.
ns-cloud-d4.googledomains.com.
次に AWS 側の作業です。
Route 53 のコンソールから親ゾーンである example.net のパブリックホストゾーンを開き、「レコードを作成」を選択します。

レコード名に googlecloud を入力し、レコードタイプに NS を指定して、値に Cloud DNS のパブリックゾーンのネームサーバ情報を入力します。「レコードを作成」を実行して登録します。

作成後、ホストゾーンの一覧に googlecloud.example.net の NS レコードが追加されていることを確認できました。

最後に、Cloud DNS 側で googlecloud.example.net に対して、A レコードを登録します。
ゾーンの詳細画面からレコードセットにおける「標準を追加します」を選択します。

「DNS 名」はゾーン名と同じにするため空欄のままにします。「リソース レコードのタイプ」は A を選択し、対応する IPv4 アドレスを入力します。「作成」を実行すればレコードが作成されます。

A レコードの追加を確認できました。

以上で、Cloud DNS へのサブドメインに対応するゾーンの委任は完了です。
動作確認
次の dig コマンドで googlecloud.example.net の名前解決ができるか確認します。
dig googlecloud.example.net a +short
期待どおり、Cloud DNS に設定した IP アドレス 192.0.2.1 が返却されることを確認できました。
% dig googlecloud.example.net a +short
192.0.2.1
次のコマンドで Cloud DNS パブリックゾーンのネームサーバに直接問い合わせて、権威応答を返すことも確認してみます。
dig @ns-cloud-d1.googledomains.com. googlecloud.example.net ns
応答の flags に aa(Authoritative Answer)が含まれていれば、Cloud DNS がサブドメインの権威 DNS として応答していると確認できます。
% dig @ns-cloud-d1.googledomains.com. googlecloud.example.net ns
; <<>> DiG 9.10.6 <<>> @ns-cloud-d1.googledomains.com. googlecloud.example.net ns
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30354
;; flags: qr aa rd; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;googlecloud.example.net. IN NS
;; ANSWER SECTION:
googlecloud.example.net. 21600 IN NS ns-cloud-d1.googledomains.com.
googlecloud.example.net. 21600 IN NS ns-cloud-d2.googledomains.com.
googlecloud.example.net. 21600 IN NS ns-cloud-d4.googledomains.com.
googlecloud.example.net. 21600 IN NS ns-cloud-d3.googledomains.com.
;; Query time: 31 msec
;; SERVER: 2001:4860:4802:32::6d#53(2001:4860:4802:32::6d)
;; WHEN: Thu May 28 23:56:57 JST 2026
;; MSG SIZE rcvd: 171
また、次のコマンドでルートから順番に名前解決の流れを確認することもできます。
dig googlecloud.example.net ns +trace
さいごに
Amazon Route 53 で管理しているゾーンのサブドメインに対応するゾーンを Cloud DNS に委任してみました。サブドメイン用のゾーンを Cloud DNS で作成し、そのネームサーバ情報を Route 53 の親ゾーンに NS レコードとして登録する流れです。
参考情報として、以前に Azure DNS に対しても同様にゾーン委任するブログを公開しています。
以上、このブログがどなたかのご参考になれば幸いです。







