次の方法で共有


Application Gateway での DNS 解決の概要

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

名前解決の必要性

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

  • お客様が指定した FQDN。次に例を示します。

    • ドメイン名ベースのバックエンド サーバー
    • リスナー証明書のキー コンテナー エンドポイント
    • カスタム エラー ページの URL
    • オンライン証明書状態プロトコル (OCSP) の検証 URL
  • 管理 FQDN。さまざまな Azure インフラストラクチャ エンドポイント (コントロール プレーン) に利用されます。 これらは、完全な 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 解決を示すダイアグラム。

フロー:

  • このダイアグラムでは、青色の線で示されているように、Application Gateway インスタンスが、バックエンド サーバーの FQDN "server1.contoso.com" と "server2.contoso.com" の名前解決のために、Azure 提供 DNS (168.63.129.16) と通信しています。
  • 同様に、このインスタンスは、オレンジ色の線で示されているように、プライベート リンクが有効な Key Vault リソースの DNS 解決のために 168.63.129.16 を照会しています。 アプリケーション ゲートウェイが 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 設定を順守します (青色の線で示されています)。

考慮 事項:

アプリケーション ゲートウェイ仮想ネットワーク上でカスタム 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 ゾーンがある場合に特に重要です。
  • プライベート エンドポイントを使用する場合、プライベート IP への解決を可能にするには、プライベート DNS ゾーンをアプリケーション ゲートウェイ仮想ネットワークにリンクした状態を維持する必要があります。