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

将 Azure Static Web Apps 重定位到另一个区域

本文介绍如何将 Azure Static Web Apps 资源重定位到另一个 Azure 区域。

出于多种原因,你可能希望将现有 Azure 资源从一个区域移到另一个区域。 你可以采取以下建议:

  • 利用新的 Azure 区域。
  • 部署仅在特定区域可用的功能和服务。
  • 满足内部策略和治理要求。
  • 与公司合并和收购保持一致
  • 满足容量计划要求。

先决条件

在准备重定位之前,请查看以下先决条件。

停机时间

重定位 Azure 静态网站会导致应用程序停机。 停机时间在一定程度上取决于你为 Azure 静态网站实施的高可用性模式。 常规模式包括:

  • 冷备用状态:根据要求定期备份工作负载数据。 发生灾难时,会将工作负载重新部署到新的 Azure 区域并还原数据。
  • 热备用状态:将工作负载部署在业务连续性和灾难恢复 (BCDR) 区域,并以异步或同步方式复制数据。 发生灾难时,灾难恢复 (DR) 区域中的部署会纵向和横向扩展。
  • 多区域:将工作负载部署在两个区域,并以同步方式复制数据。 这两个区域都包含数据的可写副本。 实施方案可以采用主动/被动或主动/主动模式。

准备

使用专用终结点的部署

如果你的静态 Web 应用是使用专用终结点部署的,请确保:

  • 更新连接终结点的主机名。
  • 更新 DNS 专用区域或自定义 DNS 服务器上的主机名(仅适用于专用链接)。

有关详细信息,请参阅在 Azure Static Web Apps 中配置专用终结点

所有其他部署

对于所有其他部署类型,请确保:

  • 如果适用,请从新区域中的 Azure Functions 检索新的函数 API 密钥。

  • 如果 Azure 函数依赖于某个数据库,请确保已更新 DATABASE_CONNECTION_STRING。 此数据库可能不在区域迁移范围内。

  • 将自定义域更新为指向静态 Web 应用的新主机名。

  • 如果使用密钥保管库,请在目标区域中预配新的密钥保管库。 如果适用,请更新密钥保管库中的函数 API 密钥。 不能存储在代码或配置文件中的任何其他敏感数据都应存储在此密钥保管库中

导出模板

若要导出包含描述静态 Web 应用的设置的资源管理器模板,请执行以下操作:

  1. 登录到 Azure 门户

  2. 转到静态 Web 应用。

  3. 在左侧菜单的“自动化”下,选择“导出模板”。

    生成模板可能需要花费一点时间。

  4. 选择下载

  5. 找到下载的 .zip 文件,并在所选的文件夹中将其打开。

    此文件包含 .json 文件,包括模板和用于部署该模板的脚本。

  6. 对模板进行必要的更改,例如根据目标区域更新位置。

重定位

使用以下步骤将静态 Web 应用重定位到另一个区域。

  1. 如果使用专用终结点进行重定位,请按照将 Azure 专用链接服务重定位到另一区域中的指导进行操作。

  2. 如果为静态 Web 应用提供了现有的 Azure Functions,请按照适用于 Azure Functions 的重定位过程进行操作。

  3. 使用在上一部分导出并配置的模板重新部署静态 Web 应用。

    重要

    如果未使用自定义域,则应用程序的 URL 在目标区域中会发生变化。 在这种情况下,请确保用户知道该 URL 发生了变化。

  4. 如果使用集成 API,请创建 Azure Functions 支持的新集成 API。

  5. 重新配置存储库(GitHub 或 Azure DevOps),以部署到目标区域中新部署的静态 Web 应用。 使用 GitHub Actions 或 Azure Pipelines 启动应用程序部署。

  6. 对于冷备用状态部署,请务必将新的 URL 告知客户端。 如果使用自定义 DNS 域,只需将 DNS 条目更改为指向目标区域即可。 对于热备用状态部署,负载均衡器(例如 Front Door 或流量管理器)可以处理源区域中静态 Web 应用到目标区域的迁移