本文介绍 Azure 虚拟网络中的可靠性支持,包括通过 可用性区域 和 多区域部署实现区域内复原能力。
可靠性是你和Microsoft之间的共同责任。 可以使用本指南确定哪些可靠性选项满足特定业务目标和运行时间目标。
虚拟网络是云中网络的逻辑表示形式。 可以使用虚拟网络定义自己的专用 IP 地址空间,并将网络分段为子网。 虚拟网络可用作托管计算资源(如 Azure 虚拟机和负载均衡器)的信任边界。 虚拟网络可在托管的资源之间实现直接专用 IP 通信。 若要启用混合云方案并安全地将数据中心扩展到 Azure,可以通过 Azure VPN 网关或 Azure ExpressRoute 将虚拟网络链接到本地网络。
生产部署建议
在 Azure 中构建虚拟网络时,请务必牢记以下通用设计原则,提高解决方案的可靠性:
避免地址空间重叠。 确保虚拟网络地址空间不与组织的其他网络范围重叠,其中该空间定义为无类别域际路由选择 (CIDR) 块。
为未来的增长保留地址空间。 子网不应涵盖虚拟网络的整个地址空间。 提前规划,为将来留出一些地址空间。
合并网络。 若要减少管理开销,请使用几个大型虚拟网络而不是多个小型虚拟网络。
保护网络。 通过将网络安全组(NSG)分配到虚拟网络下方的子网来保护虚拟网络。
有关如何设计具有可靠性原则的 Azure 虚拟网络的详细信息,请参阅 虚拟网络的体系结构最佳做法。
可靠性体系结构概述
虚拟网络是 Azure 中多个核心网络组件之一。 创建虚拟网络时,将创建一组资源,这些资源共同定义网络配置。 这些资源包括以下网络组件:
NSG 和应用程序安全组,这些安全组限制网络部分之间的通信
用户定义的路由,用于控制流量的流动方式
负载均衡器,用于在网络中分配流量
提供与 Internet 的连接的公共 IP 地址
网络接口卡,用于提供与 Azure 虚拟机(VM)的网络连接
专用终结点,提供与 Azure 服务和虚拟网络外部资源的专用连接
还可以部署 设备,例如 ExpressRoute 网关、VPN 网关和防火墙。 设备提供服务来支持网络要求,例如连接到本地环境或提供对流量流的复杂控制。
最后,部署自己的组件,例如运行应用程序或数据库的 VM,以及其他提供虚拟网络集成的 Azure 服务。
重要
本指南重点介绍 Azure 虚拟网络,这些虚拟网络只是网络体系结构中的一个组件。
从可靠性的角度来看,必须单独考虑解决方案中的每个组件及其协同作方式。 默认情况下,许多核心 Azure 网络服务提供高复原能力。 但是,可能需要考虑其他网络设备、VM 和其他组件如何支持可靠性需求。 有关服务如何支持可靠性的详细信息,请参阅 Azure 服务可靠性指南。
有关 Azure 中的网络的详细信息,请参阅 网络体系结构设计。
暂时性故障
暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。
与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循 Azure 暂时性故障处理指南。 有关详细信息,请参阅 处理暂时性故障的建议。
暂时性故障通常不会影响虚拟网络。 但是,暂时性故障可能会影响虚拟网络中部署的资源。 查看每个资源的可靠性指南,以了解其暂时故障处理行为。
可用性区域支持
可用性区域 是每个 Azure 区域内物理上独立的数据中心群组。 当某个区域发生故障时,服务可以切换到其他可用的区域。
虚拟网络及其子网跨越其部署区域中的所有可用性区域。 无需配置任何内容即可启用此支持。
无需将虚拟网络或子网划分为可用性区域,以适应区域资源。 例如,如果配置区域 VM,则无需在为 VM 选择可用性区域时考虑虚拟网络。 对于其他区域性资源也是如此。
区域支持
区域冗余虚拟网络可以在 支持可用性区域的任何区域中部署。
成本
Azure 虚拟网络的区域冗余无需额外付费。
配置可用性区域支持
在支持可用性区域的区域中部署虚拟网络时,会自动配置区域冗余。
区域关闭体验
Azure 虚拟网络设计为能够抵御区域故障并进行恢复。 当某个区域变得不可用时,虚拟网络会自动将虚拟网络请求重新路由到剩余区域。 此过程是无缝的,不需要你采取任何行动。
但是,虚拟网络中的任何资源都需要单独考虑,因为每个资源在可用性区域丢失期间可能有不同的行为集。 查看每个资源的可靠性指南,以了解其可用区支持和在某个区不可用时的行为。
故障回复
当区域恢复时,Azure 会启动故障回复过程,以确保虚拟网络在恢复区域中继续工作。 故障回复过程是自动的,不需要你执行任何操作。
但是,应验证虚拟网络中部署的任何资源的故障回复行为。 有关详细信息,请参阅 每个资源的可靠性指南。
对区域故障进行测试
虚拟网络平台管理跨可用性区域的虚拟网络的流量路由、故障转移和故障回复。 由于此功能完全由系统管理,因此无需验证可用区故障流程。
多区域支持
虚拟网络是单区域服务。 如果区域变得不可用,虚拟网络也不可用。
备选多区域方法
可以在多个区域中创建虚拟网络。 还可以选择通过 对等互连 来连接这些网络。
通过在多个区域中创建虚拟网络和其他资源,可以复原区域中断。 但是,需要考虑以下因素:
流量路由: 如果在虚拟网络中托管面向 Internet 的服务,则需要确定如何在区域和组件之间路由传入流量。 使用 Azure 流量管理器和 Azure Front Door 等服务,可以根据指定的规则路由 Internet 流量。
故障转移:如果 Azure 区域不可用,通常需要通过处理正常区域中的流量来故障转移。 流量管理器和 Azure Front Door 为 Internet 应用程序提供故障转移功能。
管理: 每个虚拟网络都是一个单独的资源,需要独立于其他虚拟网络进行配置和管理。
IP 地址空间: 确定创建多个虚拟网络时如何分配 IP 地址。 可以在不同区域中使用相同的专用 IP 地址空间创建多个虚拟网络。 但是,不能将具有相同地址空间的两个虚拟网络对等互连或连接到本地网络,因为它会导致路由问题。 如果计划创建多网络设计,IP 地址规划是一个重要考虑因素。
虚拟网络不需要运行大量资源。 可以调用 Azure API 在不同的区域中创建具有相同地址空间的虚拟网络。 但是,若要重新创建与受影响区域中存在的环境类似的环境,必须重新部署 VM 和其他资源。 如果具有本地连接(例如在混合部署中),则必须部署新的 VPN 网关实例并连接到本地网络。
有关 Web 应用程序的多区域网络体系结构的详细信息,请参阅 使用流量管理器、Azure 防火墙和 Azure 应用程序网关进行多区域负载均衡。
备份
Azure 虚拟网络不存储任何需要备份的数据。 但是,如果需要重新创建虚拟网络的配置,可以使用 Bicep、Azure 资源管理器模板或 Terraform 拍摄虚拟网络配置的快照。 有关详细信息,请参阅 创建 Azure 虚拟网络。
服务级别协议
由于提供服务的性质,虚拟网络没有定义的服务级别协议。