本文介绍如何将 Azure Functions 资源移动到不同的 Azure 区域。 可能会出于以下原因之一将资源移动到另一个区域:
- 利用新的 Azure 区域
- 部署仅在特定区域可用的功能或服务
- 满足内部策略和治理要求
- 响应容量计划要求
Azure Functions 资源是特定于区域的,不能跨区域移动。 必须在目标区域中创建现有函数应用资源的副本,然后将函数代码重新部署到新应用。
如果需要最短停机时间,请考虑在两个区域中运行函数应用以实现灾难恢复体系结构:
先决条件
- 确保目标区域支持 Azure Functions 和要移动其资源的任何相关服务
- 有权访问要迁移的函数的原始源代码
准备
标识源区域上使用的所有函数应用资源,其中可能包括以下内容:
函数可以使用触发器或绑定连接到其他资源。 有关如何跨区域移动这些资源的信息,请参阅相应服务的文档。
还应该能够从现有资源导出模板。
移动
将函数应用部署到目标区域并查看配置的资源。
重新部署函数应用
如果有权访问在源区域中创建函数应用的部署和自动化资源,请在目标区域中重新运行相同的部署步骤以创建和重新部署应用。
如果只能访问源代码而不能访问部署和自动化资源,则可使用任何可用的部署技术在目标区域上部署和配置函数应用。
查看配置的资源
如果在部署期间未配置资源,请查看并配置在上述准备步骤中在目标区域中标识的资源。
移动注意事项
- 如果部署资源和自动化没有创建函数应用,请在目标区域中在新的托管计划中创建相同类型的应用
- 函数应用名称在 Azure 中全局唯一,因此目标区域中的应用不能与源区域中的应用名称相同
- 需要检查将函数应用连接到依赖项的引用和应用程序设置,并在需要时进行更新。 例如,移动函数调用的数据库时,还必须更新应用程序设置或配置以连接到目标区域中的数据库。 一些应用程序设置(例如 Application Insights 检测密钥或函数应用使用的 Azure 存储帐户)可能已经在目标区域中配置,不需要更新
- 请记住在目标区域验证配置并测试函数
- 如果配置了自定义域,请重新映射域名
清理源资源
移动完成后,从源区域中删除函数应用和托管计划。 即使高级计划或专用计划中的函数应用本身未运行,也需要为其付费。