次の方法で共有


Application Gateway での DNS 解決について

Application Gateway は、仮想ネットワーク内の専用のデプロイです。 受信トラフィックを処理するアプリケーション ゲートウェイ リソースのインスタンスの DNS 解決も、仮想ネットワーク構成の影響を受けます。 この記事では、ドメイン ネーム システム (DNS) の構成と、その名前解決への影響について説明します。

名前解決の必要性

Application Gateway は、次の完全修飾ドメイン名 (FQDN) の DNS 解決を実行します。

  • 顧客が指定した FQDN (例:

    • ドメイン名ベースのバックエンド サーバー
    • リスナー証明書のキー コンテナー エンドポイント
    • カスタム エラー ページ URL
    • オンライン証明書ステータス プロトコル (OCSP) 検証 URL
  • さまざまな Azure インフラストラクチャ エンドポイント (コントロール プレーン) に使用される管理 FQDN。 これらは、完全な Application Gateway リソースを形成する構成要素です。 たとえば、監視エンドポイントとの通信により、ログとメトリックのフローが可能になります。 そのため、アプリケーション ゲートウェイは、 .windows.net.azure.netなどのサフィックスを持つ他の Azure サービスのエンドポイントと内部的に通信することが重要です。

Von Bedeutung

Application Gateway リソースが対話する管理エンドポイント ドメイン名を次に示します。 アプリケーション ゲートウェイのデプロイの種類 (この記事で詳しく説明します) によっては、これらの Azure ドメイン名の名前解決の問題によって、リソース機能が部分的または完全に失われる可能性があります。

  • .windows.net
  • .chinacloudapi.cn
  • .azure.net
  • .azure.cn
  • .usgovcloudapi.net
  • .azure.us
  • .microsoft.scloud
  • .msftcloudes.com
  • .microsoft.com

短い名前と単一ラベルのドメイン名

Application Gateway では、バックエンド プールの短い名前 ( server1webserverなど) がサポートされます。 解決は DNS 構成によって異なります。

  • Azure DNS (168.63.129.16): 同じ仮想ネットワーク内でのみ短い名前を解決します
  • カスタム DNS サーバー: 検索ドメインの構成が必要
  • オンプレミス DNS (VPN/ExpressRoute 経由): 内部ホスト名を解決します

バックエンドの正常性に短い名前の DNS 解決エラーが表示される場合は、同じ仮想ネットワーク内の VM からの解決を確認します。

DNS 構成の種類

お客様にはさまざまなインフラストラクチャ ニーズがあり、名前解決にはさまざまなアプローチが必要です。 このドキュメントでは、一般的な DNS 実装シナリオの概要を説明し、アプリケーション ゲートウェイ リソースの効率的な運用に関する推奨事項を示します。

パブリック IP アドレスを持つゲートウェイ (networkIsolationEnabled: False)

パブリック ゲートウェイの場合、Azure ドメインとのすべてのコントロール プレーン通信は、既定の Azure DNS サーバー (168.63.129.16) を介して行われます。 このセクションでは、パブリック アプリケーション ゲートウェイを使用した潜在的な DNS ゾーン構成と、Azure ドメイン名の解決との競合を防ぐ方法について説明します。

Azure が提供する既定の DNS の使用

Azure 提供の DNS は、Azure 内のすべての仮想ネットワークの既定の設定として提供され、IP アドレスは 168.63.129.16 です。 パブリック ドメイン名の解決に加えて、Azure が提供する DNS は、同じ仮想ネットワーク内に存在する VM の内部名前解決を提供します。 このシナリオでは、アプリケーション ゲートウェイのすべてのインスタンスが DNS 解決のために 168.63.129.16 に接続されます。

Azure が提供する DNS の DNS 解決を示す図。

フロー:

  • この図では、Azure が提供する DNS (168.63.129.16) と Application Gateway インスタンスが通信して、バックエンド サーバーの FQDN "server1.contoso.com" と "server2.contoso.com" の名前解決を行う様子を青い線で示します。
  • 同様に、インスタンスは 168.63.129.16 に対して、オレンジ色の行で示されているように、プライベート リンクが有効な Key Vault リソースの DNS 解決を照会します。 アプリケーション ゲートウェイで Key Vault エンドポイントをプライベート IP アドレスに解決できるようにするには、プライベート DNS ゾーンをそのアプリケーション ゲートウェイの仮想ネットワークにリンクすることが不可欠です。
  • これらの FQDN に対して DNS 解決が成功すると、インスタンスは Key Vault とバックエンド サーバー エンドポイントと通信できます。

考慮 事項:

  • 最上位レベルの Azure ドメイン名のプライベート DNS ゾーンを作成してリンクしないでください。 可能な限り特定のサブドメインの DNS ゾーンを作成する必要があります。 たとえば、キー コンテナーのプライベート エンドポイントの privatelink.vaultcore.azure.net 用のプライベート DNS ゾーンは、 vaultcore.azure.net または azure.netのゾーンを持つよりも、すべての場合に適しています。
  • バックエンド サーバーまたはプライベート エンドポイントを使用するサービスと通信する場合は、プライベート リンク DNS ゾーンがアプリケーション ゲートウェイの仮想ネットワークにリンクされていることを確認します。

カスタム DNS サーバーの使用

仮想ネットワークでは、カスタム DNS サーバーを指定できます。 この構成は、特定のドメイン名に対して個別にゾーンを管理するために必要な場合があります。 このような配置により、仮想ネットワーク内のアプリケーション ゲートウェイ インスタンスも、Azure 以外のドメイン名を解決するために指定されたカスタム DNS サーバーを利用するように指示されます。

カスタム DNS サーバーでの DNS 解決を示す図。

フロー:

  • この図は、Application Gateway インスタンスがプライベート リンク Key Vault エンドポイント "contoso.privatelink.vaultcore.azure.net" の名前解決に Azure 提供の DNS (168.63.129.16) を使用していることを示しています。 azure.netを含む Azure ドメイン名の DNS クエリは、Azure 提供の DNS にリダイレクトされます (オレンジ色の行で示されます)。
  • "server1.contoso.com" の DNS 解決では、インスタンスはカスタム DNS セットアップ (青い線で示すように) を受け入ります。

考慮 事項:

Application Gateway 仮想ネットワークでカスタム DNS サーバーを使用するには、アプリケーション ゲートウェイの機能に影響を与えないよう、次の対策を講える必要があります。

  • アプリケーション ゲートウェイ仮想ネットワークに関連付けられている DNS サーバーを変更した後、インスタンスに対してこれらの変更を有効にするには、アプリケーション ゲートウェイを再起動 (停止および開始) する必要があります。
  • アプリケーション ゲートウェイ仮想ネットワークでプライベート エンドポイントを使用する場合、プライベート IP への解決を許可するには、プライベート DNS ゾーンをアプリケーション ゲートウェイ仮想ネットワークにリンクしたままにする必要があります。 この DNS ゾーンは、可能な限り特定のサブドメイン用である必要があります。
  • カスタム DNS サーバーが別の仮想ネットワーク内にある場合は、Application Gateway の仮想ネットワークとピアリングされ、ネットワーク セキュリティ グループまたはルート テーブルの構成の影響を受けないことを確認します。

プライベート IP アドレスのみを持つゲートウェイ (networkIsolationEnabled: True)

プライベート アプリケーション ゲートウェイのデプロイは、顧客のデータ プレーンと管理プレーンのトラフィックを分離するように設計されています。 そのため、既定の Azure DNS サーバーまたはカスタム DNS サーバーを使用しても、重要な管理エンドポイントの名前解決には影響しません。 ただし、カスタム DNS サーバーを使用する場合は、データ パス操作に必要な名前解決を行う必要があります。

プライベートのみのゲートウェイの DNS 解決を示す図。

フロー:

  • "contoso.com" の DNS クエリは、顧客のトラフィック プレーンを介してカスタム DNS サーバーに到達します。
  • "contoso.privatelink.vaultcore.azure.net" の DNS クエリもカスタム DNS サーバーに到達します。 ただし、DNS サーバーはこのドメイン名の権限のあるゾーンではないので、クエリは Azure DNS 168.63.129.16 に再帰的に転送されます。 このような構成は、仮想ネットワークにリンクされているプライベート DNS ゾーンを介して名前解決を許可するために重要です。
  • すべての管理エンドポイントの解決は、Azure が提供する DNS と直接やり取りする管理プレーン トラフィックを介して行われます。

考慮 事項:

  • アプリケーション ゲートウェイ仮想ネットワークに関連付けられている DNS サーバーを変更した後、インスタンスに対してこれらの変更を有効にするには、アプリケーション ゲートウェイを再起動 (停止および開始) する必要があります。
  • 他のすべてのドメイン解決クエリを Azure DNS 168.63.129.16 に送信する転送規則を設定する必要があります。 この構成は、プライベート エンドポイント解決用のプライベート DNS ゾーンがある場合に特に重要です。
  • プライベート エンドポイントを使用する場合、プライベート DNS ゾーンは、プライベート IP への解決を許可するために、アプリケーション ゲートウェイ仮想ネットワークにリンクされたままにする必要があります。