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

将 Azure 虚拟网络重新定位到另一个区域

本文介绍如何通过重新部署虚拟网络将虚拟网络重新定位到新区域。 重新部署既支持多个工作负载的独立迁移,也支持目标区域的专用 IP 地址范围变化。 建议使用资源管理器模板重新定位虚拟网络。

然而,还可以选择使用 Azure 资源转移器移动虚拟网络。 然而,如果选择使用 Azure 资源转移器转移虚拟网络,请确保了解以下注意事项:

如果选择使用资源转移器:

  • 必须一起重新定位虚拟网络中的所有工作负载。

  • 使用 Azure 资源转移器进行重定位不支持专用 IP 地址范围更改。

  • Azure 资源转移器可以移动网络安全组和用户定义的路由等资源以及虚拟网络。 但是,建议单独进行转移。 一起移动可能会导致验证依赖项阶段失败。

  • 资源转移器无法直接将 NAT 网关实例从一个区域移到另一个区域。 若要解决此限制,请参阅在将资源移到另一个区域后创建和配置 NAT 网关。

  • 在重定位过程中,Azure 资源转移器不支持对地址空间进行任何更改。 因此,转移完成后,源和目标具有相同的地址空间,因此产生冲突。 建议在重定位完成后立即手动更新地址空间。

  • 重定位后,必须重新配置虚拟网络对等互连。 建议将对等互连虚拟网络移动到源虚拟网络之前或与源虚拟网络一起移动。

  • 使用 Azure 资源转移器执行“启动转移”步骤时,资源可能暂时不可用。

若要了解如何使用资源转移器转移虚拟网络,请参阅跨区域移动 Azure VM

先决条件

  • 确定也与虚拟网络关联的任何独立资源,例如:

  • 网络对等互连

  • 确认虚拟网络位于源 Azure 区域中。

  • 若要导出虚拟网络并部署模板,以便在另一区域创建虚拟网络,需要“网络参与者”角色或更高级别的角色。

  • 确定源网络布局和当前正在使用的所有资源。 此布局包括但不限于负载均衡器、网络安全组 (NSG) 和公共 IP。

  • 验证 Azure 订阅是否允许在目标区域中创建虚拟网络。 若要启用所需配额,请联系支持部门。

  • 确认订阅提供足够的资源,以支持在此过程中添加虚拟网络。 有关详细信息,请参阅 Azure 订阅和服务限制、配额与约束

  • 了解以下注意事项:

    • 如果启用专用 IP 地址范围更改,则可以单独重新定位虚拟网络中的多个工作负载。
    • 重新部署方法支持在目标区域中启用和禁用专用 IP 地址范围更改的选项。
    • 如果未在目标区域中启用专用 IP 地址更改,则只能使用公共端点(公共 IP 地址)建立需要在源区域和目标区域之间通信的数据迁移场景。

重要

自 2021 年 7 月 1 日起,你将无法在现有工作区中添加新测试,也无法通过网络性能监视器启用新的工作区。 可以继续使用在 2021 年 7 月 1 日之前创建的测试。 为了最大程度地减少当前工作负载的服务中断,请在 2024 年 2 月 29 日之前,在 Azure 网络观察程序中将测试从网络性能监视器迁移到新的连接监视器。

停机时间

要了解可能涉及的故障时间,请参阅面向 Azure 的云采用框架:选择重定位方法

计划

若要规划 Azure 虚拟网络的重新定位,必须了解是在连接还是断开连接的情况下重新定位虚拟网络。 在连接的情况下,虚拟网络使用中心、VPN 网关或 ExpressRoute 连接路由到本地数据中心。 在断开连接的情况下,工作负载组件使用虚拟网络相互通信。

同时显示虚拟网络连接方案和断开连接方案的关系图。

离线场景

IP 地址不变的重定位 IP 地址变更的重定位
不需要其他 IP 地址范围。 需要其他 IP 地址范围。
重定位后,不会更改资源的 IP 地址。 重定位后,会更改资源的 IP 地址
必须一起重新定位虚拟网络中的所有工作负载。 可以在不考虑依赖关系的情况下进行工作负载重定位或部分重定位(考虑通信延迟)
需要断开或删除源区域中的虚拟网络,然后才能连接目标区域中的虚拟网络。 使用 vNetwork 对等互连在源区域和目标区域之间启用通信快捷方式。
不支持需要在源区域和目标区域之间通信的数据迁移场景。 如果在数据迁移方案需要在源区域和目标区域之间进行通信,可以在重定位期间建立网络对等互连。

在断开连接的情况下,具有相同 IP 地址范围的重定位

关系图显示了未更改 vNet IP 地址范围的断开连接工作负载重新定位。

在断开连接的情况下,使用新的 IP 地址范围的重定位

关系图显示了 vNet IP 地址范围已更改的断开连接工作负载重新定位。

已连接的场景

IP 地址不变的重定位 IP 地址变更的重定位
不需要其他 IP 地址范围。 需要其他 IP 地址范围。
重定位后,不会更改资源的 IP 地址。 重定位后,会更改资源的 IP 地址。
需要将具有相互依赖关系的所有工作负载重新定位在一起。 可以在不考虑依赖关系的情况下重新分配工作负载(考虑通信延迟)。
源区域和目标区域中的两个虚拟网络之间无法通信。 可以使用 vNetwork 对等互连在源区域和目标区域之间启用通信。
源区域和目标区域之间无法进行通信或只能通过公共终结点建立通信的数据迁移。 如果在数据迁移方案需要在源区域和目标区域之间进行通信,可以在重定位期间建立网络对等互连。

在已连接的情况下,具有相同 IP 地址范围的重定位

关系图显示了未更改 vNet IP 地址范围的已连接工作负载重新定位。

在已连接的情况下,使用新的 IP 地址范围的重定位

关系图显示了 vNet IP 地址范围已更改的已连接工作负载重新定位。

准备

  1. 移动包含网络观察程序 NSG 日志的诊断存储帐户。 若要了解如何移动存储帐户,请参阅“将 Azure 存储帐户重新定位到另一个区域”。

  2. 重新定位网络安全组 (NSG)

  3. 禁用 DDoS 保护计划

导出和修改模板

若要使用 Azure 门户导出虚拟网络并部署目标虚拟网络,请执行以下操作:

  1. 删除任何虚拟网络对等互连。 不会重新创建虚拟网络对等互连,如果它们仍存在于模板中,它们将会失败。 在“重新部署”部分中,需在目标虚拟网络上重新配置对等互连。

  2. 登录到 Azure 门户,然后选择“资源组”。

  3. 找到包含源虚拟网络的资源组并选择它。

  4. 选择“自动化”>“导出模板”。

  5. 在“导出模板”窗格中选择“部署”。

  6. 若要在在线编辑器中打开 parameters.json 文件,请选择“模板”>“编辑参数”。

  7. 若要编辑虚拟网络名称的参数,请更改 parameters 下的 value 属性:

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "virtualNetworks_myVNET1_name": {
                "value": "<target-virtual-network-name>"
            }
        }
    }
    
  8. 在编辑器中,将源虚拟网络名称值更改为所需的目标虚拟网络名称。 请务必将名称括在引号中。

  9. 在编辑器中选择“保存”。

  10. 若要在在线编辑器中打开 template.json 文件,请选择“模板”>“编辑模板”。

  11. 若要编辑目标区域,请在联机编辑器中更改 resources 下的 location 属性:

    "resources": [
                {
                    "type": "Microsoft.Network/virtualNetworks",
                    "apiVersion": "2019-06-01",
                    "name": "[parameters('virtualNetworks_myVNET1_name')]",
                    "location": "<target-region>",
                    "properties": {
                        "provisioningState": "Succeeded",
                        "resourceGuid": "6e2652be-35ac-4e68-8c70-621b9ec87dcb",
                        "addressSpace": {
                            "addressPrefixes": [
                                "10.0.0.0/16"
                            ]
                        },
    
    
  12. 若要获取区域位置代码,请参阅 Azure 位置。 区域代码是不带空格的区域名称(例如,美国中部 = centralus)。

  13. (可选)还可以根据要求更改模板中的其他参数:

    • 地址空间:在保存该文件之前,可以通过修改 resources>addressSpace 节并更改 addressPrefixes 属性来更改虚拟网络的地址空间 :

              "resources": [
                  {
                  "type": "Microsoft.Network/virtualNetworks",
                  "apiVersion": "2019-06-01",
                  "name": "[parameters('virtualNetworks_myVNET1_name')]",
                  "location": "<target-region",
                  "properties": {
                  "provisioningState": "Succeeded",
                  "resourceGuid": "6e2652be-35ac-4e68-8c70-621b9ec87dcb",
                  "addressSpace": {
                      "addressPrefixes": [
                      "10.0.0.0/16"
                      ]
                  },
      
      
    • 子网:可以通过更改该模板的 subnets 节来更改子网名称和子网地址空间或在其中添加内容。 可以通过更改 name 属性来更改子网名称。 可以通过更改 addressPrefix 属性来更改子网地址空间:

              "subnets": [
                  {
                  "name": "subnet-1",
                  "etag": "W/\"d9f6e6d6-2c15-4f7c-b01f-bed40f748dea\"",
                  "properties": {
                  "provisioningState": "Succeeded",
                  "addressPrefix": "10.0.0.0/24",
                  "delegations": [],
                  "privateEndpointNetworkPolicies": "Enabled",
                  "privateLinkServiceNetworkPolicies": "Enabled"
                  }
                  },
                  {
                  "name": "GatewaySubnet",
                  "etag": "W/\"d9f6e6d6-2c15-4f7c-b01f-bed40f748dea\"",
                  "properties": {
                  "provisioningState": "Succeeded",
                  "addressPrefix": "10.0.1.0/29",
                  "serviceEndpoints": [],
                  "delegations": [],
                  "privateEndpointNetworkPolicies": "Enabled",
                  "privateLinkServiceNetworkPolicies": "Enabled"
                  }
                  }
      
              ]
      

      若要在更改 template.json 文件中的地址前缀,请在两处进行编辑:前一节中的代码,以及以下代码的 type 节。

      此外,还需更改以下代码中的 addressPrefix 属性,使之与前一节的代码中的 addressPrefix 属性相符。

       "type": "Microsoft.Network/virtualNetworks/subnets",
         "apiVersion": "2019-06-01",
         "name": "[concat(parameters('virtualNetworks_myVNET1_name'), '/GatewaySubnet')]",
            "dependsOn": [
               "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_myVNET1_name'))]"
                 ],
            "properties": {
               "provisioningState": "Succeeded",
               "addressPrefix": "10.0.1.0/29",
               "serviceEndpoints": [],
               "delegations": [],
               "privateEndpointNetworkPolicies": "Enabled",
               "privateLinkServiceNetworkPolicies": "Enabled"
                }
               },
                {
                "type": "Microsoft.Network/virtualNetworks/subnets",
                "apiVersion": "2019-06-01",
                "name": "[concat(parameters('virtualNetworks_myVNET1_name'), '/subnet-1')]",
                   "dependsOn": [
                      "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_myVNET1_name'))]"
                        ],
                   "properties": {
                      "provisioningState": "Succeeded",
                      "addressPrefix": "10.0.0.0/24",
                      "delegations": [],
                      "privateEndpointNetworkPolicies": "Enabled",
                      "privateLinkServiceNetworkPolicies": "Enabled"
                       }
                }
       ]
      
  14. 在在线编辑器中选择“保存”。

重新部署

  1. 若要选择要将目标虚拟网络部署到的订阅,请选择“基本信息”>“订阅”。

  2. 若要选择要将目标虚拟网络部署到的资源组,请选择“基本信息”>“资源组”。

    如果需要为目标虚拟网络创建新的资源组,请选择“新建”。 确保该名称不同于现有虚拟网络中的源资源组名称。

  3. 确认“基本信息”>“位置”是否设置为要将虚拟网络部署到的目标位置。

  4. 在“设置”下,确认名称是否与先前在 parameters 编辑器中输入的名称相匹配。

  5. 选中“条款和条件”复选框。

  6. 若要部署目标虚拟网络,请选择“购买”。

  7. 配置虚拟网络对等

  8. 按照“从网络性能监视器迁移到连接监视器”中的指南启用连接监视器。

  9. 启用 DDoS 保护计划。 移动后,适用于虚拟网络所有受保护的公共 IP 地址的自动优化策略阈值都将重置。

    • (可选)将网络安全组 (NSG)、应用程序安全组 (ASG) 和用户定义的路由 (UDR) 重新配置到目标虚拟网络子网,该子网以前与源虚拟网络子网相关联,现在已移动到目标区域。
    • (可选)将 NAT 网关重新配置到目标虚拟网络子网,该子网以前与源虚拟网络子网相关联,现在已移到目标区域。
    • (可选)诊断设置:重新配置目标虚拟网络的诊断设置,以将日志发送到已按准备中所述迁移的日志分析工作区/存储帐户/事件中心。

弃用

若要丢弃目标虚拟网络,请删除包含目标虚拟网络的资源组。 为此,请执行以下操作:

  1. 在 Azure 门户仪表板上,选择该资源组。
  2. 在“概述”窗格的顶部,选择“删除”。

清理

若要提交更改并完成虚拟网络的移动,请删除源虚拟网络或资源组。 为此,请执行以下操作:

  1. 在 Azure 门户仪表板上,选择该虚拟网络或资源组。
  2. 在每个窗格的顶部,选择“删除”。

后续步骤

若要详细了解如何在区域之间移动资源,以及如何在 Azure 中进行灾难恢复,请参阅: