はじめに
業務で DHCP オプションセットを利用して、VPC 内の EC2 インスタンスが参照する DNS サーバーを設定する機会がありました。
その際に、参照先 DNS サーバーを複数設定した際の優先度について調査を行いましたので備忘として残します。
DHCP オプションセットとは
簡単に言うと、VPC 内に存在する EC2 インスタンスが参照する DNS サーバーや NTP サーバーを一括で設定できるサービスになります。
オンプレミスでは、各サーバーに1台ずつログインして DNS サーバーなどを設定する必要がありましたが、DHCP オプションセットを利用することで、VPC 内に存在する EC2 インスタンス全てに対して一括で設定が適用されます。
参照先 DNS サーバーの優先度について
ここで本題となります。
DHCP オプションセットで設定した複数の参照先 DNS サーバーの優先度について調査していきたいと思います。
例えば、Windows OS では、以下の画面で参照先 DNS サーバーと優先度も設定できました。(赤枠)
※ [優先 DNS サーバー]に DNS サーバーの1号機、[代替 DNS サーバー]に DNS サーバーの2号機を設定していたと思います。
しかし、DHCP オプションセットの作成画面を確認すると、複数の DNS サーバーを設定する際に優先度を設定ことができなさそうです。。。
※ 複数の DNS サーバーを設定する際は ,(カンマ)で区切ります。
他社の技術ブログや以下の AWS 公式ドキュメントにも参照先 DNS サーバーの優先度については明記されていませんでした。。。
DHCP オプションセットの使用 - Amazon Virtual Private Cloud
そのため、実際に検証環境を構築して、DHCP オプションセットで設定した複数の DNS サーバーの優先度について確認してみます。
検証内容
以下のようなシンプルな構成で検証します。
DHCP オプションセットで 複数の DNS サーバー(8.8.8.8 と 8.8.4.4)を設定した状態で、
EC2(Windows Server 2022)とEC2(RHEL 9.5)から Google.co.jp に対して nslookup を行います。
その際に各 EC2 インスタンスがどちらの DNS サーバーを参照するのかを確認していきます。
※ 上記で設定した 8.8.8.8 と 8.8.4.4 は Google のパブリック DNS になります。
EC2(Windows Server 2022)から Google.co.jp への nslookup
パターン①
8.8.8.8 を先に記載するパターン
結果①
DNS サーバー(8.8.8.8)が応答しました。
パターン②
8.8.4.4 を先に記載するパターン
結果②
DNSサーバー(8.8.4.4)が応答しました。
EC2(RHEL 9.5)から Goole.co.jp への nslookup
パターン①
8.8.8.8 を先に記載するパターン
結果①
DNSサーバー(8.8.8.8)が応答しました。
パターン②
8.8.4.4 を先に記載するパターン
結果②
DNSサーバー(8.8.4.4)が応答しました。
結論
参照先 DNS サーバーの優先度は記載順によることが分かりました。
(以下の画面で言うと、8.8.4.4 よりも 8.8.8.8 が優先されます。 )
今回は Windos Server 2022 と RHEL 9.5 で参照先 DNS サーバーの優先度について検証しました。
ただし、OS によっては挙動が変わる可能性があるためご注意ください。