使用 PowerShell 遷移至 Azure 雲端服務 (延伸支援)

這些步驟顯示如何使用 Azure PowerShell 命令,以從雲端服務 (傳統) 移轉至雲端服務 (擴充支援)

1) 規劃移轉

規劃是成功移轉體驗的最重要步驟。 在開始任何移轉步驟之前,請檢閱雲端服務 (擴充支援) 概觀規劃將 IaaS 資源從傳統移轉至 Azure Resource Manager

2) 安裝最新版 PowerShell

Azure PowerShell 的主要安裝選項有兩個:PowerShell 資源庫Web Platform Installer (WebPI)。 WebPI 接收每月更新。 PowerShell 資源庫則是持續接收更新。 本文是以 Azure PowerShell 2.1.0 為基礎。

如需安裝指示,請參閱 如何安裝和設定 Azure PowerShell

3) 確定管理員權限

若要執行此移轉,必須在 Azure 入口網站中將您新增為訂用帳戶的共同管理員。

  1. 登入 Azure 入口網站
  2. 在 [中樞] 功能表上,選取 [訂用帳戶]。 如果您沒有看到,請選取 [所有服務]
  3. 尋找適當的訂用帳戶項目,然後查看 [我的角色] 欄位。 對於共同管理員而言,這個值應該是 [帳戶管理員]

如果您無法新增共同管理員,請連絡服務管理員或訂用帳戶的共同管理員,以將您新增為共同管理員。

4) 註冊傳統提供者和 CloudService 功能

首先,開啟 PowerShell 提示字元。 針對移轉,請為傳統和 Resource Manager 模型設定您的環境。

登入您的 Resource Manager 模型帳戶。

Connect-AzAccount

請使用下列命令來取得可用的訂用帳戶:

Get-AzSubscription | Sort Name | Select Name

設定目前工作階段的 Azure 訂用帳戶。 這個範例會將預設訂用帳戶名稱設定為 [我的 Azure 訂用帳戶]。 將範例訂用帳戶名稱取代為您自己的名稱。

Select-AzSubscription –SubscriptionName "My Azure Subscription"

請使用下列命令向移轉資源提供者註冊:

Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

注意

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

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

註冊訂用帳戶的 CloudServices 功能。 註冊可能需要數分鐘的時間才能完成。

Register-AzProviderFeature -FeatureName CloudServices -ProviderNamespace Microsoft.Compute

請等候 5 分鐘待註冊完成。

使用下列命令,來檢查傳統提供者核准的狀態:

Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

使用下列命令,來檢查註冊的狀態:

Get-AzProviderFeature -FeatureName CloudServices -ProviderNamespace Microsoft.Compute

先確定兩者的 RegistrationState 都是 Registered,再繼續進行。

在切換至傳統部署模型之前,請確定您在目前部署或虛擬網路的 Azure 區域中有足夠的 Azure Resource Manager vCPU 配額。 您可以使用下列 PowerShell 命令來檢查您目前在 Azure Resource Manager 中擁有的 vCPU 數目。 若要深入了解 vCPU 配額,請參閱限制和 Azure Resource Manager

此範例會檢查美國西部區域的可用性。 將範例區域名稱取代為您自己的名稱。

Get-AzVMUsage -Location "West US"

現在,登入您的傳統部署模型帳戶。

Add-AzureAccount

請使用下列命令來取得可用的訂用帳戶:

Get-AzureSubscription | Sort SubscriptionName | Select SubscriptionName

設定目前工作階段的 Azure 訂用帳戶。 這個範例會將預設訂用帳戶設定為 [我的 Azure 訂用帳戶]。 將範例訂用帳戶名稱取代為您自己的名稱。

Select-AzureSubscription –SubscriptionName "My Azure Subscription"

5) 移轉您的雲端服務

開始移轉之前,請先了解移轉步驟的運作方式,以及每個步驟的作用。

注意

下述所有作業都是等冪的。 如果您有不支援的功能或組態錯誤以外的任何問題,建議您重新嘗試準備、中止或認可作業。 平台將會重新嘗試該動作。

5.1) 選項 1 - 移轉不在虛擬網路中的雲端服務

使用下列命令取得雲端服務清單。 然後挑選您想要移轉的雲端服務。

Get-AzureService | ft Servicename

取得雲端服務的部署名稱。 在此範例中,服務名稱是 My Service。 將範例服務名稱取代為您自己的服務名稱。

$serviceName = "My Service"
$deployment = Get-AzureDeployment -ServiceName $serviceName
$deploymentName = $deployment.DeploymentName

首先,使用下列命令來驗證您是否可以移轉雲端服務。 此命令會顯示任何可封鎖移轉的錯誤。

$validate = Move-AzureService -Validate -ServiceName $serviceName -DeploymentName $deploymentName -CreateNewVirtualNetwork
$validate.ValidationMessages

如果驗證成功或只有警告,則您可以繼續進行 [準備] 步驟。

Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName -CreateNewVirtualNetwork

使用 Azure PowerShell 或 Azure 入口網站來檢查已備妥雲端服務 (擴充支援) 的設定。 如果您尚未準備好進行移轉,而且想要返回舊狀態,則請中止移轉。

Move-AzureService -Abort -ServiceName $serviceName -DeploymentName $deploymentName

如果您準備好完成移轉,則請認可移轉

Move-AzureService -Commit -ServiceName $serviceName -DeploymentName $deploymentName

5.1) 選項 2 - 移轉虛擬網路中的雲端服務

若要移轉虛擬網路中的雲端服務,請移轉虛擬網路。 雲端服務會自動使用虛擬網路進行移轉。

注意

虛擬網路名稱可能與新入口網站中顯示的名稱不同。 新 Azure 入口網站會將名稱顯示為 [vnet-name],但實際虛擬網路名稱類型為 Group [resource-group-name] [vnet-name]。 在開始移轉之前,請使用 Get-AzureVnetSite | Select -Property Name 命令查閱實際虛擬網路名稱,或在舊的 Azure 入口網站中檢視它。

這個範例會將虛擬網路名稱設定為 myVnet。 將範例虛擬網路名稱取代為您自己的名稱。

$vnetName = "myVnet"

首先,請使用下列命令來驗證您是否可以移轉虛擬網路︰

Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName

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

Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName

使用 Azure PowerShell 或 Azure 入口網站來檢查已備妥雲端服務 (擴充支援) 的設定。 如果您尚未準備好進行移轉,而想要回到舊有狀態,請使用下列命令:

Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName

如果備妥的組態看起來沒問題,您就可以繼續進行並使用下列命令來認可資源:

Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

下一步

檢閱移轉後變更一節,以查看部署檔案、自動化和其他新雲端服務 (擴充支援) 部署屬性的變更。