在本文中,您將瞭解如何從傳統部署模型移轉至較新的 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 登入訂用帳戶,並註冊移轉資源提供者。
登入 Azure PowerShell:
Connect-AzAccount
註冊移轉資源提供者:
Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
等候五分鐘,註冊完成。 使用下列命令檢查註冊的狀態:
Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
請確保在您繼續之前,RegistrationState 是
Registered
。注意
註冊是一次性步驟,但您必須先執行一次,才能嘗試移轉。 若未註冊,您會看到下列錯誤訊息:
BadRequest :訂用帳戶未註冊進行移轉。
擷取要移轉的虛擬網路名稱
在本節中,您將登入傳統部署模型 PowerShell,並擷取要移轉的虛擬網路名稱。
登入傳統部署PowerShell:
Add-AzureAccount
執行下列命令以擷取傳統虛擬網路名稱:
Get-AzureVnetSite | Select -Property Name
記下下一節的虛擬網路名稱。
移轉虛擬網路
在本節中,您將驗證移轉可以繼續進行,然後準備移轉。
將您在上一節記下的虛擬網路名稱放入變數中,以供命令使用。 以您在上一節中擷取的虛擬網路名稱取代 myVNet:
$vnetname = "myVNet"
執行下列命令來驗證您可以移轉虛擬網路:
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
此命令會顯示任何封鎖移轉的警告或錯誤。 如果驗證成功,您可以繼續進行下列準備步驟。
注意
如果虛擬網路包含 Web 或背景工作角色,或具有不支援設定的虛擬機,您會收到驗證錯誤訊息。
執行下列命令來準備虛擬網路以進行移轉:
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
如果您尚未準備好進行移轉,而且想要回到舊狀態,請使用下列命令:
Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
提交移轉
如果備妥的組態中一切看起來都不錯,您可以執行下列命令來認可移轉:
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
後續步驟
如需將 Azure 中的資源從傳統移轉至 Resource Manager 的詳細資訊,請參閱: