什么是 Azure DNS 专用解析程序?

Azure DNS 专用解析程序是一项新服务,借助这些服务,无需部署基于 VM 的 DNS 服务器即可从本地环境查询 Azure DNS 专用区域,反之亦然。

它是如何工作的?

Azure DNS 专用解析程序需要 Azure 虚拟网络。 在虚拟网络中创建 Azure DNS 专用解析程序时,将建立一个或多个可用作 DNS 查询目标的入站终结点。 解析程序的出站终结点根据你配置的 DNS 转发规则集处理 DNS 查询。 在链接到规则集的网络中启动的 DNS 查询可以发送到其他 DNS 服务器。

无需更改虚拟机 (VM) 上的任何 DNS 客户端设置,即可使用 Azure DNS 专用解析程序。

使用 Azure DNS 专用解析程序时的 DNS 查询过程总结如下:

  1. 虚拟网络中的客户端发出 DNS 查询。
  2. 如果此虚拟网络的 DNS 服务器指定为自定义,则查询将转发到指定的 IP 地址。
  3. 如果在虚拟网络中配置了默认(Azure 提供的)DNS 服务器,并且存在专用 DNS 区域链接到同一虚拟网络,则会参考这些区域。
  4. 如果查询与链接到虚拟网络的专用 DNS 区域不匹配,则会参考 DNS 转发规则集虚拟网络链接
  5. 如果没有规则集链接,则 Azure DNS 用于解析查询。
  6. 如果存在规则集链接,将评估 DNS 转发规则
  7. 如果找到后缀匹配项,则将查询转发到指定地址。
  8. 如果存在多个匹配项,则使用最长的后缀。
  9. 如果未找到匹配项,则不会发生 DNS 转发,并且使用 Azure DNS 来解析查询。

下图总结了 Azure DNS 专用解析程序的体系结构。 Azure 虚拟网络与本地网络之间的 DNS 解析需要 Azure ExpressRouteVPN

Azure DNS Private Resolver architecture

图 1:Azure DNS 专用解析程序体系结构

有关创建专用 DNS 解析程序的详细信息,请参阅:

Azure DNS 专用解析程序优势

Azure DNS 专用解析程序具有以下优势:

  • 完全托管:内置高可用性、区域冗余。
  • 降低成本:降低运营成本,运行成本仅为传统 IaaS 解决方案的一小部分。
  • 对专用 DNS 区域的专用访问:有条件地转发到本地和从本地进行转发。
  • 可伸缩性:每个终结点的高性能。
  • DevOps 友好:使用 Terraform、ARM 或 Bicep 生成管道。

区域可用性

参阅 Azure 产品(按区域)- Azure DNS

数据驻留

Azure DNS 专用解析程序不会将客户数据移动或存储到部署解析程序的区域之外。

DNS 解析程序终结点和规则集

本文提供了解析程序终结点和规则集的摘要。 若要详细了解终结点和规则集,请参阅 Azure DNS 专用解析程序终结点和规则集

入站终结点

入站终结点通过专用虚拟网络地址空间中的某个 IP 地址启用从本地或其他专用位置进行的名称解析。 如需从本地解析 Azure 专用 DNS 区域,请将入站终结点的 IP 地址输入到本地 DNS 条件转发器中。 本地 DNS 条件转发器必须与虚拟网络建立网络连接。

入站终结点在预配它的 VNet 中需要一个子网。 子网只能委托给 Microsoft.Network/dnsResolvers,不能用于其他服务。 入站终结点收到的 DNS 查询流入 Azure。 可以在包含你的专用 DNS 区域的方案(包括使用自动注册或启用了专用链接的服务的 VM)中解析名称。

注意

分配给入站终结点的 IP 地址可以指定为静态或动态。 有关详细信息,请参阅静态和动态终结点 IP 地址

出站终结点

出站终结点启用从 Azure 到本地、其他云提供商或外部 DNS 服务器的条件转发名称解析。 此终结点要求其预配所在的 VNet 中有一个专用子网,该子网中未运行任何其他服务,并且只能委托给 Microsoft.Network/dnsResolvers。 发送到出站终结点的 DNS 查询将从 Azure 流出。

虚拟网络链接使用 DNS 转发规则集为链接到出站终结点的虚拟网络启用名称解析。 这是一种 1:1 的关系。

DNS 转发规则

DNS 转发规则集是一组 DNS 转发规则(最多 1000 个),可应用于一个或多个出站终结点,或链接到一个或多个虚拟网络。 这是一种 1:N 的关系。 规则集与特定的出站终结点相关联。 有关详细信息,请参阅 DNS 转发规则集

DNS 转发规则集

DNS 转发规则包括一个或多个用于条件转发的目标 DNS 服务器,并由以下内容表示:

  • 域名
  • 目标 IP 地址
  • 目标端口和协议(UDP 或 TCP)

限制

以下限制当前适用于 Azure DNS 专用解析程序:

DNS 专用解析程序1

资源 限制
每个订阅的 DNS 专用解析程序 15
每个 DNS 专用解析程序的入站终结点 5
每个 DNS 专用解析程序的出站终结点 5
每个 DNS 转发规则集的转发规则 1000
每个 DNS 转发规则集的虚拟网络链接 500
每个 DNS 转发规则集的出站终结点 2
每个出站终结点的 DNS 转发规则集 2
每个转发规则的目标 DNS 服务器数 6
每个终结点的 QPS 10,000

1在更新门户之前,Azure 门户可能会强制实施不同的限制。 使用 PowerShell 来预配元素,使其达到最新限制。

虚拟网络限制

以下限制适用于虚拟网络:

  • DNS 解析程序只能引用与 DNS 解析程序位于同一区域中的虚拟网络。
  • 不能在多个 DNS 解析程序之间共享虚拟网络。 单个虚拟网络只能由单个 DNS 解析程序引用。

子网限制

用于 DNS 解析程序的子网具有以下限制:

  • 子网必须至少为 /28 地址空间或最大 /24 地址空间。 一个 /28 子网足以容纳当前终结点限制。 如果这些限制发生更改,则 /27 至 /24 的子网大小可以提供灵活性。
  • 不能在多个 DNS 解析程序终结点之间共享子网。 单个子网只能由单个 DNS 解析程序终结点使用。
  • DNS 解析程序入站终结点的所有 IP 配置都必须引用同一子网。 不允许在单个 DNS 解析程序入站终结点的 IP 配置中跨多个子网。
  • 用于 DNS 解析程序入站终结点的子网必须位于父 DNS 解析程序引用的虚拟网络中。
  • 子网只能委托给 Microsoft.Network/dnsResolvers,不能用于其他服务。

出站终结点限制

出站终结点具有以下限制:

  • 出站终结点无法删除,除非删除 DNS 转发规则集及规则集下的虚拟网络链接。

规则集限制

  • 规则集最多可以有 1000 条规则。

其他限制

  • 不支持启用了 IPv6 的子网。
  • DNS 专用解析程序不支持 Azure ExpressRoute FastPath。
  • DNS 专用解析程序入站终结点预配与 Azure Lighthouse 不兼容。
    • 若要查看是否正在使用 Azure Lighthouse,请在 Azure 门户中搜索“服务提供商”并选择“服务提供商产品/服务”

后续步骤