什么是可用性区域?
许多 Azure 区域都提供可用性区域,这些区域是区域中的独立数据中心组。 可用性区域之间不能相距过远,要足以与其他可用性区域建立低延迟连接。 它们彼此间以高性能网络连接,往返延迟小于 2 毫秒。 但是,可用性区域之间不能相距过近,以减少多个可用性区域受当地停电或天气影响的可能性。 各可用性区域具有独立的电源、冷却和连网基础结构。 根据设计,如果一个区域停电,其余区域可支持区域性服务、容量和高可用性。 它们可帮助在出现故障时保持数据同步且可访问。
数据中心的位置是使用严格的漏洞风险评估条件选择的。 此过程可识别所有特定于数据中心的重要风险,并考虑可用性区域之间共同承担的风险。
下图显示了几个 Azure 区域示例。 区域 1 和 2 支持可用性区域。
若要查看哪些地区支持可用性区域,请参阅支持可用性区域的 Azure 区域。
注意
需要将两台或更多虚拟机部署到同一区域中的不同可用性区域,以实现尽可能最高的 SLA 连接百分比。
区域和区域冗余服务
部署到包含可用性区域的 Azure 区域时,可以将多个可用性区域一起使用。 通过使用多个可用性区域,可以在大都市区域中的独立物理数据中心内保留应用程序和数据的单独副本。
Azure 服务对可用性区域的使用有两种方法:
区域资源固定到特定的可用性区域。 可以跨不同区域合并多个区域部署,以满足高可靠性要求。 你负责管理跨区域的数据复制和分发请求。 如果单个可用性区域停电,你需要负责故障转移到另一个可用性区域。
区域冗余资源分布于多个可用性区域。 Azure 负责跨区域分布请求以及跨区域复制数据。 如果单个可用性区域停电,Azure 会自动管理故障转移。
Azure 服务支持这两种方法中的一种或两种。 平台即服务 (PaaS) 服务通常支持区域冗余部署。 基础结构即服务 (IaaS) 服务通常支持区域部署。 有关 Azure 服务如何使用可用性区域的详细信息,请参阅支持可用性区域的 Azure 区域。
某些服务在你配置它们使用可用性区域之前不使用可用性区域。 如果未为可用性区域支持显式配置服务,则这称为“非可用性区域”部署或“非区域”部署。 以这种方式配置的资源可能放置在该区域的任何可用性区域中,并且可能被移动。 如果区域中的任何可用性区域遇到服务中断,则非可用性区域资源可能位于受影响的可用性区域中,并且可能会遇到停机。
有关使用可用性区域的服务特定可靠性支持以及建议的灾难恢复指南的信息,请参阅可靠性指南概述。
物理和逻辑可用性区域
每个数据中心都被分配到一个物理区域。 物理区域映射到 Azure 订阅中的逻辑区域,不同的订阅可能有不同的映射顺序。 Azure 订阅在创建订阅时自动分配其映射。 因此,一个订阅的区域映射可能与其他订阅的不同。 例如:订阅 A 的物理区域 X 可能映射到逻辑区域 1,而订阅 B 的物理区域 X 可能映射到逻辑区域 3。
若要了解订阅的逻辑区域和物理区域之间的映射,请使用列出位置 Azure 资源管理器 API。 可以使用 Azure CLI 或 Azure PowerShell 从 API 检索信息。
az rest --method get --uri '/subscriptions/{subscriptionId}/locations?api-version=2022-12-01' --query 'value'
可用性区域和 Azure 更新
Azure 致力于一次将 Azure 服务更新部署到一个可用性区域。 此方法减少了更新对活动工作负载可能造成的影响,因为该工作负载可以在更新进行过程中继续在其他区域中运行。 需要跨多个区域运行工作负载,才能利用此优势。 有关 Azure 如何部署更新的详细信息,请参阅推进安全部署做法。
配对和未配对区域
许多区域还有一个配对区域。 配对区域支持某些类型的多区域部署方法。 某些较新的区域具有多个可用性区域,且没有配对区域。 你仍然可以将多区域解决方案部署到这些区域,但使用的方法可能有所不同。
共担责任模型
共担责任模型介绍了云提供商 (Microsoft) 和你之间的责任划分情况。 根据你使用的服务类型,你可能或多或少需要承担一些运行服务的责任。
Azure 提供可用性区域和区域,让你可以灵活地设计解决方案以满足你的要求。 使用托管服务时,Azure 承担了更多的资源管理责任,这些资源甚至可能包括与运行分布式系统相关的数据复制、故障转移、故障回复和其他任务。
可用性区域体系结构指南
若要实现更可靠的工作负载,你需要执行以下操作:
- 如果生产工作负载所在的区域支持可用性区域,则应将生产工作负载配置为使用可用性区域。
- 对于任务关键型工作负载,应考虑兼具多地区和多区域特点的解决方案。
有关如何在解决方案体系结构中使用区域和可用性区域的更多详细信息,请参阅有关使用可用性区域和地区的建议。