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

应用服务环境 v2 的可用性区域支持

重要

本文介绍用于独立应用服务计划的应用服务环境 v2。 应用服务环境 v1 和 v2 于 2024 年 8 月 31 日停用。 应用服务环境有新版本,此版本更易于使用并在更强大的基础结构上运行。 若要详细了解该新版本,请先参阅应用服务环境简介。 如果你当前正在使用应用服务环境 v1,请按照本文中的步骤迁移到新版本。

从 2024 年 8 月 31 日开始,服务级别协议 (SLA) 和服务额度不再适用于继续投入生产的应用服务环境 v1 和 v2 工作负荷,因为它们是停用的产品。 应用服务环境 v1 和 v2 硬件已开始停用,这可能会影响你的应用和数据的可用性和性能。

你必须立即完成到应用服务环境 v3 的迁移,否则你的应用和资源可能会被删除。 我们将使用就地迁移功能在最大程度上努力尝试自动迁移任何剩余的应用服务环境 v1 和 v2,但 Microsoft 对自动迁移后的应用程序可用性不作任何声明或保证。 你可能需要执行手动配置来完成迁移,并优化应用服务计划 SKU 选项来满足需求。 如果无法进行自动迁移,则资源和关联的应用数据会被删除。 我们强烈建议你立即采取行动,以避免发生这两种极端情况之一。

如果你需要更多时间,我们可以为你提供 30 天的一次性宽限期来完成迁移。 如需了解更多信息并申请此宽限期,请查看宽限期概述,然后转到 Azure 门户并访问每个应用服务环境的“迁移”边栏选项卡。

有关应用服务环境 v1/v2 停用的最新信息,请参阅应用服务环境 v1 和 v2 停用更新

可以将应用服务环境 v2 (ASE) 部署到可用性区域 (AZ)。 客户可将内部负载均衡器 (ILB) ASE 部署到 Azure 区域中的特定 AZ。 如果将 ILB ASE 固定到特定 AZ,则 ILB ASE 使用的资源会固定到指定的 AZ,或以区域冗余方式进行部署。

显式部署到 AZ 的 ILB ASE 被视为一个区域性资源,因为 ILB ASE 固定到特定区域。 以下 ILB ASE 依赖项将固定到指定区域:

  • ASE 的内部负载均衡器 IP 地址
  • ASE 用来管理和运行 Web 应用程序的计算资源

在区域性 ILB ASE 上部署的 Web 应用程序的远程文件存储使用区域冗余存储 (ZRS)。

除非按本文所述步骤操作,否则不会以区域性方式自动部署 ILB ASE。 不能将具有公共 IP 地址的外部 ASE 固定到特定的可用性区域。

可以在以下任何区域中创建区域性 ILB ASE:

  • 澳大利亚东部
  • 加拿大中部
  • 美国中部
  • 美国东部
  • 美国东部 2
  • 美国东部 2 (EUAP)
  • 法国中部
  • 日本东部
  • 北欧
  • 西欧
  • 东南亚
  • 英国南部
  • 美国西部 2

即使同一区域中的其他局部区域发生服务中断,在区域性 ILB ASE 上部署的应用程序也会继续运行并为该 ASE 上的流量提供服务。 非运行时行为(包括应用程序服务计划缩放、应用程序创建、应用程序配置和应用程序发布)可能仍然会受其他可用性区域中的中断的影响。 区域性 ILB ASE 的区域固定部署仅确保已部署应用程序的持续正常运行。

如何在可用性区域中部署应用服务环境

必须使用 ARM 模板创建区域性 ILB ASE。 通过 ARM 模板创建区域性 ILB ASE 后,可以通过 Azure 门户和 CLI 查看它以及与它进行交互。 仅在初次创建区域性 ILB ASE 时才需要使用 ARM 模板。

在 ARM 模板中指定区域性 ILB ASE 时需要进行的唯一更改是新的 zones 属性。 zones 属性应当设置为值“1”、“2”或“3”,具体取决于应将 ILB ASE 固定到其中的逻辑可用性区域。

下面的示例 ARM 模板代码片段显示了新的 zones 属性,该属性指定应将 ILB ASE 固定到区域 2。

"resources": [
    {
        "type": "Microsoft.Web/hostingEnvironments",
        "kind": "ASEV2",
        "name": "yourASENameHere",
        "apiVersion": "2015-08-01",
        "location": "your location here",
        "zones": [
            "2"
        ],
        "properties": {
            "name": "yourASENameHere",
            "location": "your location here",
            "ipSslAddressCount": 0,
            "internalLoadBalancingMode": "3",
            "dnsSuffix": "contoso-internal.com",
            "virtualNetwork": {
                "Id": "/subscriptions/your-subscription-id-here/resourceGroups/your-resource-group-here/providers/Microsoft.Network/virtualNetworks/your-vnet-name-here",
                "Subnet": "yourSubnetNameHere"
            }
        }
    }
]

若要使你的应用实现区域冗余,需要部署两个区域性 ILB ASE。 这两个区域性 ILB ASE 必须位于不同的可用性区域中。 然后,你需要将应用部署到每个 ILB ASE 中。 创建应用后,你需要配置负载均衡解决方案。 建议的解决方案是在区域性 ILB ASE 的上游部署区域冗余应用程序网关

区域内数据驻留

在可用性区域中部署的 ILB ASE 仅存储部署了区域性 ILB ASE 的区域中的客户数据。 网站文件内容以及客户提供的设置和存储在应用服务中的机密保留在部署了区域性 ILB ASE 的区域内。

客户可执行此前在“如何在可用性区域中部署应用服务环境”部分所述的步骤,确保单一的区域数据驻留。 根据这些步骤配置应用服务环境后,在可用性区域中部署的应用服务环境将满足区域数据驻留要求,包括在 Azure 信任中心指定的那些要求。

客户可以通过以下步骤验证应用服务环境是否已正确配置为在单个区域中存储数据:

  1. 使用资源浏览器,导航到应用服务环境的 Azure 资源管理器资源。 ASE 将在“providers/Microsoft.Web/hostingEnvironments”下列出。
  2. 如果 zones 属性存在于 Azure 资源管理器 JSON 语法的视图中,并且它包含一个值为“1”、“2”或“3”的单值 JSON 数组,则 ASE 会按区域部署,客户数据会保留在同一区域中。
  3. 如果 zones 属性不存在,或者该属性没有前面指定的有效区域值,则 ASE 不会按区域部署,客户数据也不会以独占方式存储在同一区域中。