ネットワークエンジニアのITブログ

長らくネットワークで生活してきましたが、ここ数年クラウドとサーバー系に触れる機会が増えて、日々成長しています。最近のお気に入りはNSXALBとGoogle Cloud。

DNS VSに対する委任か条件付きフォワードの選択について

NSXALBでGSLBを使用する場合、一般的には既存環境にDNSサーバーが存在している状態がほとんどなのではないでしょうか。その場合、既存のドメインを新しいドメインもしくは、サブドメインとしてCNAMEによる別名とすることで制御します。
利用されるCNAMEの別名ドメインは、クライアントからは意識する必要がないため、内部的な管理されるものになります。この時、ドメイン名の定義方法によって、元の権威DNSサーバーからDNS VSに対して、どのように転送するかが変わってきますので、その違いと設定方法、動作について紹介します。

GSLBとは

GSLBは、2つの異なるサイトへのアクセスを制御しますが、一般的なDNSサーバーには、クライアントからのリクエストを優先度やサーバーの稼働状態を踏まえて切り替えるような機能はありません。
そこで、権威DNSサーバーに来たDNSリクエストのドメイン名を一時的に変更して、NSXALBに転送することで、優先度やサーバーの稼働状態を踏まえて、適切なIPをクライアント返すような制御をしています。

権威DNSサーバーでの委任と条件付きフォワードの違い

その際、CNAMEの別名設定は、権威DNSサーバーが管理していないドメイン名もしくは、権威DNSサーバーの管理下にあるドメインサブドメイン)のどちらかを選択することになります。
権威DNSサーバーは、自身の管理下にあるドメインの条件付きフォワードはできないため、サブドメインを選択する場合は「委任」を、自身の管理下にないドメイン名は、条件付きフォワードを選択することなりなます。

選択のポイントしては、各企業のセキュリティポリシーや運用ルールにより異なるかと思いますが、そのドメインの管理者が誰になるのかで、運用方針が決まってくるかなと思います。
サブドメインを選択した場合は、親ドメインの管理下になるため、運用管理はドメイン管理者の運用ルールに従う必要があります。
逆に異なるドメインを選択した場合は、親ドメイン管理者の管理下ではないため、運用ルールを自身で決め運用することになります。

GSLBという観点であれば、どちらのCNAMEを利用しても動作の違いはないため、ドメインの運用管理だけが判断基準になります。

ここからは、委任と条件付きフォワードの動作を実際に確認してみます。

委任の動作

  1. Client01からServer01へ「www.homevm.local」の名前解決リクエスト送信
  2. Server01でCNAMEで別名の「www.gslb.homevm.local」へ変換
  3. 委任によりServer01からServer02へ転送
  4. Server02で「www.gslb.homevm.local」の名前解決結果(192.168.7.111)をServer01へ返答
  5. Server01は名前解決結果をClient01へ返答


DNS Query

②委任による転送

DNS VSによるDNS Response

④権威DNSサーバーからのDNS Response

条件付きフォワードの動作

  1. Client01からServer01へ「nsxtmgr51.homevm.local」の名前解決リクエスト送信
  2. Server01でCNAMEで別名の「nsxtmgr51.gslbhomevm.local」へ変換
  3. 条件付きフォワードによりServer01からServer02へ転送
  4. Server02で「nsxtmgr51.gslbhomevm.local」の名前解決結果(192.168.1.52)をServer01へ返答
  5. Server01は名前解決結果をClient01へ返答


DNS Query

②条件付きフォワードによる転送

DNS VSによるDNS Response

④権威DNSサーバーからのDNS Response

委任と条件付きフォワードの紹介は以上となります。