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

リソースグループは事前作成済みの rg-dns を選択して、「名前」にゾーン名 azure.example.net を入力します。この際に「このゾーンは、既に Azure DNS でホストされている既存のゾーンの子です」にはチェックを入れません。親ゾーンは Route 53 で管理する構成のためです。

「DNS ゾーン エディター」タブと「タグ」タブは今回は設定しません。
「レビューと作成」タブで内容を確認して「作成」を実行します。

作成後、[概要] や [Settings] > [プロパティ] からネームサーバの情報を確認できます。下記画面は [概要] ページです。

ns1-06.azure-dns.com.
ns2-06.azure-dns.net.
ns3-06.azure-dns.org.
ns4-06.azure-dns.info.
次に AWS 側の作業です。
Route 53 のコンソールから親ゾーンである example.net のパブリックホストゾーンを開き、「レコードを作成」を選択します。

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

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

最後に、Azure DNS 側で azure.example.net に対して、A レコードを登録します。
[DNS の管理] > [レコードセット] から「追加」を選択します。

「名前」の指定は、ゾーン名と同じ場合は @ を入力します。その他、レコードの情報を入力して「追加」を実行します。

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

以上で、Azure DNS へのサブドメインに対応するゾーンの委任は完了です。
動作確認
dig コマンドで azure.example.net の名前解決ができるか確認します。
dig azure.example.net a +short
期待どおり、Azure DNS に設定した IP アドレス 192.0.2.1 が返却されることを確認できました。
% dig azure.example.net a +short
192.0.2.1
Azure DNS パブリックゾーンのネームサーバに直接問い合わせて、権威応答を返すことも確認してみます。
dig @ns1-06.azure-dns.com. azure.example.net ns
応答の flags に aa(Authoritative Answer)が含まれていれば、Azure DNS がサブドメインの権威 DNS として応答していると確認できます。
% dig @ns1-06.azure-dns.com. azure.example.net ns
; <<>> DiG 9.10.6 <<>> @ns1-06.azure-dns.com. azure.example.net NS
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2618
;; flags: qr aa rd ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;azure.example.net. IN NS
;; ANSWER SECTION:
azure.example.net. 172800 IN NS ns1-06.azure-dns.com.
azure.example.net. 172800 IN NS ns2-06.azure-dns.net.
azure.example.net. 172800 IN NS ns3-06.azure-dns.org.
azure.example.net. 172800 IN NS ns4-06.azure-dns.info.
;; Query time: 9 msec
;; SERVER: 2603:1061:0:700::6#53(2603:1061:0:700::6)
;; WHEN: Thu May 21 23:03:45 JST 2026
;; MSG SIZE rcvd: 178
また、次のコマンドでルートから順番に名前解決の流れを確認することもできます。
dig azure.example.net ns +trace
さいごに
Amazon Route 53 で管理しているゾーンのサブドメインに対応するゾーンを Azure DNS に委任してみました。サブドメイン用のゾーンを Azure DNS で作成し、そのネームサーバ情報を Route 53 の親ゾーンに NS レコードとして登録する流れです。
マルチクラウド環境で AWS と Azure の双方でリソースを構築しているとき、Azure 側で利用するリソースの名前解決は Azure 内で完結させたい、というユースケースがあると思います。
以上、このブログがどなたかのご参考になれば幸いです。







