应用程序网关是虚拟网络中的专用部署。 处理传入流量的应用程序网关资源的实例的 DNS 解析也受虚拟网络配置的影响。 本文讨论域名系统(DNS)配置及其对名称解析的影响。
用于名称解析
应用程序网关为完全限定域名(FQDN)执行 DNS 解析。
客户提供的 FQDN,例如
- 基于域名的后端服务器
- 侦听器证书的密钥保管库终结点
- 自定义错误页面 URL
- 联机证书状态协议 (OCSP) 验证 URL
用于各种 Azure 基础结构终结点(控制平面)的管理 FQDN。 这些构建基块构成了完整的应用程序网关资源。 例如,与监视终结点的通信可实现日志和指标的传输。 因此,应用程序网关与具有
.chinacloudapi.cn
、.chinacloudapi.cn
等后缀的其他 Azure 服务终结点进行内部通信非常重要。
重要
此处列出了应用程序网关资源与之交互的管理终结点域名。 根据应用程序网关部署的类型(本文详述),这些 Azure 域名的任何名称解析问题都可能导致部分或完全丢失资源功能。
- .chinacloudapi.cn
- .chinacloudapi.cn
- .chinacloudapi.cn
- .azure.cn
- .usgovcloudapi.net
- .azure.us
- .microsoft.scloud
- .msftcloudes.com
- .microsoft.com
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 提供内部名称解析。 在此方案中,应用程序网关的所有实例都连接到 168.63.129.16 进行 DNS 解析。
流:
- 在此图中,我们可以看到应用程序网关实例与 Azure 提供的 DNS (168.63.129.16) 通信,以便对后端服务器 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.chinacloudapi.cn
私有 DNS 区域的密钥保管库专用终结点在各情况下都比具有vaultcore.chinacloudapi.cn
或chinacloudapi.cn
的区域效果更好。 - 若要使用专用终结点与后端服务器或任何服务通信,请确保专用链接 DNS 区域已链接到应用程序网关的虚拟网络。
使用自定义 DNS 服务器
在虚拟网络中,可以指定自定义 DNS 服务器。 对于特定域名独立管理区域,可能需要此配置。 这种安排指示虚拟网络中的应用程序网关实例也利用指定的自定义 DNS 服务器来解析非 Azure 域名。
流:
- 此图显示应用程序网关实例使用 Azure 提供的 DNS(168.63.129.16)来进行私有链接 Key Vault 终结点 "contoso.privatelink.vaultcore.chinacloudapi.cn" 的名称解析。 Azure 域名的 DNS 查询(包括
chinacloudapi.cn
)将重定向到 Azure 提供的 DNS(以橙色行显示)。 - 对于“server1.contoso.com”的 DNS 解析,该实例遵循自定义 DNS 设置(如蓝线所示)。
注意事项:
在应用程序网关虚拟网络上使用自定义 DNS 服务器需要采取以下措施,以确保对应用程序网关的功能没有影响。
- 更改与应用程序网关虚拟网络关联的 DNS 服务器后,必须重启应用程序网关(停止和启动),以便这些更改对实例生效。
- 在应用程序网关虚拟网络中使用专用终结点时,专用 DNS 区域必须保持链接到应用程序网关虚拟网络,以允许解析专用 IP。 此 DNS 区域必须尽可能特定于子域。
- 如果自定义 DNS 服务器位于不同的虚拟网络中,请确保它与应用程序网关的虚拟网络对等,并且不受任何网络安全组或路由表配置的影响。
仅具有专用 IP 地址的网关(网络隔离启用设置为:True)
专用应用程序网关部署旨在分隔客户的数据平面和管理平面流量。 因此,使用默认的 Azure DNS 或自定义 DNS 服务器不会影响关键管理终结点名称解析。 但是,使用自定义 DNS 服务器时,必须注意处理涉及数据路径操作所需的名称解析。
流:
- “contoso.com”的 DNS 查询通过客户流量平面到达自定义 DNS 服务器。
- 针对“contoso.privatelink.vaultcore.chinacloudapi.cn”的 DNS 查询也到达自定义 DNS 服务器。 但是,由于 DNS 服务器不是此域名的权威区域,因此它会以递归方式将查询转发到 Azure DNS 168.63.129.16。 此类配置对于允许通过链接到虚拟网络的专用 DNS 区域进行名称解析非常重要。
- 所有管理终结点的解析都通过直接与 Azure 提供的 DNS 交互的管理平面流量进行。
注意事项:
- 更改与应用程序网关虚拟网络关联的 DNS 服务器后,必须重启应用程序网关(停止和启动),以便这些更改对实例生效。
- 必须设置转发规则,以将所有其他域解析查询发送到 Azure DNS 168.63.129.16。 当具有专用 DNS 区域进行专用终结点解析时,此配置尤其重要。
- 使用专用终结点时,专用 DNS 区域必须保持链接到应用程序网关虚拟网络,以允许对专用 IP 进行解析。