将 ExpressRoute 关联的虚拟网络从经典部署模型迁移到 Resource Manager 部署模型

本文介绍如何在移动 ExpressRoute 线路后将 ExpressRoute 关联的虚拟网络从经典部署模型迁移到 Azure 资源管理器部署模型。

在开始之前

备注

本文已经过更新,以便使用 Azure Az PowerShell 模块。 若要与 Azure 交互,建议使用的 PowerShell 模块是 Az PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

支持的和不支持的方案

  • 可以在不停机的情况下,将 ExpressRoute 线路从经典环境迁移到 Resource Manager 环境。 可以在不停机的情况下,将 ExpressRoute 线路从经典环境转移到 Resource Manager 环境。 按照使用 PowerShell 将 ExpressRoute 线路从经典部署模型转移到 Resource Manager 部署模型中的说明进行操作。 这是将连接的资源转移到虚拟网络的先决条件。
  • 可以在不停机的情况下,将同一订阅中的虚拟网络、网关,以及附加到 ExpressRoute 线路的虚拟网络中的关联部署迁移到 Resource Manager 环境。 可以按照后面描述的步骤来迁移各种资源,例如虚拟网络、网关以及部署在虚拟网络中的虚拟机。 必须确保虚拟网络配置正确,才能进行迁移。
  • 若要完成虚拟网络、网关以及处于虚拟网络中但与 ExpressRoute 线路不属同一订阅的关联部署的迁移,则需停机一段时间。 文档最后一部分介绍了在迁移资源时必须执行的步骤。
  • 无法迁移使用 ExpressRoute 网关和 VPN 网关的虚拟网络。
  • 不支持 ExpressRoute 线路跨订阅迁移。 有关详细信息,请参阅 Microsoft.Network 移动支持

将 ExpressRoute 线路从经典部署模型转移到 Resource Manager 部署模型

必须先将 ExpressRoute 线路从经典环境转移到 Resource Manager 环境,然后才能尝试迁移附加到 ExpressRoute 线路的资源。 若要完成此任务,请参阅以下文章:

此操作不涉及停机。 只要迁移正在进行,就可以继续在本地和 Microsoft 之间传输数据。

迁移虚拟网络、网关和关联的部署

迁移所需步骤取决于资源是位于同一订阅中还是不同订阅中,还是两种情况都存在。

迁移与 ExpressRoute 线路属于同一订阅的虚拟网络、网关和关联的部署

此部分介绍了如何执行相关步骤,以便迁移与 ExpressRoute 线路属于同一订阅的虚拟网络、网关和关联的部署。 无需停机即可进行此迁移。 在整个迁移过程中,仍然可以使用所有资源。 正在进行迁移时,管理平面是锁定的。

  1. 确保已将 ExpressRoute 线路从经典环境转移到 Resource Manager 环境。

  2. 确保已针对迁移进行了相应的虚拟网络准备。

  3. 注册订阅,以便进行资源迁移。 若要针对资源迁移来注册订阅,请使用以下 PowerShell 代码片段:

    Select-AzSubscription -SubscriptionName <Your Subscription Name>
    Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
    Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
    
  4. 验证、准备和迁移。 若要转移虚拟网络,请使用以下 PowerShell 代码片段:

    Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
    Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
    Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
    

    也可通过运行以下 PowerShell cmdlet 来中止迁移:

    Move-AzureVirtualNetwork -Abort $vnetName
    

后续步骤