你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

单区域方案 - Azure 虚拟 WAN 中的专用链接和 DNS

Azure 专用链接
Azure DNS
Azure 防火墙
Azure 虚拟 WAN

本文介绍如何通过专用终结点向单个区域中的特定工作负荷公开 PaaS 资源。 在这种情况下,网络拓扑是中心辐射型,中心是 Azure 虚拟 WAN 中心。

重要

本文是虚拟 WAN 中的 Azure 专用链接和 Azure DNS 系列教程的一部分,并基于方案指南中定义的网络拓扑进行构建。 首先阅读 概述页 ,了解基本网络体系结构和关键挑战。

情景

显示单区域体系结构的关系图。

图 1:具有专用链接和 Azure DNS 的虚拟 WAN 的单区域方案 - 挑战

下载此体系结构的 Visio 文件 本部分定义方案并重新定义此方案的挑战(质询与 概述页中的非工作示例相同)。 初始方案体系结构基于 概述指南中定义的起始网络拓扑构建。 以下是添加和更改:

  • 只有一个虚拟中心有一个区域。
  • 区域中有一个已禁用公用网络访问权限的 Azure 存储帐户。 此方案中的假设是只有一个工作负荷访问存储帐户。
  • 最初有一个虚拟网络连接到虚拟中心。
  • 虚拟网络具有包含虚拟机(VM)客户端的工作负荷子网。
  • 虚拟网络包含一个专用终结点子网,其中包含存储帐户的专用终结点。

成功结果

Azure 虚拟机客户端可以通过同一虚拟网络中的存储帐户专用终结点连接到 Azure 存储帐户,并阻止对存储帐户的所有其他访问。

障碍

DNS 流中需要一条 DNS 记录,该记录能够将存储帐户的完全限定域名(FQDN)解析回专用终结点的专用 IP 地址。 如 概述中所述,此方案的挑战分为两倍:

  1. 无法将维护所需 DNS 记录的专用 DNS 区域链接到虚拟中心。
  2. 可以将专用 DNS 区域链接到工作负荷网络,因此你可能会认为这可以正常工作。 遗憾的是, 基线体系结构 规定,每个连接的虚拟网络都有配置为指向使用 Azure 防火墙 DNS 代理的 DNS 服务器。

由于无法将专用 DNS 区域链接到虚拟中心,并且虚拟网络配置为使用 Azure 防火墙 DNS 代理,因此 Azure DNS 服务器没有任何机制将存储帐户的 (FQDN) 解析为专用终结点的专用 IP 地址。 结果是客户端收到错误 DNS 响应。

DNS 和 HTTP 流

让我们查看此工作负荷的 DNS 和生成的 HTTP 请求流。 审查有助于我们直观显示前面描述的障碍。

显示单区域挑战的关系图。

图 2:具有专用链接和 Azure DNS 的虚拟 WAN 的单区域方案 - 挑战

下载此体系结构的 Visio 文件

DNS 流

  1. 从客户端获取 stgworkload00.blob.core.windows.net 的 DNS 查询将发送到配置的 DNS 服务器,这是对等区域中心的 Azure 防火墙。
  2. Azure 防火墙将请求代理到 Azure DNS。 由于无法将专用 DNS 区域链接到虚拟中心,因此 Azure DNS 不知道如何将 FQDN 解析为专用终结点专用 IP 地址。 它知道如何将 FQDN 解析为存储帐户的公共 IP 地址,以便返回存储帐户的公共 IP 地址。

HTTP 流

  1. 借助 DNS 结果,存储帐户的公共 IP 地址,客户端向 stgworkload00.blob.core.windows.net该帐户发出 HTTP 请求。
  2. 请求将发送到存储帐户的公共 IP 地址。 由于许多原因,此请求失败:
    • 工作负荷子网上的 NSG 可能不允许此 Internet 绑定的流量。
    • 筛选 Internet 绑定出口流量的 Azure 防火墙可能没有支持此流的应用程序规则。
    • 即使 NSG 和 Azure 防火墙都有此请求流的限额,存储帐户也配置为阻止所有公共网络访问。 尝试最终违反了仅允许通过专用终结点访问存储帐户的目标。

解决方案 - 为 DNS 建立虚拟中心扩展

挑战的解决方案是企业网络团队为 DNS 实现 虚拟中心扩展 。 DNS 虚拟中心扩展的单一责任是启用工作负荷团队,这些工作负荷团队需要在此 启动的虚拟 WAN 中心拓扑中在其体系结构中使用专用 DNS 区域。

DNS 扩展作为与区域虚拟中心对等互连的虚拟网络辐射实现。 可以将专用 DNS 区域链接到此虚拟网络。 虚拟网络还包含一个 Azure DNS 专用解析程序,它使此虚拟网络之外的服务(如 Azure 防火墙)能够查询和接收来自所有链接的专用 DNS 区域的值。 以下是 DNS 的典型虚拟中心扩展的组件,以及一些所需的配置更改:

  • 与区域的虚拟中心对等互连的新辐射虚拟网络。 此分支的配置方式与任何其他分支一样,这意味着默认 DNS 服务器和路由规则会强制在区域中心使用 Azure 防火墙。
  • DNS 专用解析程序资源部署在辐射虚拟网络中的 入站终结点
  • 将创建一个名为 privatelink.blob.core.windows.net 的专用 DNS 区域资源。
    • 此区域包含从 A 存储帐户 FQDN 名称映射到存储帐户专用终结点的专用 IP 地址的记录。
    • 专用 DNS 区域链接到分支虚拟网络。
    • 如果基于角色的访问控制(RBAC)允许,可以使用 自动注册 或服务管理的条目来维护这些 DNS 记录。 如果没有,可以手动维护它们。
  • 在区域中心,Azure 防火墙的 DNS 服务器更改为指向 DNS 专用解析程序的入站终结点。

下图演示了体系结构以及 DNS 和 HTTP 流。

显示适用于 DNS 的虚拟中心扩展的工作解决方案的关系图。

图 3:适用于具有专用链接和 DNS 的虚拟 WAN 的单区域方案的工作解决方案

下载此体系结构的 Visio 文件

用于为 DNS 建立虚拟中心扩展的 DNS 流

  1. 从客户端获取 stgworkload00.blob.core.windows.net 的 DNS 查询将发送到配置的 DNS 服务器,这是对等区域中心中的 Azure 防火墙 - 10.100.0.132 在本例中。

    工作负荷虚拟网络的屏幕截图,其中显示了 DNS 服务器设置为“自定义”和“专用 IP 地址”,用于保护中心的安全。 图 4:工作负荷虚拟网络的 DNS 服务器配置

  2. 在这种情况下,Azure 防火墙将请求代理到中心扩展中的区域 Azure DNS 专用解析程序 - 10.200.1.4,这是 DNS 专用解析程序的入站终结点的专用 IP 地址。

    Azure 防火墙策略的屏幕截图,其中启用了 DNS 代理并设置了 DNS 服务器。

    图 5:Azure 防火墙策略中的 DNS 配置

  3. DNS 专用解析程序将请求代理到 Azure DNS。 由于专用 DNS 区域链接到包含入站终结点的虚拟网络,因此 Azure DNS 可以使用这些链接的专用 DNS 区域中的记录。

    显示指向 DNS 扩展虚拟网络的链接的专用 DNS 区域虚拟网络链接的屏幕截图。 图 6:专用 DNS 区域虚拟网络链接

  4. Azure DNS 会查阅链接的专用 DNS 区域,并将 FQDN 解析为 10.1.2.4,该 FQDN stgworkload00.blob.core.windows.net 是存储帐户的专用终结点的 IP 地址。 此响应提供给 Azure 防火墙 DNS,然后将存储帐户的专用 IP 地址返回到客户端。

    具有名称 stgworkload00 和值 10.1.2.4 的 A 记录的专用 DNS 区域的屏幕截图。 图 7:具有存储帐户专用终结点 A 记录的专用 DNS 区域

HTTP 流

  1. 借助 DNS 的结果,存储帐户的专用 IP 地址,客户端向 stgworkload00.blob.core.windows.net该帐户发出 HTTP 请求。
  2. 请求将发送到存储帐户的专用 IP 地址(10.1.2.4)。 此请求成功路由,假设客户端子网或专用终结点子网上的本地网络安全组没有冲突的限制。 请务必了解,即使 Azure 防火墙保护专用流量,请求也不会通过 Azure 防火墙路由,因为专用终结点与客户端位于同一虚拟网络中。 这意味着不需要为此方案提供 Azure 防火墙限额。
  3. 通过专用链接服务建立与存储帐户的专用连接。 存储帐户仅允许专用网络访问,并接受 HTTP 请求。

DNS 注意事项的虚拟中心扩展

为企业实现扩展时,请考虑以下指南。

  • 部署 DNS 扩展不是工作负荷团队的任务。 此任务是企业网络功能,应该是与这些人做出的实施决策。
  • 添加要为其配置专用终结点 DNS 记录的任何 PaaS 服务之前,必须存在 DNS 扩展和专用 DNS 区域。
  • 虚拟中心扩展是区域资源,避免跨区域流量,并为每个区域中心建立中心扩展,其中需要专用终结点 DNS 解析。

辐射虚拟网络

  • 遵循单一责任原则,DNS 扩展的虚拟网络应仅包含 DNS 解析所需的资源,不应与其他资源共享。
  • DNS 扩展的虚拟网络应遵循 “添加辐射网络”下的相同配置准则。

Azure DNS 专用解析程序

  • 每个区域都应有一个虚拟中心 DNS 扩展,其中包含一个 DNS 专用解析程序。

  • DNS 专用解析程序只需要入站终结点,并且此方案不需要出站终结点。 入站终结点的专用 IP 是为 Azure 防火墙策略中的自定义 DNS 服务设置的(请参阅图 5)。

  • 为了提高复原能力和提高负载处理能力,可以为每个区域部署多个 DNS 专用解析程序实例,并配置了多个 IP 地址的 Azure DNS 代理,以便进行代理解析。

    DNS 专用解析程序的入站终结点的屏幕截图,其中显示了一个终结点。 图 8:DNS 专用解析程序的入站终结点

  • 遵循 DNS 专用解析程序的 虚拟网络限制

  • DNS 专用解析程序的入站终结点子网中的网络安全组应仅允许从其区域中心到端口 53 的 UDP 流量。 应阻止所有其他入站和出站流量。

专用 DNS 区域

由于 Azure DNS 专用解析程序通过 Azure DNS 解析 DNS,因此 Azure DNS 能够选取链接到其入站子网虚拟网络的任何专用 DNS 区域。

情境注意事项

有了托管良好的虚拟中心 DNS 扩展,让我们回到工作负荷,并解决一些附加问题,以帮助实现此方案中 的成功结果 目标。

存储帐户

  • 设置公共网络访问网络连接下禁用,以确保只能通过专用终结点访问存储帐户。
  • 将专用终结点添加到工作负荷虚拟网络中的专用终结点子网。
  • 将 Azure 诊断发送到工作负荷 Log Analytics 工作区。 可以使用访问日志来帮助排查配置问题。

专用终结点安全性

此解决方案的要求是限制此存储帐户的公开。 删除对 PaaS 资源的公共 Internet 访问后,应解决专用网络安全问题。

当 Azure 防火墙保护虚拟 WAN 中心辐射型拓扑中的专用流量时,Azure 防火墙默认拒绝辐射到辐射的连接。 此默认设置可防止其他辐射网络中的工作负荷访问工作负荷虚拟网络中的专用终结点(和其他资源)。 虚拟网络中的完全流量不会通过 Azure 防火墙路由。 若要控制虚拟网络中的访问,并添加更精细的保护,请考虑以下网络安全组 (NSG) 建议。

  • 创建应用程序安全组(ASG)以对具有类似入站或出站访问需求的资源进行分组。 在此方案中,对需要访问存储的客户端 VM 使用 ASG,对访问的存储帐户使用 ASG。 请参阅, 使用专用终结点配置应用程序安全组(ASG)。
  • 确保包含工作负荷 VM 的子网具有 NSG。
  • 确保包含专用终结点的子网具有 NSG。

包含工作负荷 VM 的子网的 NSG 规则

除了工作负荷所需的任何其他网络规则外,请配置以下规则。

  • 出站规则:
    • 允许计算 ASG 访问存储帐户 ASG。
    • 允许在端口 53 上将 ASG 计算到区域中心 Azure 防火墙的 UDP 专用 IP。

显示工作负荷子网的 NSG 规则的屏幕截图。 *图 9:工作负荷子网的 NSG 规则

包含专用终结点的子网的 NSG 规则

最佳做法是在消耗的虚拟网络中的小型专用子网上公开专用终结点。 一个原因是可以为专用终结点应用用户定义的路由和网络安全组 网络策略 ,以便添加流量控制和安全性。

此方案允许应用高度限制的网络安全组。

  • 入站规则:
    • 允许计算 ASG 访问存储帐户 ASG
    • 拒绝所有其他流量
  • 出站规则:
    • 拒绝所有流量

显示专用终结点子网的 NSG 规则的屏幕截图。 *图 10:专用终结点子网的 NSG 规则

运行中的专用终结点安全性

下图演示了如何遵循概述的注意事项可提供深度防御安全性。 此图显示了具有第二个 VM 的第二个辐射虚拟网络。 该工作负荷无法访问专用终结点。

显示第二辐射虚拟网络中的工作负荷无法访问专用终结点的关系图。

图 11:适用于具有专用链接和 DNS 的虚拟 WAN 的单区域方案的工作解决方案

下载此体系结构的 Visio 文件

DNS 流

DNS 流与 解决方案流中完全相同。

要突出显示的是,FQDN 解析为专用 IP 地址,而不是公共 IP 地址。 此解析意味着所有辐射始终接收此服务的专用 IP 地址。 另一种方案介绍如何使用此方法跨多个消耗工作负荷共享 PaaS 服务。 对于此单工作负荷方案,这不是问题。

HTTP 流

  1. 借助 DNS 的结果,存储帐户的专用 IP 地址,客户端向 stgworkload00.blob.core.windows.net该帐户发出 HTTP 请求。
  2. 请求将发送到存储帐户的专用 IP 地址。 由于许多原因,此请求适当失败:
    • Azure 防火墙配置为保护专用流量,以便处理请求。 除非 Azure 防火墙具有允许流的网络或应用程序规则,否则 Azure 防火墙会阻止请求。
    • 无需在中心使用 Azure 防火墙来保护专用流量。 例如,如果 网络支持专用跨区域流量,则专用终结点子网上的 NSG 仍配置为阻止托管工作负荷的虚拟网络中计算 ASG 源以外的所有流量。

概要

本文介绍 VM 客户端通过存储帐户的专用终结点连接到 Azure 存储帐户的方案。 终结点与客户端位于同一虚拟网络中。 阻止对存储帐户的所有其他访问。 此方案要求 DNS 流中的 DNS 记录能够将存储帐户的完全限定域名(FQDN)解析回专用终结点的专用 IP 地址。

此方案的 起始网络拓扑 引入了两个挑战:

  • 无法将专用 DNS 区域与存储帐户所需的 DNS 记录链接到虚拟中心。
  • 将专用 DNS 区域链接到工作负荷子网不起作用。 起始网络拓扑要求默认 DNS 服务器和路由规则强制在区域中心使用 Azure 防火墙。

建议的解决方案适用于企业网络团队为 DNS 实现虚拟中心扩展。 此扩展允许企业网络团队向需要它们的工作负荷辐射公开共享 DNS 服务。