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