为 Azure Functions 配置区域冗余

区域冗余使函数应用能够灵活应对 Azure 可用性区域中的问题,因此,当数据中心或区域发生中断时,应用仍可用。 本文提供根据托管计划将 Azure Functions 配置为区域冗余的分步指南。 有关可用性区域如何使用 Azure Functions 的信息,请参阅 Azure Functions 中的可靠性

Azure Functions 的可用性区域配置取决于 Functions 托管计划

托管计划 支持级别 配置部分
弹性高级计划 GA 选择本文顶部的Premium
专用(应用服务)计划 GA 请参阅 为应用服务配置可用性区域
消耗计划 n/a 消耗计划不支持。

重要

在配置区域冗余之前,请查看 Azure Functions 可靠性中列出的要求和详细信息 - 可用性区域故障复原能力

只能在创建应用时在计划中启用可用性区域。 无法将现有高级计划转换为使用可用性区域。

创建区域冗余函数应用

创建应用时,请按照以下步骤创建区域冗余灵活消费计划。

  1. 若要在区域冗余计划中创建函数应用,必须具有现有的 区域冗余存储帐户。 如果还没有区域冗余存储帐户,请在继续作之前创建一个。

  2. 在 Azure 门户中,转到“创建函数应用”页。 有关在门户中创建函数应用的详细信息,请参阅创建函数应用

  3. 选择 弹性消耗 ,然后选择 “选择 ”按钮。

  4. “创建函数应用”(弹性消耗) 页上的 “基本信息 ”选项卡上,输入函数应用的设置。 请特别注意下表中提到了区域冗余具体要求的设置(以下屏幕截图中也突出显示了这些设置)。

    设置 建议值 有关区域冗余的说明
    Region 首选支持的区域 创建 Flex 消耗计划的区域。 有关支持 Azure Functions Premium 计划区域冗余的区域列表,请参阅 Azure Functions 中的可靠性 - 可用性区域故障复原能力 - 要求
    区域冗余 已启用 此设置指定应用是否为区域冗余。 只有在选择支持区域冗余的区域时,才能选择 Enabled

    Flex 消耗函数应用创建页的“基本信息”选项卡的屏幕截图。

  5. “存储 ”选项卡上,为函数应用选择区域冗余存储帐户。 请特别注意下表中关于区域冗余的设置及其具体要求。

    设置 建议值 有关区域冗余的说明
    存储帐户 一个区域冗余存储帐户 Azure Functions 的可靠性指南中所述,强烈建议为区域冗余函数应用使用区域冗余存储帐户。
  6. 在函数应用创建过程的其余步骤中,请照常创建函数应用。 在创建过程的其余步骤中,没有任何设置会影响区域冗余。

创建和部署区域冗余计划后,新计划上托管的 Flex Consumption 函数应用被视为区域冗余。

按照以下步骤创建区域冗余的高端计划和应用程序。

  1. 在 Azure 门户中,转到“创建函数应用”页。 有关在门户中创建函数应用的详细信息,请参阅创建函数应用

  2. 选择Functions Premium,然后选择选择按钮。

  3. “创建函数应用 (Functions 高级计划)”页面的“基本信息”选项卡上,输入您函数应用的设置。 请特别注意下表中提到了区域冗余具体要求的设置(以下屏幕截图中也突出显示了这些设置)。

    设置 建议值 有关区域冗余的说明
    Region 首选支持的区域 在其中创建弹性高级计划的区域。 必须选取支持可用性区域的地区。 有关支持 Azure Functions Premium 计划区域冗余的区域列表,请参阅 Azure Functions 中的可靠性 - 可用性区域故障复原能力 - 要求
    定价计划 弹性高级计划之一。 有关详细信息,请参阅可用的实例 SKU 本文将说明如何在Premium计划中创建区域冗余应用程序。 区域冗余目前在消费计划中不可用。 有关应用服务计划的区域冗余的信息,请参阅 为应用服务配置可用性区域
    区域冗余 已启用 此设置指定应用是否为区域冗余。 除非你选择了支持区域冗余的区域,否则无法选择 Enabled,如之前所述。

    函数应用创建页的“基本信息”选项卡的屏幕截图。

  4. 在“存储”选项卡上,输入函数应用存储帐户的设置。 请特别注意下表中关于区域冗余的设置及其具体要求。

    设置 建议值 有关区域冗余的说明
    存储帐户 一个区域冗余存储帐户 Azure Functions 的可靠性指南中所述,强烈建议为区域冗余函数应用使用区域冗余存储帐户。
  5. 在函数应用创建过程的其余步骤中,请照常创建函数应用。 在创建过程的其余步骤中,没有任何设置会影响区域冗余。

创建并部署区域冗余的计划后,在新计划中托管的任何函数应用将被视为区域冗余的应用。

在现有计划中启用区域冗余

您无法更改现有的“弹性高级计划”的可用区域支持。 相反,你需要迁移到一个新的区域冗余方案。

停机时间

此迁移所需的停机时间取决于在迁移到启用新可用性区域的函数应用期间如何重定向流量。

  • 考虑使用 应用程序网关自定义域Azure Front Door 的基于 HTTP 的函数。 在这种情况下,停机时间取决于使用新应用信息更新这些相应服务所需的时间。
  • 还可以使用 Azure 流量管理器等服务同时将流量路由到多个应用。 在此方案中,只有在完全部署并测试所有内容后,才能完全切换到新的区域冗余应用。
  • 对于基于消息的函数,应 编写防御函数 ,以确保在迁移期间不会丢失消息。

迁移步骤

若要使现有高级计划函数应用能够使用可用性区域,请将项目文件重新部署到区域冗余高级计划中托管的新函数应用。 执行以下步骤:

  1. 如果您已在受支持区域的高级计划中托管,您可以继续使用现有资源组,直接跳至下一步骤。 否则,请在受支持的区域中创建新的资源组。 有关支持 Azure Functions Premium 计划区域冗余的区域列表,请参阅 Azure Functions 中的可靠性 - 可用性区域故障复原能力 - 要求
  2. 在受支持的区域中创建区域冗余高级计划。
  3. 在新高级计划中创建函数应用,并使用所需的 部署方法将项目代码部署到此新应用。
  4. 成功启动并运行新应用后,可以选择禁用或删除非区域应用。

后续步骤