Azure DNS Private Resolver

Azure DNS
Azure ExpressRoute
Azure Firewall
Azure Virtual Network
Azure VPN Gateway

この記事では、Azure DNS Private Resolver を使用して、ハイブリッド再帰ドメイン ネーム システム (DNS) の解決を簡略化するためのソリューションについて説明します。 オンプレミスのワークロードと Azure ワークロードに DNS Private Resolver を使用できます。 DNS Private Resolver を使用すると、オンプレミスから Azure プライベート DNS サービスへのプライベート DNS 解決が簡略化されます。また、その逆も同様です。

アーキテクチャ

次のセクションでは、ハイブリッド再帰 DNS 解決の代替手段について説明します。 最初のセクションでは、DNS フォワーダー仮想マシン (VM) を使用するソリューションについて説明します。 以降のセクションでは、DNS Private Resolver の使用方法について説明します。

DNS フォワーダー VM を使用する

DNS Private Resolver が使用可能になる前は、オンプレミス サーバーが Azure プライベート DNS サービスへの要求を解決できるように DNS フォワーダー VM がデプロイされていました。 次の図は、この名前解決の詳細を示しています。 オンプレミスの DNS サーバー上の条件付きフォワーダーが Azure に要求を転送し、プライベート DNS ゾーンが仮想ネットワークにリンクされます。 その後、Azure サービスへの要求は、適切なプライベート IP アドレスに解決されます。

このソリューションでは、Azure パブリック DNS サービスを使用してオンプレミスのドメイン名を解決することはできません。

DNS Private Resolver を使用しないソリューションを示すアーキテクチャ図。オンプレミス サーバーから Azure データベースへのトラフィックが表示されています。

このアーキテクチャの PowerPoint ファイル をダウンロードします。

ワークフロー

  1. クライアント VM は、azsql1.database.windows.net の名前解決要求をオンプレミスの内部 DNS サーバーに送信します。

  2. 条件付きフォワーダーは、内部 DNS サーバーで構成されます。 database.windows.net の DNS クエリを、DNS フォワーダー VM のアドレスである 10.5.0.254 に転送します。

  3. DNS フォワーダー VM は、Azure 内部 DNS サーバーの IP アドレスである 168.63.129.16 に要求を送信します。

  4. Azure DNS サーバーは、azsql1.database.windows.net の名前解決要求を Azure 再帰的リゾルバーに送信します。 リゾルバーは正規名 (CNAME) azsql1.privatelink.database.windows.net で応答します。

  5. Azure DNS サーバーは、azsql1.privatelink.database.windows.net の名前解決要求をプライベート DNS ゾーン privatelink.database.windows.net に送信します。 プライベート DNS ゾーンは、プライベート IP アドレス 10.5.0.5 で応答します。

  6. CNAME azsql1.privatelink.database.windows.net をレコード 10.5.0.5 に関連付ける応答が DNS フォワーダーに到着します。

  7. 応答は、オンプレミスの内部 DNS サーバーに到着します。

  8. 応答はクライアント VM に到着します。

  9. クライアント VM は、IP アドレス 10.5.0.5 を使用するプライベート エンドポイントへのプライベート接続を確立します。 プライベート エンドポイントは、クライアント VM に Azure データベースへのセキュリティで保護された接続を提供します。

詳細については、「Azure プライベート エンドポイントの DNS 構成」を参照してください。

DNS Private Resolver を使用する

DNS Private Resolver を使用する場合、DNS フォワーダー VM は必要ありません。Azure DNS はオンプレミスのドメイン名を解決できます。

次のソリューションでは、 ハブスポーク ネットワーク トポロジで DNS Private Resolver を使用しています。 ベスト プラクティスとして、Azure ランディング ゾーンの設計パターンでは、この種のトポロジを使用することをお勧めします。 ハイブリッド ネットワーク接続は、 Azure ExpressRouteAzure Firewall を使用して確立されます。 このセットアップにより、 セキュリティ保護されたハイブリッド ネットワークが提供されます。 DNS Private Resolver はスポーク ネットワークにデプロイされます (この記事全体の図では共有サービス ネットワークとして示されています)。

Azure ハブアンドスポーク ネットワークに接続されたオンプレミス ネットワークを示すアーキテクチャ図。DNS Private Resolver はハブ ネットワークにあります。

このアーキテクチャの PowerPoint ファイル をダウンロードします。

DNS Private Resolver ソリューションのコンポーネント

DNS Private Resolver を使用するソリューションには、次のコンポーネントが含まれています。

  • オンプレミス ネットワーク。 この顧客データセンターのネットワークは、ExpressRoute またはサイト間 Azure VPN Gateway 接続を介して Azure に接続されています。 ネットワーク コンポーネントには、2 つのローカル DNS サーバーが含まれます。 1 つは IP アドレス 192.168.0.1 を使用します。 もう 1 つは 192.168.0.2 を使用します。 両方のサーバーは、オンプレミス ネットワーク内のすべてのコンピューターのリゾルバーまたはフォワーダーとして動作します。

管理者は、これらのサーバー上にすべてのローカル DNS レコードと Azure エンドポイントフォワーダーを作成します。 条件付きフォワーダーは、Azure Blob Storage と Azure API Management サービス用にこれらのサーバーで構成されます。 これらのフォワーダーは、DNS Private Resolver インバウンド接続に要求を送信します。 受信エンドポイントは IP アドレス 10.0.0.8 を使用し、共有サービス仮想ネットワーク (サブネット 10.0.0.0/28) 内でホストされます。

次の表に、ローカル サーバー上のレコードのリストを示します。

ドメイン名 IP アドレス レコード タイプ
App1.onprem.company.com 192.168.0.8 アドレス マッピング
App2.onprem.company.com 192.168.0.9 アドレス マッピング
blob.core.windows.net 10.0.0.8 DNS フォワーダー
azure-api.net 10.0.0.8 DNS フォワーダー
  • ハブ ネットワーク。

    • Azure へのハイブリッド接続には、VPN Gateway または ExpressRoute 接続が使用されます。
    • Azure Firewall は、サービスとしてのマネージド ファイアウォールを提供します。 ファイアウォールのインスタンスは、独自のサブネットに存在します。
  • 共有サービス ネットワーク。

    • DNS Private Resolver は、(ExpressRoute ゲートウェイがデプロイされているハブ ネットワークから分離された) それ自身の仮想ネットワークにデプロイされます。 次の表に、DNS Private Resolver 用に構成されているパラメータを示します。 App1 と App2 の DNS 名の場合、DNS 転送ルール セットが構成されます。
    パラメーター IP アドレス
    仮想ネットワーク 10.0.0.0/24
    受信エンドポイント サブネット 10.0.0.0/28
    受信エンドポイントの IP アドレス 10.0.0.8
    送信エンドポイント サブネット 10.0.0.16/28
    送信エンドポイントの IP アドレス 10.0.0.19
    • 共有サービス仮想ネットワーク (10.0.0.0/24) は、Blob Storage と API サービスのプライベート DNS ゾーンにリンクされています。
  • スポーク ネットワーク。

    • VM は、DNS 解決をテストおよび検証するために、すべてのスポーク ネットワークでホストされます。
    • すべての Azure スポーク仮想ネットワークは、IP アドレス 168.63.129.16 の既定の Azure DNS サーバーを使用します。 また、すべてのスポーク仮想ネットワークは、ハブ仮想ネットワークとピアリングされます。 DNS Private Resolver との間のトラフィックを含むすべてのトラフィックは、ハブ経由でルーティングされます。
    • スポーク仮想ネットワークはプライベート DNS ゾーンにリンクされます。 この構成により、privatelink.blob.core.windows.net などのプライベート エンドポイント リンク サービスの名前を解決できます。

オンプレミス DNS クエリのトラフィック フロー

次の図は、オンプレミス サーバーが DNS 要求を発行したときに発生するトラフィック フローを示しています。

オンプレミス サーバーが Azure プライベート DNS サービス レコードに対してクエリを実行するときの DNS Private Resolver の名前解決トラフィックを示すアーキテクチャ図。

このアーキテクチャの PowerPoint ファイル をダウンロードします。

  1. オンプレミス サーバーは、blob.core.windows.net などの Azure プライベート DNS サービス レコードに対してクエリを実行します。 要求は、IP アドレス 192.168.0.1 または 192.168.0.2 のローカル DNS サーバーに送信されます。 すべてのオンプレミス コンピューターは、ローカル DNS サーバーを指します。

  2. blob.core.windows.net のローカル DNS サーバー上の条件付きフォワーダーは、IP アドレス 10.0.0.8 の DNS リゾルバーに要求を転送します。

  3. DNS リゾルバーは Azure DNS に対してクエリを実行し、Azure プライベート DNS サービス仮想ネットワーク リンクに関する情報を受け取ります。

  4. Azure プライベート DNS サービスは、Azure パブリック DNS サービスを介して DNS リゾルバーの受信エンドポイントに送信される DNS クエリを解決します。

VM DNS クエリのトラフィック フロー

次の図は、VM 1 が DNS 要求を発行したときに発生するトラフィック フローを示しています。 この場合、スポーク 1 スポーク仮想ネットワークは要求の解決を試みます。

スポーク VM が DNS 要求を発行したときの DNS Private Resolver による名前解決トラフィックを示すアーキテクチャ図。

このアーキテクチャの PowerPoint ファイル をダウンロードします。

  1. VM 1 は DNS レコードに対してクエリを実行します。 スポーク仮想ネットワークは、Azure が提供する名前解決を使用するように構成されています。 その結果、DNS クエリの解決に Azure DNS が使用されます。

  2. クエリでプライベート名の解決を試みると、Azure プライベート DNS サービスに接続されます。

  3. クエリが仮想ネットワークにリンクされているプライベート DNS ゾーンと一致しない場合、Azure DNS は DNS Private Resolver に接続します。 スポーク 1 仮想ネットワークには、仮想ネットワーク リンクがあります。 DNS Private Resolver は、スポーク 1 仮想ネットワークに関連付けられている DNS 転送ルール セットをチェックします。

  4. DNS 転送ルール セットで一致が見つかった場合、DNS クエリは送信エンドポイントを介して、ルール セットで指定された IP アドレスに転送されます。

  5. Azure プライベート DNS サービス (2) と DNS Private Resolver (3) で一致するレコードが見つからない場合は、クエリを解決するために Azure DNS (5) が使用されます。

DNS 転送ルールには、条件付き転送に使用する 1 つ以上のターゲット DNS サーバーが含まれます。 指定された情報には、ドメイン名、ターゲット IP アドレス、ポートが含まれます。

DNS Private Resolver を介した VM DNS クエリのトラフィック フロー

次の図は、VM 1 が DNS Private Resolver の受信エンドポイントを介して DNS 要求を発行したときに発生するトラフィック フローを示しています。 この場合、スポーク 1 スポーク仮想ネットワークは要求の解決を試みます。

スポーク VM が DNS 要求を発行したときの DNS Private Resolver によるトラフィックを示すアーキテクチャ図。

このアーキテクチャの PowerPoint ファイル をダウンロードします。

  1. VM 1 は DNS レコードに対してクエリを実行します。 スポーク仮想ネットワークは、名前解決 DNS サーバーとして 10.0.0.8 を使用するように構成されています。 その結果、DNS クエリの解決に DNS Private Resolver が使用されます。

  2. クエリでプライベート名の解決を試みると、Azure プライベート DNS サービスに接続されます。

  3. クエリが仮想ネットワークにリンクされているプライベート DNS ゾーンと一致しない場合、Azure DNS は DNS Private Resolver に接続します。 スポーク 1 仮想ネットワークには、仮想ネットワーク リンクがあります。 DNS Private Resolver は、スポーク 1 仮想ネットワークに関連付けられている DNS 転送ルール セットをチェックします。

  4. DNS 転送ルール セットで一致が見つかった場合、DNS クエリは送信エンドポイントを介して、ルール セットで指定された IP アドレスに転送されます。

  5. Azure プライベート DNS サービス (2) と DNS Private Resolver (3) で一致するレコードが見つからない場合は、クエリを解決するために Azure DNS (5) が使用されます。

DNS 転送ルールには、条件付き転送に使用する 1 つ以上のターゲット DNS サーバーが含まれます。 指定された情報には、ドメイン名、ターゲット IP アドレス、ポートが含まれます。

オンプレミスの DNS サーバーを介した VM DNS クエリのトラフィック フロー

次の図は、VM 1 がオンプレミスの DNS サーバーを介して DNS 要求を発行したときに発生するトラフィック フローを示しています。 この場合、スポーク 1 スポーク仮想ネットワークは要求の解決を試みます。

スポーク VM が DNS 要求を発行したときの DNS Private Resolver による名前解決トラフィックを示すアーキテクチャ図。

このアーキテクチャの PowerPoint ファイル をダウンロードします。

  1. VM 1 は DNS レコードに対してクエリを実行します。 スポーク仮想ネットワークは、名前解決 DNS サーバーとして 192.168.0.1/2 を使用するように構成されています。 その結果、DNS クエリの解決にオンプレミスの DNS サーバーが使用されます。

  2. 要求は、IP アドレス 192.168.0.1 または 192.168.0.2 のローカル DNS サーバーに送信されます。

  3. blob.core.windows.net のローカル DNS サーバー上の条件付きフォワーダーは、IP アドレス 10.0.0.8 の DNS リゾルバーに要求を転送します。

  4. DNS リゾルバーは Azure DNS に対してクエリを実行し、Azure プライベート DNS サービス仮想ネットワーク リンクに関する情報を受け取ります。

  5. Azure プライベート DNS サービスは、Azure パブリック DNS サービスを介して DNS Private Resolver の受信エンドポイントに送信される DNS クエリを解決します。

コンポーネント

  • VPN Gateway は、暗号化されたトラフィックを送信するために使用できる仮想ネットワーク ゲートウェイです。

    • パブリック インターネットを介して、Azure Virtual Network とオンプレミスの場所の間で。
    • Azure のバックボーン ネットワークを介して、Azure の仮想ネットワーク間で。
  • ExpressRoute により、オンプレミスのネットワークが Microsoft クラウドに拡張されます。 ExpressRoute は接続プロバイダーを使用して、Azure のサービスや Microsoft 365 などのクラウド コンポーネントへのプライベート接続を確立します。

  • Azure Virtual Network は、Azure 内のプライベート ネットワークの基本的な構成ブロックです。 Virtual Network を使用すると、VM などの Azure リソースでは、相互に、またインターネットやオンプレミス ネットワークと安全に通信できます。

  • Azure Firewall は、アプリケーションとネットワークの接続ポリシーを適用します。 このネットワーク セキュリティ サービスは、複数の仮想ネットワークおよびサブスクリプション全体のポリシーを一元的に管理します。

  • DNS Private Resolver は、オンプレミスの DNS と Azure DNS をブリッジするサービスです。 このサービスを使用すると、VM ベースの DNS サーバーをデプロイせずに、オンプレミス環境から Azure DNS プライベート ゾーンにクエリを実行できます。その逆も同様です。

  • Azure DNS は DNS ドメインのホスティング サービスです。 Azure DNS は、Azure インフラストラクチャを使用した名前解決を提供します。

  • Azure プライベート DNS サービス は、仮想ネットワークおよび接続されている仮想ネットワーク内のドメイン名を管理および解決します。 このサービスを使用する場合、カスタム DNS ソリューションを構成する必要はありません。 プライベート DNS ゾーンを使用する場合は、デプロイ時に Azure が提供する名前の代わりに、カスタム ドメイン名を使用できます。

  • DNS フォワーダー は、ネットワークの外部にあるサーバーにクエリを転送する DNS サーバーです。 DNS フォワーダーは、解決できない名前のクエリのみを転送します。

シナリオの詳細

Azure には、さまざまな DNS ソリューションが用意されています。

  • Azure DNS は DNS ドメイン用のホスティング サービスです。 既定では、Azure 仮想ネットワークでは DNS 解決に Azure DNS が使用されます。 Azure DNS の管理と保守は Microsoft が行います。
  • Azure Traffic Manager は、DNS ベースの負荷分散サービスです。 Azure リージョン間でトラフィックを一般向けアプリケーションに分散する方法が提供されます。
  • Azure プライベート DNS サービスは、仮想ネットワークのための DNS サービスを提供します。 Azure プライベート DNS サービス ゾーンを使用すると、カスタム ソリューションを構成したり、独自の構成を変更したりすることなく、独自のドメイン名と VM 名を解決できます。 プライベート DNS ゾーンを使用する場合は、デプロイ時に Azure が提供する名前の代わりに、カスタム ドメイン名を使用できます。
  • DNS Private Resolver は、クラウドネイティブで高可用性であり、DevOps に対応したサービスです。 これは、簡単でメンテナンスが不要であり、信頼性が高く、セキュリティで保護された DNS サービスを提供します。 このサービスを使用して、Azure DNS プライベート ゾーンでホストされている DNS 名をオンプレミス ネットワークから解決できます。 独自のドメイン名の DNS クエリにサービスを使用することもできます。

DNS Private Resolver を使用できるようになる前は、オンプレミス システムから Azure への DNS 解決にカスタム DNS サーバーを使用する必要がありました。その逆も同様でした。 カスタム DNS ソリューションには、多くの欠点があります。

  • 複数の仮想ネットワークに対して複数のカスタム DNS サーバーを管理するには、インフラストラクチャとライセンスのコストが高くなります。
  • DNS サーバーのインストール、構成、および保守のすべての側面を処理する必要があります。
  • これらのサーバーの監視やパッチ適用などのオーバーヘッド タスクは複雑で、障害が発生しやすくなります。
  • DNS レコードの管理とルールの転送に対する DevOps のサポートはありません。
  • スケーラブルな DNS サーバー ソリューションを実装するとコストがかかります。

DNS Private Resolver は、次の機能と主な利点を提供することで、これらの障害を克服します。

  • 高可用性とゾーン冗長性が組み込まれたフル マネージドの Microsoft サービス。
  • DevOps で適切に機能するスケーラブルなソリューション。
  • 従来のサービスとしてのインフラストラクチャ (IaaS) ベースのカスタム ソリューションと比較した場合のコスト削減。
  • Azure DNS のオンプレミス サーバーへの条件付き転送。 送信エンドポイントでは、以前は利用できなかったこの機能が提供されています。 Azure のワークロードでは、オンプレミスの DNS サーバーに直接接続する必要がなくなりました。 代わりに、Azure ワークロードは、DNS Private Resolver の送信 IP アドレスに接続します。

考えられるユース ケース

このソリューションにより、ハイブリッド ネットワークでのプライベート DNS 解決が簡略化されます。 これは、次のような多くのシナリオに適用されます。

  • 長期間かけて完全にクラウド ネイティブ ソリューションへと移行する移行戦略
  • オンプレミス環境とクラウド環境の間でデータとサービスを複製するディザスター リカバリーとフォールト トレランス。
  • オンプレミス データセンターとリモートの場所間の待機時間を短縮するために Azure でコンポーネントをホストするソリューション

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

ExpressRoute ゲートウェイを含む仮想ネットワークに DNS Private Resolver をデプロイすることはお勧めしません。 詳細については、「ExpressRoute の仮想ネットワーク ゲートウェイについて」を参照してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。

DNS Private Resolver は、可用性が高い、DevOps 向けのクラウドネイティブ サービスです。 信頼性が高くセキュリティで保護された DNS ソリューションを提供すると同時に、ユーザーのためにシンプルさとメンテナンス不要を維持しています。

リージョン別の提供状況

DNS Private Resolver を使用できるリージョンの一覧については、「リージョン別の提供状況」を参照してください。

DNS リゾルバーで参照できるのは、その DNS リゾルバーと同じリージョン内の仮想ネットワークのみです。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。

Azure DNS では、テキスト (TXT) レコード セットの拡張 ASCII エンコード セットがサポートされています。 詳細については、 Azure DNS に関する FAQを参照してください。

現在、Azure DNS では、DNS セキュリティ拡張機能 (DNSSEC) はサポートされていません。 しかしながら、ユーザーはこの機能を求めています。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。

  • ソリューションとして、DNS Private Resolver は、主にコスト効率に優れています。 DNS Private Resolver の主な利点の 1 つは、フル マネージドであるため、専用サーバーが不要であるという点です。

  • DNS Private Resolver のコストを計算するには、 Azure 料金計算ツールを使用します。 DNS Private Resolver の価格モデルについては、「Azure DNS の価格」を参照してください。

  • 価格には、可用性とスケーラビリティの機能も含まれます。

  • ExpressRoute では、次の 2 つの課金モデルがサポートされています。

    • 従量制課金データ。送信データ転送に対してギガバイト単位で課金されます。
    • 無制限データ。すべての受信および送信データ転送をカバーする固定の月額ポート料金を請求します。

    詳しくは、「Azure ExpressRoute の価格」を参照してください。

  • ExpressRoute の代わりに VPN Gateway を使用する場合、コストは製品によって異なり、時間単位で課金されます。 詳細については、「VPN Gateway の価格」を参照してください。

パフォーマンス効率

パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。

DNS Private Resolver は、何百万もの要求を処理できるフル マネージドの Microsoft サービスです。 /28 から /24 の間のサブネット アドレス空間を使用します。 ほとんどのユーザーにとって、/26 が最適に動作します。 詳細については、「サブネットの制限事項」を参照してください。

ネットワーク

DNS プライベート リゾルバーの作成の詳細については、次のリソースを参照してください。

逆引き DNS のサポート

従来、DNS レコードでは DNS 名を IP アドレスにマップします。 たとえば、 www.contoso.com は 42.3.10.170 に解決されます。 逆引き DNS では、マッピングが逆方向になります。 IP アドレスは名前にマップされます。 たとえば、IP アドレス 42.3.10.170 は www.contoso.com に解決されます。

逆引き DNS の Azure サポートと逆引き DNS のしくみの詳細については、「逆引き DNS と Azure でのサポートの概要」を参照してください。

制限

DNS Private Resolver には次の制限事項があります。

  • DNS Private Resolver ルール セットは、リゾルバーと同じ地理的リージョン内の仮想ネットワークにのみリンクできます。
  • 仮想ネットワークに複数の DNS プライベート リゾルバーを含めることはできません。
  • 各受信エンドポイントと送信エンドポイントに専用サブネットを割り当てる必要があります。

詳細については、「仮想ネットワークの制限事項」を参照してください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は次のとおりです。

プリンシパル作成者:

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ