你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure ExpressRoute 进行高可用性设计
Azure ExpressRoute 旨在实现高可用性,以便与 Microsoft 资源建立运营商级专用网络连接。 这意味着 Microsoft 网络中没有单一故障点。 为了最大限度地提高可用性,还应该同时规划好 Azure ExpressRoute 线路的客户与服务提供商段。 本文介绍使用 Azure ExpressRoute 和微调功能构建可靠连接时的网络体系结构注意事项,以提高 Azure ExpressRoute 线路的高可用性。
注意
本文所述的概念同样适用于在虚拟 WAN 中或其外部创建 Azure ExpressRoute 线路的情况。
体系结构注意事项
下图演示了使用 Azure ExpressRoute 线路进行连接以最大程度地提高可用性的推荐方法。
若要实现高可用性,必须在整个端到端网络中保持冗余。 这意味着在本地网络中维护冗余,并且不会影响服务提供商网络内的冗余。 这样做至少能避免单一网络故障点。 网络设备的冗余电源和散热装置可进一步提高高可用性。
第一英里物理层设计注意事项
如果在同一客户本地设备 (CPE) 上终止 Azure ExpressRoute 线路的主要连接和辅助连接,将会降低本地网络中的高可用性。 此外,使用 CPE 的同一端口配置这两个连接会强制合作伙伴降低其网段上高可用性。 通过终止不同子接口下的两个连接或通过合并合作伙伴网络中的两个连接,可触发此情况,如下图所示。
在不同地理位置终止 Azure ExpressRoute 线路的主要连接和辅助连接可能会降低网络性能。 如果在不同位置终止的连接之间主动对流量进行负载均衡调节,则两个路径之间的网络延迟会存在重大差异,可能会导致性能欠佳。
有关异地冗余设计注意事项,请参阅使用 Azure ExpressRoute 进行灾难恢复设计。
主动-主动连接
Microsoft 网络以主动-主动模式运行 ExpressRoute 线路的主要连接和辅助连接。 但是,可以通过路由播发强制冗余连接在主动-被动模式下运行。 播发更具体的路由和 BGP AS 路径追加是优先使用某一条路径的常用方法。
为了提高高可用性,建议在主动-主动模式下运行这两个连接。 这可让 Microsoft 网络按流对连接之间的流量进行负载均衡调节。
在主动-被动模式下运行连接时,如果主动路径失败,这两个连接都可能会失败。 发生故障的常见原因是被动连接缺少主动管理,并且被动连接播发过时的路由。
而在主动-主动模式下运行连接仅会导致大约一半的流失败并重新路由,这显著改善了平均恢复时间 (MTTR)。
注意
在维护期间,或在出现影响某个连接的计划外事件的情况下,Microsoft 将使用 AS 路径预置,将流量排出到正常的连接。 通过 Microsoft 配置路径追加时请确保流量能够路由到正常的路径,并且正确设置了所需的路由播发以避免任何服务中断。
Microsoft 对等互连的 NAT
Microsoft 对等互连旨在实现公共终结点之间的通信。 本地专用终结点在通过 Microsoft 对等互连通信之前,通常会使用客户或合作伙伴网络上的公共 IP 进行网络地址转换 (NAT)。 在主动-主动设置中使用主要连接和辅助连接会影响从其中一个连接故障中恢复的速度。 下面演示了两个不同的 NAT 选项:
选项 1:
在主要连接和辅助连接之间拆分流量后,将应用 NAT。 独立 NAT 池用于主要设备和辅助设备,以满足有状态 NAT 要求。 返回流量将抵达传出流量的同一边缘设备。
如果 Azure ExpressRoute 连接失败,则相应的 NAT 池将无法访问,这会中断所有网络流。 必须在窗口超时后由 TCP 或应用层重新建立这些流。 在故障期间,在还原连接之前,Azure 无法使用相应的 NAT 访问本地服务器。
选项 2:
在主要连接和辅助连接之间拆分流量之前,系统会使用通用 NAT 池。 这不会引入单一故障点,因此能保持高可用性。
即使主要连接或辅助连接失败,NAT 池仍可接受访问,从而允许网络层重新路由数据包并更快地恢复。
注意
- 如果使用 NAT 选项 1(对主要连接和辅助连接使用独立的 NAT 池),并将 IP 地址的端口从一个 NAT 池映射到一个本地服务器,则在相应的连接失败时,无法通过 Azure ExpressRoute 线路访问服务器。
- 在有状态设备上终止 Azure ExpressRoute BGP 连接可能会导致 Microsoft 或 Azure ExpressRoute 提供商进行的计划内或计划外维护期间出现故障转移问题。 测试设置,确保正确故障转移,并在可能的情况下终止无状态设备上的 BGP 会话。
微调专用对等互连的功能
本部分介绍有助于提高 Azure ExpressRoute 线路高可用性的可选功能,具体取决于 Azure 部署以及 MTTR 的敏感度。 具体而言,本部分将介绍 Azure ExpressRoute 虚拟网络网关的区域感知部署和双向转发检测 (BFD)。
可用性区域感知的 Azure ExpressRoute 虚拟网络网关
Azure 区域中的可用性区域将容错域和更新域结合。 为了实现最高的复原能力和可用性,你应该配置区域冗余 Azure ExpressRoute 虚拟网络网关。 有关详细信息,请参阅关于 Azure 可用性区域中的区域冗余虚拟网络网关。 若要配置区域冗余的虚拟网络网关,请参阅在 Azure 可用性区域中创建区域冗余的虚拟网络网关。
改善故障检测时间
Azure ExpressRoute 通过专用对等互连支持 BFD,可以通过 Microsoft 企业边缘 (MSEE) 及其本地端的 BGP 邻居之间的第 2 层网络,将故障检测时间从大约 3 分钟(默认值)减少到 1 秒以下。 快速故障检测有助于加快恢复速度。 有关详细信息,请参阅通过 Azure ExpressRoute 配置 BFD。
后续步骤
本文讨论了如何设计 Azure ExpressRoute 线路的高可用性。 Azure ExpressRoute 线路对等互连点固定到地理位置,并可能受到影响整个位置的灾难性故障的影响。
有关与 Microsoft 主干网络建立可承受灾难性故障(会影响整个区域)的异地冗余网络连接的设计注意事项,请参阅使用 Azure ExpressRoute 专用对等互连进行灾难恢复设计。