将 Azure Batch 帐户移到另一个区域

在某些情况下,你可能想将现有 Azure Batch 帐户从一个区域移到另一个区域。 例如,你可能想要迁移,以实现灾难恢复计划。 本文介绍如何使用 Azure 门户在不同的区域之间移动 Batch 帐户。

不能将 Batch 帐户直接从一个区域移到另一个区域。 但可使用 Azure 资源管理器模板(ARM 模板)来导出 Batch 帐户的现有配置。 然后,在另一个区域中暂存资源。 首先,将 Batch 帐户导出到模板。 接下来,修改参数以匹配目标区域。 将修改后的模板部署到新区域。 最后,在帐户中重新创建作业和其他功能。

有关资源管理器和模板的详细信息,请参阅快速入门:使用 Azure 门户创建和部署 Azure 资源管理器模板

先决条件

  • 确保你的 Batch 帐户使用的服务和功能在新目标区域中受支持。
  • 建议将与 Batch 帐户关联的任何 Azure 资源移动到新目标区域。 例如,按照将 Azure 存储帐户移动到另一个区域中的步骤移动关联的自动存储帐户。 如果需要,你可以将资源保留在原始区域,但是,如果 Batch 帐户与工作负载使用的其他 Azure 资源位于同一区域,则性能通常会更好。 本文假设已迁移存储帐户或任何其他区域 Azure 资源,以便与 Batch 帐户保持一致。

准备模板

若要开始,需要导出并修改一个 ARM 模板。

导出模板

导出包含 Batch 帐户设置和信息的 ARM 模板。

  1. 登录到 Azure 门户

  2. 选择“所有资源”,然后选择你的 Batch 帐户。

  3. 选择“设置”>“导出模板”。

  4. 选择“导出模板”页中的“下载”。

  5. 找到从门户下载的 .zip 文件。 将该文件解压缩到所选的文件夹。

    此 zip 文件包含组成模板的 json 文件。 该文件还包括用于部署模板的脚本。

修改模板

加载并修改该模板,以便可以在目标区域创建新的 Batch 帐户。

  1. 在 Azure 门户中,选择“创建资源”。

  2. 在“搜索市场”中键入“模板部署”,然后按 ENTER

  3. 选择“模板部署(使用自定义模板进行部署)”。

  4. 选择“创建” 。

  5. 选择“在编辑器中生成自己的模板”。

  6. 选择“加载文件”,然后选择在上一部分下载的“template.json”文件 。

  7. 在上传的 template.json 文件中,通过输入 Batch 帐户名称的新 defaultValue 来为目标 Batch 帐户命名 。 此示例将 Batch 帐户名称的 defaultValue 设置为 ,并将 defaultValue 中的字符串替换为 mytargetstorageaccount 的资源 IDmytargetaccount

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "batchAccounts_mysourceaccount_name": {
                "defaultValue": "mytargetaccount",
                "type": "String"
            }
        },
    
  8. 接下来,使用迁移的存储帐户的资源 ID 更新存储帐户的 defaultValue。 若要获取此值,请在 Azure 门户中导航到存储帐户,选择靠近屏幕顶部的“JSON 视图”,然后复制“资源 ID”下显示的值 。 此示例使用资源组 mytargetresourcegroup 中名为 mytargetstorageaccount 的存储帐户的资源 ID。

            "storageAccounts_mysourcestorageaccount_externalid": {
             "defaultValue": "/subscriptions/{subscriptionID}/resourceGroups/mytargetresourcegroup/providers/Microsoft.Storage/storageAccounts/mytargetstorageaccount",
             "type": "String"
         }
     },
    
  9. 最后,编辑 location 属性以使用你的目标区域。 此示例将目标区域设置为 chinaeast

        {
            "resources": [
                {
                    "type": "Microsoft.Batch/batchAccounts",
                    "apiVersion": "2021-01-01",
                    "name": "[parameters('batchAccounts_mysourceaccount_name')]",
                    "location": "chinaeast",
    

若要获取区域位置代码,请参阅 Azure 位置。 区域代码是不带空格的区域名称。

移动帐户

部署该模板以在目标区域中创建新的 Batch 帐户。

  1. 进行修改后,选择“template.json”文件下面的“保存” 。

  2. 输入或选择属性值:

    • 订阅:选择 Azure 订阅。

    • 资源组:选择你在移动关联的存储帐户时创建的资源组。

    • 区域:请选择要将帐户移动到的 Azure 区域。

  3. 依次选择“查看并创建”、“创建” 。

配置新的 Batch 帐户

某些功能不会导出到模板中,因此必须在新的 Batch 帐户中重新创建这些功能。 这些功能包括:

  • 作业(和任务)
  • 作业计划
  • 证书
  • 应用程序包

请确保根据需要配置新帐户中的功能。 可以参考源 Batch 帐户来了解如何配置这些功能。

重要

即使在同一区域中,新 Batch 帐户也是完全与以前的任何现有 Batch 帐户分开的。 这些新建的 Batch 帐户具有关联的默认服务和核心配额。 对于用户订阅池分配模式的 Batch 帐户,将应用订阅中的核心配额。 在迁移工作负载之前,需要确保这些新 Batch 帐户有足够的配额。

丢弃或清理

确认新的 Batch 帐户在新区域中已成功工作。 此外,请确保还原必需的功能。 然后,可以删除源 Batch 帐户。

  1. 在 Azure 门户中,展开左侧的菜单以打开服务菜单,然后选择“Batch 帐户”。

  2. 找到要删除的 Batch 帐户,然后右键单击列表右侧的“更多”按钮 (...) 。 请确保选择的是原始源 Batch 帐户,而不是你新建的帐户。

  3. 选择“删除”并确认。

后续步骤