0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Route 53 × AWS Managed AD 併用時のDNS設計の注意点

0
Posted at

更新履歴

  • 2026/02/11 初版公開

初めに

AWS Managed AD と Route 53 Private Hosted Zone を併用する構成で、
DNS設計を誤りハマった話。
「Hosted Zoneにレコードを登録しているのに名前解決されない…」
原因はDNS優先順位の理解不足。

結論

AWS Managed AD のディレクトリDNS名と
Route 53 Private Hosted Zone のドメインは重複させてはいけない。

本記事の構成

  1. 前提構成
  2. AWS Managed AD 利用時のDNS仕様
  3. Route 53 Resolver を設定し nslookup を実行
  4. ドメイン重複時の優先順位
  5. 設計時の注意点

1. 前提構成

  • EC2はAmazon Provided DNS(デフォルト)を使用
  • AWS Managed AD を構築
  • Route 53 Private Hosted Zone も利用
  • Route 53 Resolver でフォワード設定 [※1]

[※1] AWS Managed Microsoft AD を構築しただけでは、AWS Managed Microsoft ADの持つ DNS 機能を利用することはできない。それは、VPC に用意されている Amazon Provided DNS が AWS Managed Microsoft AD の宛先を知らないため。なので、Route 53 Resolver でフォワード設定が必要。

構成図は下記の通り。
image.png

2. AWS Managed AD利用時のDNS仕様

AWS Managed AD は作成時に ディレクトリのDNS名 を設定する。
この ディレクトリのDNS名 に、Private Hosted Zoneの ホストゾーン名 と同一のものは設定NGというのが本記事の主旨。[※2]

[※2] AWS Managed AD の ディレクトリのDNS名 = Private Hosted Zone の ホストゾーン名 とした場合、後述で記載しているが、Route 53 Resolver のフォワード設定をする際に指定する 宛名ドメイン名 に ディレクトリのDNS名 を設定することとなる。結果、フォワード設定が優先されるため Private Hosted Zone は参照されなくなる。

今回は検証用に ディレクトリのDNS名 は test.local とした。
image.png
このDNS名は、Managed AD内のDNSサーバで管理される。
つまり、

  • test.local ドメインの権威DNSは AD 側
  • ADは内部DNSサーバを持っている

3. Route 53 Resolver を設定し nslookup を実行

一般的な設計では、

  • DHCP Options Sets で AD のDNSを直接指定しない
  • Amazon Provided DNS を利用する
  • Route 53 Resolver で条件付きフォワードする

これがAWS推奨設計。
なので、「2. AWS Managed AD 利用時のDNS仕様」で作成したADに対して、Route 53 Resolver でフォワード設定をしてあげる。これで、VPC内のリソースはADへ参加できるようになる。

実際の設定は以下の通り。
補足 : Route 53 Resolver のアウトバウンドエンドポイントはすでに作成済み。
フォワードルールの宛先ドメインは ディレクトリのDNS名の test.local 。
image.png
本記事の主旨とはあまり関係ないが、ターゲットIPアドレスは作成した AWS Managed AD の ディレクトリ詳細 から確認可能。
image.png

実際に、VPC 内の EC2 から ADに向けた nslookup を実行してみる。
image.png
10.0.0.2、つまり VPC の Amazon Provided DNS(.2アドレス)が最初に応答し(赤枠)、
その後、Non-authoritative answer として AD の IPアドレス が返ってきた。(青枠) [※3]

[※3] Non-authoritative answerの理由は、上記でも記載した通り、test.local ドメインの権威DNSは AD 側にあるため。

これで、VPC内のリソースを AD 参加させる用意は整った。

4. ドメイン重複時の優先順位

一応、ここからが本題。
AWS Managed AD の ディレクトリのDNS名 = Private Hosted Zone の ホストゾーン名
となる場合の挙動を確認する。

  • AWS Managed AD の ディレクトリのDNS名 は、変わらず、test.local とする
  • Private Hosted Zone の ホストゾーン名も併せて test.local とする
    image.png

同VPC 内のEC2から nslookup test-ec2-win-02.test.local を実行する。
期待は、Private Hosted Zone に定義した通り 10.0.11.81 が返ってくること。
結果は以下。
image.png
10.0.0.2、つまり VPC の Amazon Provided DNS へ問い合わせた結果、
Private Hosted Zone で定義したはずの
test-ec2-win-02.test.local 10.0.11.81
が返ってこない。(赤枠)
test.local は正常に名前解決できており、Route 53 Resolver のフォーワード設定は生きている。(青枠)

なぜこうなるのか(仕組み)

名前解決の流れ:

  1. EC2がAmazon Provided DNSへ問い合わせ
  2. Route 53 Resolverがルールを確認
  3. 一致するドメインがあればフォワード
  4. AD側DNSへ転送

つまり、
AWS Managed AD の ディレクトリのDNS名 = Private Hosted Zone の ホストゾーン名
となる場合、 Private Hosted Zone は参照されない。
これにハマった。

5. 設計時の注意点(まとめ)

今回の教訓

  • AWS Managed AD は独自DNSを持つ
  • Route 53 Resolver は強い
  • ドメイン一致時は AD が優先される
  • ホストゾーンと AD の DNS は重複させない
    • NGパターン :
      • ホストゾーン名 test.local (一致)
      • ディレクトリのDNS名 test.local (一致)
    • OKパターン① :
      • ホストゾーン名 test-work.com
      • ディレクトリのDNS名 test.local
    • OKパターン② :
      • ホストゾーン名 test-work.com
      • ディレクトリのDNS名 ad.test-work.com (サブドメインとしてもOK)

最後に

DNS設計は後から変更が非常に困難...
特にActive Directoryは再構築コストが高い。

同じようにハマる方がいなくなれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?