Route 53プライベートホストゾーンに対してサブドメインのフォワードは可能か?
目次
- 目次
- はじめに
- Route 53プライベートホストゾーンに対するサブドメインの委任は可能か?
- Route 53プライベートホストゾーンに対するサブドメインのフォワードは可能か?
- まとめ
- 参考になる関連情報
はじめに
AWSで、Direct ConnectやSite-to-Site VPNを利用してオンプレミスとのハイブリッド構成を取るケースは良くありますが、この記事ではそういった構成でのDNSのゾーン管理についてどのようなパターンが考えられるか説明します。
例えば、潜在的な要望を考えた場合に、オンプレミス環境ではcompany.comのDNSゾーンを使用しており、AWSではプライベートホストゾーンとしてaws.company.comという形でオンプレミスのゾーンのサブドメインを委任して管理したいというお話を伺ったことがあります。
この構成は果たして取り得るのか、取れないのであれば代替構成はあるのか、という内容について本記事では説明します。
Route 53プライベートホストゾーンに対するサブドメインの委任は可能か?
結論から言うと、上位ドメインからRoute 53プライベートホストゾーンに対してサブドメインを委任することは出来ません。(しかし、後述するようにフォワードは可能です。)
判断が難しいのは、以下のドキュメントには「サブドメインの責任を委任する NS レコードをプライベートホストゾーンに作成することはできません。」とあり、Route 53プライベートホストゾーンの更に下位のサブドメインに委任を作成することは出来ないことは仕様として確認できるのですが、上位のドメインからRoute 53プライベートホストゾーンにサブドメインを委任できるかについては、記載がないためです。
プライベートホストゾーンを使用する場合の考慮事項 - Amazon Route 53
公式のドキュメントに記載がないため、実際に検証してみましたが、「上位ドメインからRoute 53プライベートホストゾーンに対してサブドメインを委任すること」はできず、検証した後に見つけたのですが、re:Postのナレッジセンターの記事に以下の記載があることからも裏取りが出来ました。
The remote DNS server to forward DNS queries for the domain name instead of delegating authority of the domain name to the inbound endpoint. Note: Inbound endpoints support only recursive DNS queries. Iterative DNS queries sent to the inbound endpoint timeout.
Route 53プライベートホストゾーンに対するサブドメインのフォワードは可能か?
上記re:Postの引用にも記載されているのですが、サブドメインの委任が出来なければ希望の構成は取れないのかというと、必ずしもそういうことはなく、上位ドメインの権威サーバーから条件付きフォワードをするとサブドメインをRoute 53プライベートホストゾーンに管理させる構成を取ることは可能です。
ただし、こちらも留意すべき点があり、私が検証した限りBINDやWindows ServerのDNS機能で、自身が権威であるドメインのサブドメインにフォワードを設定する場合、まずはサブドメインに対して委任を設定しないとフォワードは機能しません。これは当たり前のことで、サブドメインを委任しなければ自身が管理するゾーンのサブドメインは自身が管理するレコードとして保持しているかどうかを確認することになるため、下位の権威サーバーに委任した上でフォワードするというのは正しい動きと思われます。
こうなると問題になるのが、Route 53プライベートホストゾーンに対してサブドメインをフォワードしたいが、その前提となる委任は仕様上出来ないというジレンマです。
この問題を解決するワークアラウンドとして、ダミーのIPアドレスでサブドメインの委任を作成し、フォワードは正しいIPアドレスでRoute 53 Inbound Endpointに設定するという方法が取れます。
この方法ははたして仕様の範囲なのか、それともソフトウェアの不具合をついたワークアラウンドなのか、というのが論点になりますが、以下のBINDのメーリングリストでのやりとりを見ると、これは想定された仕様のようです。同じことをWindows ServerのDNS機能でも検証しましたが、ダミーのアドレスでサブドメインの委任を作成して、条件付きフォワードを設定すると、Route 53プライベートホストゾーンに対してサブドメインをフォワードすることは出来ました。
What you're seeing is the expected behavior.
Without the delegation record (the NS record), named thinks it's authoritative for the zone and won't forward recursive queries. Instead, it returns a negative answer.
With the delegation but without the conditional forwarding zone, named would try to follow the delegation (and glue) in response to a recursive query.
With both delegation and conditional forwarding zone, named forwards recursive queries for the subzone as expected.
subdomain forwarding on a domain-authoritative dns
まとめ
調査と検証の結果、「Route 53プライベートホストゾーンに対してサブドメインのフォワードは可能か?」という問いについては、使用しているDNSサーバーの仕様にもよるが、プレースホルダーとして仮の委任を作成した状態であればサブドメインのフォワードは可能である、というのが答えとなります。
先述の通り、AWSのドキュメントで上位のドメインからRoute 53プライベートホストゾーンが管理する下位のドメインに対する委任が作成できるか公式の記述がないため確証が持てませんでしたが、回避策を取ればそのような構成は可能であることが分かりました。本記事が同様の疑問をお持ちの方のお役に立てば幸いです。
参考になる関連情報
Bind Sub-Domain Zone Forward? - Server Fault
DNS Delegation and Conditional Forwarder for the same Domain - Microsoft Community Hub