你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是可用性区域?

许多Azure区域提供可用性区域,这些区域是区域内数据中心的分隔组。 每个可用性区域都有独立的电力、冷却和网络基础设施,因此,如果一个区域停电,其余区域可支持区域性服务、容量和高可用性。 某些Azure服务会自动使用多个区域,而另一些服务则要求配置多区域部署。

可用性区域不仅可防止影响整个区域的大规模中断。 它们还提供针对较小范围的故障的复原能力,例如区域中的服务器机架或群集故障。 在这些方案中,即使受影响的区域的某些部分仍可继续运行,工作负荷仍可在其他区域中运行。

下图显示了多个Azure区域的示例。 区域 1 和 2 支持可用性区域,区域 3 和 4 没有可用性区域。 某些区域有一个数据中心,而另一些区域具有多个数据中心。

在 Azure 区域中物理隔离的可用性区域位置的示意图。

小窍门

若要查看哪些区域支持可用性区域,请参阅Azure区域列表

数据中心和可用性区域

可用性区域是区域中一个或多个物理上独立的数据中心的 逻辑分组 。 每个可用区的设计都确保即使其中一个出现问题(例如停电或网络故障),其他可用区仍能继续正常运作。 单个数据中心本身不提供这种级别的保护。

可用性区域通常由几公里分隔,通常位于彼此的 100 公里内。 这提供低延迟连接,同时降低本地中断或天气事件影响多个区域的可能性。

数据中心的位置是使用严格的漏洞风险评估条件选择的。 此过程可识别所有特定于数据中心的重要风险,并考虑可用性区域之间共同承担的风险。

可用性区域支持的类型

Azure服务可以为资源提供不同类型的可用性区域支持,大多数服务都支持部署 zone-redundantzonal 资源:

  • 区域冗余资源:区域冗余资源由服务复制或分布在多个可用性区域。 例如,区域冗余数据服务可以跨多个区域复制数据,因此一个区域中发生故障不会影响数据的可用性。 某些服务在受支持的区域中自动具有区域冗余,而其他服务则要求将资源配置为区域冗余。

    对于大多数服务,Microsoft选择资源使用的区域,但有时可以选择一组区域。 服务可能会根据区域的设计使用不同的区域数量或区域子集。 只要资源使用两个或更多区域,它对区域故障是有弹性的。

    使用区域冗余部署,Microsoft负责管理请求在各区域的分布,以及数据在各区域的复制。 如果一个可用性区域停电,Microsoft 会自动故障转移到另一个区域。

    跨多个可用区部署的区域冗余资源的示意图。

  • 区域资源:区域资源将部署到自己选择的单个可用性区域。

    部署到单一可用区的区域性资源示意图。

    区域部署不会自动提供可用性区域中断的复原能力。 但区域资源与其他区域中的故障隔离。 它们还可以帮助你实现异常严格的延迟或性能要求。 例如,对于使用虚拟机生成的聊天工作负荷,可以选择将多个虚拟机部署到同一区域,以减少它们之间的连接延迟。

    若要使可用区资源具备抵御可用区故障的能力,您需要构建一个架构,在同一地区的多个可用区中分布资源。 Microsoft不为你管理该过程。 如果一个可用性区域停电,你需要负责故障转移到另一个区域。

    部署在三个单独区域的三个区域资源示意图。

将资源配置为区域冗余时,或者在不同的可用性区域中使用区域资源的多个实例时,资源被视为 具有区域复原能力:也就是说,它可复原到单个可用性区域的中断。 若要详细了解如何使用区域部署和维护区域复原能力,请参阅 区域资源和区域复原能力

设计可靠性策略时,请确保了解工作负载的每个服务支持哪些可用性区域。 例如,某些服务可能在支持可用性区域时需要额外的要求,例如特定的层级或 SKU。 可靠性指南 包含任何此类要求的详细信息。

如果资源未配置为使用可用区,或者因为您所使用的区域不支持可用区,或者因为您的配置选择,则称为非区域区域部署。 Azure可能会将非区域资源放置在该区域中的任何区域。 你不会选择哪些资源进入哪些区域。 如果区域中的任何可用性区域遇到服务中断,则非区域资源可能位于受影响的区域中,并且可能会遇到停机。

为可用性区域支持配置资源

每个服务都有自己的配置可用性区域支持的方法,某些服务不需要任何配置。 若要了解每个服务如何支持可用性区域以及如何配置该支持,请参阅Azure服务的可靠性指南

物理和逻辑可用性区域

每个数据中心都分配至一个物理区域。 物理区域映射到Azure订阅中的逻辑区域,不同的订阅可能有不同的映射顺序。 Azure 订阅会在创建时自动分配其映射。 因此,一个订阅的区域映射可能与其他订阅的不同。

例如,订阅 A 的物理区域 1 可能映射到逻辑区域 2,而订阅 B 的物理区域 1 可能映射到逻辑区域 3:

逻辑到物理可用性区域映射的关系图。

若要了解订阅的逻辑区域和物理区域之间的映射,请使用 Azure CLIAzure PowerShell 或 Azure 资源管理器 API。

使用 az account list-locations 命令:

az account list-locations \
    --query "[?availabilityZoneMappings].{availabilityZoneMappings: availabilityZoneMappings, displayName: displayName, name: name}"

可用性区域和Azure更新

对于每个区域,Microsoft 旨在一次将更新部署到 Azure 服务所在的单个可用性区域。 此方法减少了更新对活动工作负载可能造成的影响,允许该工作负载在更新进行过程中继续在其他区域中运行。 要利用已排序的区域更新,必须将工作负载配置为跨多个区域运行。 有关 Azure 如何部署更新的详细信息,请参阅 推进安全部署做法

区域间网络

在每个区域中,可用性区域通过高性能网络进行连接。 Microsoft努力实现区域间通信,往返延迟不到 2 毫秒。 低延迟允许区域中的高性能通信,以及跨多个可用性区域同步复制数据。 目标延迟是指网络链接的延迟。 根据你使用的通信协议以及任何特定网络流所需的网络跃点,观察到的延迟可能有所不同。

在大多数工作负荷中,可以在可用性区域中分发解决方案的组件,而不会对性能产生明显影响。 如果工作负荷对区域间延迟具有高度敏感度,则必须使用实际协议和配置测试所选可用性区域之间的延迟。 若要减少区域间流量,可以使用区域部署,但最好是在可靠性策略计划中使用多个可用性区域。 若要详细了解如何使用区域部署和维护区域复原能力,请参阅 区域资源和区域复原能力

无论使用专用还是公共 IP 寻址,Azure不对同一区域中的可用性区域之间的数据传输收费。

可用性区域体系结构指导

要实现可靠的工作负载,你需要执行以下操作:

  • 如果生产工作负荷所在的区域支持可用性区域,则应将生产工作负荷配置为使用多个可用性区域。
  • 对于任务关键型工作负载,应考虑兼具多地区和多区域特点的解决方案。

对于数据驻留或主权要求限制为单个区域的工作负荷,跨多个可用性区域部署是最大化可用性的主要方法,无需将数据移出区域。 如果单个区域发生故障,区域可复原配置将副本保留在区域边界内,同时保持连续性。

可用性区域不会防范整个区域中断。 如果符合性要求不允许使用次要Azure区域,请计划区域内冗余以及备份和还原过程,例如使用Azure 备份和其他备份方法。 设置恢复目标,以反映从区域范围的中断中恢复所需的时间。

有关如何在解决方案体系结构中使用区域和可用性区域的更多详细信息,请参阅有关使用可用性区域和地区的建议

具有可用性区域的区域

下表中的区域支持可用性区域。 有关每个区域的详细信息,请参阅Azure区域列表

美洲 欧洲 中东 Africa 亚太
Brazil South 奥地利东部 以色列中部 南非北部 澳大利亚东部
加拿大中部 比利时中部 卡塔尔中部 印度中部
美国中部 丹麦东部 阿拉伯联合酋长国北部 东亚
智利中部 法国中部 印度中南部
美国东部 德国中西部 印度尼西亚中部
美国东部 2 意大利北部 日本东部
墨西哥中部 北欧 日本西部
美国中南部 挪威东部 韩国中部
美国西部 2 波兰中部 马来西亚西部
美国西部 3 西班牙中部 新西兰北部
瑞典中部 东南亚
瑞士北部
英国南部
西欧