Azure 虚拟网络网关是一个组件,用于提供 Azure 虚拟网络(VNet)与其他网络(本地网络或 Azure 中的其他 VNet)之间的安全连接。 有两种类型的虚拟网络网关: Azure ExpressRoute 网关,该网关使用不遍历公共 Internet 的专用连接,以及使用通过 Internet 加密隧道的 Azure VPN 网关。 作为 Azure 服务,虚拟网络网关提供了一系列功能来支持可靠性要求。
使用 Azure 时, 可靠性是共同的责任。 Azure 提供了一系列支持复原和恢复的功能。 你负责了解这些功能如何在你使用的所有服务中工作,并选择满足业务目标和运行时间目标所需的功能。
本文介绍如何使虚拟网络网关能够灵活应对各种潜在的中断和问题,包括暂时性故障、可用性区域中断、区域中断和计划内服务维护。 它还重点介绍了有关虚拟网络网关服务级别协议(SLA)的一些关键信息。
若要查看有关 VPN 网关的信息,请务必选择本页开头的相应虚拟网络网关类型。
重要
本文介绍 ExpressRoute 虚拟网络网关的可靠性,它们是 ExpressRoute 系统的基于 Azure 的部分。
但是,使用 ExpressRoute 时,设计 整个网络体系结构 (而不仅仅是网关)以满足复原要求至关重要。 通常,需要使用多个站点(对等互连位置),并为本地组件启用高可用性和快速故障转移功能。 有关详细信息,请参阅 设计和构建 Azure ExpressRoute 以实现复原能力。
若要查看有关 ExpressRoute 网关的信息,请务必选择本页开头的相应虚拟网络网关类型。
重要
本文介绍虚拟网络网关的可靠性,这是 Azure VPN 网关服务中基于 Azure 的部分。
但是,使用 VPN 时,设计 整个网络体系结构 (而不仅仅是网关)以满足复原要求至关重要。 你负责管理 VPN 连接的一侧的可靠性,包括用于点到站点配置的客户端设备,以及站点到站点配置的远程 VPN 设备。 有关如何配置您的基础架构以实现高可用性的详细信息,请参阅 设计用于跨场所和 VNet 到 VNet 连接的高可用性网关连接。
生产部署建议
Azure Well-Architected Framework 提供了关于可靠性、性能、安全性、成本和操作的建议。 若要了解这些领域如何相互影响并促成可靠的 ExpressRoute 解决方案,请参阅 Azure Well-Architected Framework 中 Azure ExpressRoute 的体系结构最佳做法。
为了确保生产虚拟网络网关的高可用性,建议:
- 如果 Azure VPN 网关资源位于受支持的区域中,则启用区域冗余。 使用支持的 SKU(VpnGw1AZ 或更高版本)部署 VPN 网关,以确保访问区域冗余功能。
- 使用标准 SKU 公共 IP 地址。
- 配置主动-主动模式以实现更高的可用性,前提是远程 VPN 设备支持此功能。
- 使用 Azure Monitor VPN 网关指标实现适当的监视。
可靠性体系结构概述
使用 ExpressRoute,必须在本地环境、对等互连位置和 Azure 中部署组件。 这些核心组件包括:
电路和连接: ExpressRoute 电路 由两个 连接 通过单个对等位置组成,与 Microsoft Enterprise Edge 相连。 通过使用两个连接,你可以实现“主动-主动”连接。 但是,此配置不会防范站点级故障。
客户本地设备 (CPE)包括边缘路由器和客户端设备。 你需要确保 CPE 设计为能够应对问题,并在 ExpressRoute 基础结构的其他部分出现问题时快速恢复。
站点:线路通过站点建立,站点是物理对等互连位置。 站点被设计为高度可用,并且在各层实现了内置冗余,但由于这些站点集中在单个物理位置,还是可能会遇到一些问题。 为了缓解站点中断的风险,ExpressRoute 提供不同的站点复原选项,这些选项在保护级别上有所不同。
Azure 虚拟网络网关: 在 Azure 中,创建一个 虚拟网络网关 ,该网关充当 Azure 虚拟网络中一个或多个 ExpressRoute 线路的终止点。
下图显示了两种不同的 ExpressRoute 配置,每个配置都有一个虚拟网络网关,用于跨站点实现不同级别的复原能力:
VPN 要求在本地环境和 Azure 中部署组件:
本地组件:部署的组件取决于是部署点到站点配置还是站点到站点配置。
- 站点到站点 配置需要一个本地 VPN 设备,你负责部署、配置和管理这些设备。
- 点对站点配置要求您在远程设备(如笔记本电脑或台式机)上部署 VPN 客户端应用程序,并将用户配置文件导入该 VPN 客户端。 每个点到站点连接都有自己的用户配置文件。 你负责部署和配置客户端设备。
若要详细了解差异,请参阅 VPN 网关拓扑和设计。
Azure 虚拟网络网关:在 Azure 中,创建一个虚拟网络 网关,也称为 VPN 网关,该网关充当 VPN 连接的终止点。
本地网络网关: 站点到站点 VPN 配置还需要一个表示远程 VPN 设备的本地网络网关。 本地网络网关存储与 VPN 设备关联的公共 IP 地址,以建立 IKE 阶段 1 和阶段 2、本地 IP 网络(用于静态路由)、远程对等方的 BGP IP 地址(例如动态路由)。
- 用于建立 IKE 阶段 1 和阶段 2 连接的本地 VPN 设备的公共 IP 地址
- 用于静态路由的本地 IP 网络
- 用于动态路由的远程对等方的 BGP IP 地址
下图演示了从本地环境连接到 Azure 的 VPN 中的一些关键组件:
虚拟网络网关
ExpressRoute 网关包含两个或多个 网关虚拟机(VM),这是网关用于处理 ExpressRoute 流量的基础 VM。
VPN 虚拟网络网关仅包含两个 网关虚拟机(VM),这是网关用于处理 VPN 流量的基础 VM。
您无法直接查看或管理网关虚拟机。 平台会自动管理网关 VM 的创建、运行状况监视和替换不正常的网关 VM。 为了防止服务器和服务器机架故障,Azure 会自动在区域中的多个容错域中分配网关 VM。 如果服务器机架发生故障,该群集上的任何网关 VM 都会由 Azure 平台自动迁移到另一个群集。
您配置网关 SKU。 每个 SKU 都支持不同的吞吐量级别和不同的线路数。 使用 ErGwScale SKU(预览版)时,ExpressRoute 通过添加更多网关虚拟机 (VM) 自动扩展网关。 有关更多信息,请参阅关于 ExpressRoute 虚拟网关。
默认情况下,网关以 主动-主动 模式运行,该模式支持线路的高可用性。 可以选择切换到使用 主动-被动 模式,但此配置会增加影响连接失败的风险。 有关详细信息,请参阅 主动-主动连接。
通常,流量通过虚拟网络网关进行路由。
您配置网关 SKU。 每个 SKU 支持不同级别的吞吐量,以及不同数量的 VPN 连接。 有关详细信息,请参阅网关 SKU 简介。
根据高可用性要求,可以将网关配置为 主动-备用,这意味着一个网关 VM 处理流量,另一个网关 VM 是备用网关 VM,也可以配置为 主动-主动,这意味着两个网关 VM 处理流量。 由于连接流的非对称特性,“主动-主动”连接并非始终可行。 有关详细信息,请参阅 设计高可用性的跨场所网关连接和 VNet 到 VNet 连接。
通过将网关 VM 分布在多个可用性区域中,并在区域内提供自动故障转移,可以在区域维护或中断期间维持连接,从而防止区域故障的发生。 有关详细信息,请参阅 可用性区域故障的复原能力。
暂时性故障的复原能力
暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。
与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循 Azure 暂时性故障处理指南。 有关详细信息,请参阅 处理暂时性故障的建议。
对于通过虚拟网络网关连接的应用程序,请使用指数退避实现重试逻辑来处理潜在的暂时性连接问题。 虚拟网络网关的有状态性质可确保在短暂的网络中断期间维护合法连接。
在分布式网络环境中,暂时性故障可能发生在多个层,包括:
- 在本地环境中。
- 在边缘站点。
- 在 Internet 中。
- 在 Azure 中。
ExpressRoute 通过使用冗余连接路径、快速故障检测和自动故障转移来减少暂时性故障的影响。 但是,必须正确配置应用程序和本地组件,使其能够灵活应对各种问题。 有关全面的故障处理策略,请参阅 使用 ExpressRoute 设计高可用性。
如果正确配置了本地设备上的 IP 路由,则发生断开连接时,TCP 流等数据流量会自动通过活动 IPsec 隧道传输。
暂时性故障有时可能会影响 IPsec 隧道或 TCP 数据流。 如果断开连接,IKE(Internet 密钥交换)会重新协商第 1 阶段和第 2 阶段的安全关联,以重新建立 IPsec 隧道。
应对可用区故障的弹性
可用性区域 是每个 Azure 区域内物理上独立的数据中心群组。 当某个区域发生故障时,服务可以切换到其他可用的区域。
虚拟网络网关在满足要求时自动 进行区域冗余 。 区域冗余消除了任何单个区域作为故障点,并提供最高级别的区域复原能力。 区域冗余网关在区域内提供自动故障转移,并在区域维护或中断期间保持连接。
区域冗余 ExpressRoute 网关 VM 会自动分布在至少三个可用区。
下图显示了一个区域冗余的虚拟网络网关,其中包含三个跨不同可用性区域分布的网关 VM:
注释
线路或连接没有可用性区域配置。 这些资源位于未设计为使用可用性区域的网络边缘设施中。
在 Azure VPN 网关中,区域冗余意味着网关 VM 自动分布在多个可用性区域。
下图显示了一个跨可用区实现冗余的虚拟网络网关,该网关具备两个分布在不同可用区的网关虚拟机:
注释
本地网络网关没有可用性区域配置,因为它们自动具有区域复原能力。
使用 受支持的 SKU 时,任何新创建的网关将会自动变为区域冗余的。 建议对所有生产工作负荷使用区域冗余。
要求
- 区域支持: 区域冗余虚拟网络网关在所有 支持可用性区域的区域中都可用。
SKU: 要使虚拟网络网关成为区域冗余,它必须使用支持区域冗余的 SKU。 下表显示了哪些 SKU 支持区域冗余:
SKU 名称 支持可用性区域 标准 否 HighPerformance 否 UltraPerformance 否 ErGw1Az 是的 ErGw2Az 是的 ErGw3Az 是的 ErGwScale 是的
SKU: 要使虚拟网络网关成为区域冗余,它必须使用支持区域冗余的 SKU。 Azure VPN 网关的所有层都支持区域冗余,但基本 SKU 除外,仅适用于开发环境。 有关 SKU 选项的详细信息,请参阅 “关于网关 SKU”
公共 IP 地址: 还必须使用标准 SKU 公共 IP 地址,并将其配置为区域冗余。
成本
ExpressRoute 的区域冗余网关需要特定的 SKU,与标准网关 SKU 相比,这些 SKU 的小时速率可能更高,因为其增强的功能和性能特征。 有关定价信息,请参阅 Azure ExpressRoute 定价。
只要使用受支持的 SKU,就无需为跨多个可用性区域部署的网关产生额外费用。 有关定价信息,请参阅 VPN 网关定价。
配置可用性区域支持
本部分介绍如何为虚拟网络网关配置区域冗余。
- 使用可用性区域支持创建新的虚拟网络网关。 创建的任何新虚拟网络网关都是自动区域冗余的,如果它们满足上面列出的要求。 有关详细配置步骤,请参阅 在可用性区域中创建区域冗余的虚拟网络网关。
- 使用可用性区域支持创建新的虚拟网络网关。 创建的任何新虚拟网络网关都是自动区域冗余的,如果它们满足上面列出的要求。 有关详细配置步骤,请参阅 在可用性区域中创建区域冗余的虚拟网络网关。
- 更改现有虚拟网络网关的可用性区域配置。 已创建的虚拟网络网关可能不是区域冗余的。 可以将非区域网关迁移到区域冗余网关,且停机时间最短。 有关详细信息,请参阅将 ExpressRoute 网关迁移到支持可用性区域的 SKU。
- 更改现有虚拟网络网关的可用性区域配置。 已创建的虚拟网络网关可能不是区域冗余的。 可以将非区域网关迁移到区域冗余网关,且停机时间最短。 有关详细信息,请参阅 “关于 SKU 合并和迁移”。
所有区域正常时的行为
以下部分介绍当您的虚拟网络网关被配置为支持区域冗余时,应该预期的情况,并且确保所有可用性区域处于正常运行状态。
区域之间的流量路由: 来自本地环境的流量分布在网关使用的所有区域中的网关 VM 之间。 此主动-主动配置可确保在正常运行条件下实现最佳性能和负载分配。
但是,如果使用 FastPath 优化性能,则来自本地环境的流量会绕过网关,从而提高吞吐量并减少延迟。
区域之间的数据复制: 由于虚拟网络网关不存储永久性客户数据,因此区域之间不会发生数据复制。
区域之间的流量路由: 区域冗余不会影响流量的路由方式。 流量会根据客户端的配置在你的网关的虚拟机之间路由。 如果网关使用主动-主动配置并使用两个公共 IP 地址,则两个网关 VM 都会接收流量;而对于主动-备用配置,流量仅路由到 Azure 选择的一个主网关 VM。
区域之间的数据复制: Azure VPN 网关不需要跨可用性区域同步连接状态。 在主动-主动模式下,处理 VPN 连接的网关 VM 负责管理连接的状态。
- 网关 VM 管理: 平台会自动为网关 VM 选择区域,并管理跨区域的位置。 健康监测可确保只有健康的网关 VM 接收流量。
区域故障期间的行为
以下部分介绍当您的虚拟网络网关已配置为区域冗余,并且发生可用性区域中断时会发生的情况。
- 检测和响应: Azure 平台检测并响应可用性区域中的故障。 无需启动区域故障转移。
通知:Azure 不会在区域关闭时自动通知你。 但是:
可以使用 Azure 资源运行状况 监视单个资源的运行状况,并且可以设置 资源运行状况警报 来通知问题。
可以使用 Azure 服务运行状况 来了解服务的总体运行状况,包括任何区域故障,并且可以设置 服务运行状况警报 来通知问题。
活动请求: 通过失败区域中的网关 VM 连接的任何活动请求将终止。 客户端应用程序应按照有关如何 处理暂时性故障的指导重试请求。
预期数据丢失: 区域故障不应导致数据丢失,因为虚拟网络网关不会存储永久性客户数据。
预期的停机时间: 在区域中断期间,连接可能会遇到短暂的中断,这些中断通常持续长达一分钟,因为流量被重新分发。 客户端应用程序应按照有关如何 处理暂时性故障的指导重试请求。
流量重新路由: 平台会自动将流量分发到正常区域中的网关 VM。
支持 FastPath 的连接在整个故障转移过程中保持优化的路由,确保对应用程序性能的影响最小。
- 流量重新路由: 流量会自动重新路由到位于其他可用性区域中的其他网关 VM。
区域恢复
当受影响的可用性区域恢复时,Azure 会自动还原恢复区域中的任何网关 VM,并返回到网关使用的所有区域的正常流量分布。
测试区域故障
Azure 平台负责管理区域冗余虚拟网络网关的流量路由、故障切换和恢复。 此功能是完全托管的,因此无需启动或验证可用性区域故障流程。
对区域范围的故障的复原能力
虚拟网络网关是单区域资源。 如果该区域变得不可用,你的网关也会不可用。
注释
如果 Azure 资源分布在多个区域,则可以使用 Premium ExpressRoute SKU。 高级SKU不会影响网关的配置,它仍然只部署在一个区域。 有关详细信息,请参阅 什么是 Azure ExpressRoute?。
用于复原的自定义多区域解决方案
可以使用以下一种或多种方法创建到 Azure 环境的独立连接路径:
- 创建多个 ExpressRoute 线路,该线路连接到不同 Azure 区域中的网关。
- 使用站点到站点 VPN 作为专用对等连接流量的备用方案。
- 使用 Internet 连接作为 Microsoft 对等连接流量的备份。
有关详细指导,请参阅 使用 ExpressRoute 专用对等连接进行灾难恢复设计。
可以在两个或多个不同区域中部署单独的 VPN 网关。 但是,每个网关都附加到不同的虚拟网络,网关独立运行。 它们之间没有交互或配置或状态的复制。 你还负责配置客户端和远程设备以连接到正确的 VPN,或根据需要在 VPN 之间切换。
服务维护期间的系统弹性能力
Azure 对虚拟网络网关执行定期维护,以确保最佳性能和安全性。 在这些维护时段内,可能会发生一些服务中断,但 Azure 会设计这些活动,以尽量减少对连接的影响。
在虚拟网络网关上的计划内维护期间,此过程按顺序在网关虚拟机上执行,绝不会同时进行。 此过程可确保在维护期间始终有一个网关 VM 处于活动状态,尽量减少对活动连接的影响。
可以将网关维护时段配置为符合运营要求,从而减少意外中断的可能性。
有关详细信息,请参阅 ExpressRoute 网关的客户自主维护配置。
服务级别协议
Azure 服务的服务级别协议 (SLA) 描述了每个服务的预期可用性,以及解决方案为实现该可用性预期而必须满足的条件。 有关详细信息,请参阅 联机服务的 SLA。
ExpressRoute 提供强大的可用性 SLA,可保证连接运行时间高。 如果跨多个对等互连位置(站点)部署、使用 ExpressRoute Metro,或具有单站点配置,则会应用不同的可用性 SLA。
除 Basic 以外的所有 VPN 网关 SKU 都有资格获得更高的可用性 SLA。 基本 SKU 提供较低的可用性 SLA 和有限的功能,并且只能用于测试和开发。 详细信息请参阅 网关 SKU - 生产与开发测试工作负载