クラシック環境で作成した 仮想マシン をARM(リソースマネージャー)環境へ移行する方法が公開されましたので、試してみたいと思います。
※仮想マシンを起動した状態で移行できますが、サービス停止前提で実施した方が良さそうです。
以下、PowerShell で実施
ARMにログイン
Login-AzureRmAccount
移行機能の利用を宣言
Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
クラシックにログイン
Add-AzureAccount
【vNetに配置されていない仮想マシンの移行】
$serviceName = “tushigami-MG01″ ※移行対象の仮想マシンを指定
$deployment = Get-AzureDeployment -ServiceName $serviceName
$deploymentName = $deployment.DeploymentName
※移行準備に入ると、クラシック側の仮想マシンは停止(割り当て解除)となります。
仮想マシンをARMへ移行準備 ※ARM側でのvNetを自動作成する場合
Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName -CreateNewVirtualNetwork
仮想マシンをARMへ移行準備 ※ARM側でのvNetを指定する場合
Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName tushigami-group -VirtualNetworkName tushigami-vnet -SubnetName default
移行準備からクラシックへ戻る場合
Move-AzureService -Abort -ServiceName $serviceName -DeploymentName $deploymentName
ARMへの完全移行 ※クラシックへは戻れません。
Move-AzureService -Commit -ServiceName $serviceName -DeploymentName $deploymentName
【vNetに配置されている仮想マシンの移行】
vNetと配置されている仮想マシン全台をARMへ移行準備
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName tushigami-vnet-classic
移行準備からクラシックへ戻る場合
Move-AzureVirtualNetwork -Abort -VirtualNetworkName tushigami-vnet-classic
ARMへの完全移行 ※クラシックへは戻れません。
Move-AzureVirtualNetwork -Commit -VirtualNetworkName tushigami-vnet-classic
【ストレージアカウントの移行】※クラシック仮想マシンを含んでいると移行できません。
Move-AzureStorageAccount -Prepare -StorageAccountName tushigamistorage01
Move-AzureStorageAccount -Abort -StorageAccountName tushigamistorage01
Move-AzureStorageAccount -Commit -StorageAccountName tushigamistorage01
移行後は、
・リソースグループは、仮想マシン単位 [仮想マシン名-migrated]で作成される。
・移行後は、クラシック側の仮想マシンは削除される。
・ストレージアカウントはクラシックのまま利用可能、よってパスに変更無し。
・パブリックIPはロードバランサーに紐付いている。