共用方式為


使用 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版本,請使用 Cmdlet Get-Module -ListAvailable Az Cmdlet。
  • 若要使用應用程式閘道移轉虛擬網路,請先移除閘道,再執行準備作業來移動網路。 完成移轉之後,請重新連線 Azure Resource Manager 中的閘道。
  • 確認您已在本機計算機上安裝傳統和 Az Azure PowerShell 模組。 如需詳細資訊,請參閱 如何安裝和設定 Azure PowerShell
  • 連線至另一個訂用帳戶中 ExpressRoute 線路的 Azure ExpressRoute 閘道無法自動移轉。 在這些情況下,請移除 ExpressRoute 閘道、移轉虛擬網路,然後重新建立閘道。

支援的案例

傳統範本移轉至資源管理員時支援下列情境:

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

  • 傳統虛擬網路的每個雲端服務最多只能包含一個可用性設定組。

  • 包含 Microsoft Entra Domain Services 的傳統虛擬網路。

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

不支援的案例

遷移不支援下列情境:

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

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

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

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

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

  • 從傳統的應用程式閘道移轉至資源管理員。

註冊資源供應商

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

  1. 登入 Azure PowerShell:

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

    Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
    
    

    等候五分鐘,註冊完成。 使用下列命令檢查註冊的狀態:

    Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
    
    

    請確保在您繼續之前,RegistrationStateRegistered

    注意

    註冊是一次性步驟,但您必須先執行一次,才能嘗試移轉。 若未註冊,您會看到下列錯誤訊息:

    BadRequest :訂用帳戶未註冊進行移轉。

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

在本節中,您將登入傳統部署模型 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 的詳細資訊,請參閱: