共用方式為


使用 Azure PowerShell 將 Azure 虛擬網路從傳統模型移轉至 Resource Manager

在本文中,您將了解如何從傳統部署模型移轉至較新的 Resource Manager 部署模型。

一次可將一個虛擬網路從傳統模型移轉至 Resource Manager。 除了要求使用 Azure PowerShell 外,移轉不需要其他工具或先決條件。 移轉作業是虛擬網路資源的控制平面移轉。 進行移轉期間不會發生資料路徑停機。 移轉過程中,現有的工作負載會繼續運作,不會失去連線能力。 任何與虛擬網路相關聯的公用 IP 位址,在移轉過程中都不會變更。

完成移轉時,必須使用 Resource Manager 模型來執行所有管理作業。 管理作業只能透過 Resource Manager 部署模型來存取。 子網路或虛擬網路資源變更將無法再透過舊的部署模型使用。

將虛擬網路從傳統模型移轉至 Resource Manager 模型時,虛擬網路內支援的資源會自動移轉至新的模型。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立一個
  • 本文中的步驟和範例使用 Azure PowerShell Az 模組。 若要在您的電腦本機上安裝 Az 模組,請參閱安裝 Azure PowerShell。 若要深入了解新的 Az 模組,請參閱新的 Azure PowerShell Az 模組簡介。 PowerShell Cmdlet 會經常更新。 如果您執行的不是最新版本,指示中指定的值可能會失敗。 若要查看您的系統上所安裝的 PowerShell 版本,請使用 Get-Module -ListAvailable Az Cmdlet。
  • 若要使用應用程式閘道來移轉虛擬網路,請先移除閘道,再執行移動網路的準備作業。 在完成移轉之後,於 Azure Resource Manager 中重新連接閘道。
  • 確認傳統和 Az Azure PowerShell 模組都已安裝在電腦本機上。 如需詳細資訊,請參閱 如何安裝及設定 Azure PowerShell
  • 如果 Azure ExpressRoute 閘道連線至另一個訂用帳戶中的 ExpressRoute 線路,就無法自動移轉。 在這類情況下,請移除 ExpressRoute 閘道,移轉虛擬網路,然後重新建立閘道。

支援的案例

傳統模組移轉至 Resource Manager 的作業支援下列案例:

  • 包含虛擬機器的傳統虛擬網路。

  • 傳統虛擬網路,每個雲端服務最多一個可用性設定組。

  • 包含 Microsoft Entra 網域服務的傳統虛擬網路。

  • 具有單一 VPN 閘道或單一 Express Route 線路的傳統虛擬網路。

不支援的情節

以下是不支援移轉的案例:

  • 管理傳統部署模型中虛擬網路的生命週期。

  • 傳統部署模型的 Azure 角色型存取控制支援。

  • 使用 ExpressRoute 閘道和 VPN 閘道的虛擬網路移轉。

  • 在單一雲端服務中移轉具有多個可用性設定組的虛擬網路。

  • 虛擬網路移轉,內含一或多個可用性設定組和不在單一雲端服務中可用性設定組中的虛擬機器。

  • 從傳統到 Resource Manager 的應用程式閘道移轉。

註冊資源提供者

在本節中,您將使用 Resource Manager Cmdlet 登入訂用帳戶,並註冊移轉資源提供者。

  1. 登入 Azure PowerShell:

    Connect-AzAccount
    
    
  2. 註冊移轉資源提供者:

    Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
    
    

    請等候 5 分鐘待註冊完成。 使用下列命令來檢查註冊狀態:

    Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
    
    

    請先確定 RegistrationStateRegistered,再繼續進行。

    注意

    註冊是一次性步驟,但您必須在嘗試移轉之前完成。 如果沒有註冊,您會看到下列錯誤訊息:

    不正確的要求︰訂用帳戶未針對移轉進行註冊。

擷取要移轉的虛擬網路名稱

在本節中,您將登入傳統部署模型 PowerShell,並擷取要移轉之虛擬網路的名稱。

  1. 登入傳統部署 PowerShell:

    Add-AzureAccount
    
    
  2. 執行下列命令,擷取傳統虛擬網路名稱:

    Get-AzureVnetSite | Select -Property Name
    
    

請記下這個虛擬網路名稱,留待下一節使用。

移轉虛擬網路

在本節中,您將驗證移轉是否可繼續進行,然後準備移轉作業。

  1. 將您在上一節中記下的虛擬網路名稱放入變數中,供命令使用。 將 myVNet 取代為您在上一節擷取的虛擬網路名稱:

    $vnetname = "myVNet"
    
    
  2. 執行下列命令,驗證您是否可以移轉虛擬網路︰

    Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
    
    

    此命令會顯示阻擋移轉的任何警告或錯誤。 如果驗證成功,就可以繼續進行下列準備步驟。

    注意

    如果虛擬網路包含 Web 或背景工作角色,或有具備不支援之設定的虛擬機器,您就會收到驗證錯誤訊息。

  3. 執行下列命令,為虛擬網路準備移轉作業:

    Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
    
    

    如果您尚未準備好進行移轉,而想要回到舊有狀態,請使用下列命令:

    Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
    

認可移轉

如果備妥的設定看起來全部就緒,您可以執行下列命令來認可移轉:

Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

下一步

如需將 Azure 中的資源從傳統模組移轉至 Resource Manager 的詳細資訊,請參閱: