Windows VM のサイズ変更Resize a Windows VM

この記事では、VM を別の VM サイズに移行する方法について説明します。This article shows you how to move a VM to a different VM size.

仮想マシン (VM) を作成した後、VM のサイズを変更することで、VM をスケールアップまたはスケールダウンできます。After you create a virtual machine (VM), you can scale the VM up or down by changing the VM size. 場合によっては、先に VM の割り当てを解除する必要があります。In some cases, you must deallocate the VM first. これは、現在 VM をホストしているハードウェア クラスターで新しいサイズを使用できない場合に発生する可能性があります。This can happen if the new size is not available on the hardware cluster that is currently hosting the VM.

VM が Premium Storage を使用している場合、Premium Storage のサポートを受けるには、s バージョンのサイズを選択する必要があります。If your VM uses Premium Storage, make sure that you choose an s version of the size to get Premium Storage support. たとえば、Standard_E4_v3 ではなく Standard_E4s_v3 を選択します。For example, choose Standard_E4s_v3 instead of Standard_E4_v3.

ポータルの使用Use the portal

  1. Azure Portalを開きます。Open the Azure portal.
  2. 仮想マシンのページを開きます。Open the page for the virtual machine.
  3. 左側のメニューで [サイズ] を選択します。In the left menu, select Size.
  4. 利用可能なサイズの一覧から新しいサイズを選択し、 [サイズ変更] をクリックします。Pick a new size from the list of available sizes and then select Resize.

仮想マシンが現在実行されている場合、そのサイズを変更すると、再起動されます。If the virtual machine is currently running, changing its size will cause it to be restarted. 仮想マシンを停止すると、追加のサイズが表示される場合があります。Stopping the virtual machine may reveal additional sizes.

PowerShell を使用して可用性セット内にない VM のサイズを変更するUse PowerShell to resize a VM not in an availability set

変数をいくつか設定します。Set some variables. 値は実際の値に変更してください。Replace the values with your own information.

$resourceGroup = "myResourceGroup"
$vmName = "myVM"

VM がホストされているハードウェア クラスターで使用できる VM のサイズを一覧表示します。List the VM sizes that are available on the hardware cluster where the VM is hosted.

Get-AzVMSize -ResourceGroupName $resourceGroup -VMName $vmName 

目的のサイズが表示される場合は、次のコマンドを実行して VM のサイズを変更します。If the size you want is listed, run the following commands to resize the VM. 目的のサイズが表示されない場合は、手順 3. に進みます。If the desired size is not listed, go on to step 3.

$vm = Get-AzVM -ResourceGroupName $resourceGroup -VMName $vmName
$vm.HardwareProfile.VmSize = "<newVMsize>"
Update-AzVM -VM $vm -ResourceGroupName $resourceGroup

目的のサイズが表示されない場合は、次のコマンドを実行して VM の割り当てを解除します。その後、VM のサイズを変更して、再起動します。If the size you want is not listed, run the following commands to deallocate the VM, resize it, and restart the VM. <newVMsize> を目的のサイズに置き換えます。Replace <newVMsize> with the size you want.

Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
$vm = Get-AzVM -ResourceGroupName $resourceGroup -VMName $vmName
$vm.HardwareProfile.VmSize = "<newVMSize>"
Update-AzVM -VM $vm -ResourceGroupName $resourceGroup
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName

警告

VM の割り当てを解除すると、VM に割り当てられているすべての動的 IP アドレスが解放されます。Deallocating the VM releases any dynamic IP addresses assigned to the VM. OS とデータ ディスクには影響しません。The OS and data disks are not affected.

PowerShell を使用して可用性セット内の VM のサイズを変更するUse PowerShell to resize a VM in an availability set

現在 VM をホストしているハードウェア クラスターで可用性セット内の VM の新しいサイズを使用できない場合、可用性セット内のすべての VM の割り当てを解除して、VM のサイズを変更する必要があります。If the new size for a VM in an availability set is not available on the hardware cluster currently hosting the VM, then all VMs in the availability set will need to be deallocated to resize the VM. また、1 つの VM のサイズを変更した後、可用性セット内の他の VM のサイズを更新する必要がある場合もあります。You also might need to update the size of other VMs in the availability set after one VM has been resized. 可用性セット内の VM のサイズを変更するには、次の手順を実行します。To resize a VM in an availability set, perform the following steps.

$resourceGroup = "myResourceGroup"
$vmName = "myVM"

VM がホストされているハードウェア クラスターで使用できる VM のサイズを一覧表示します。List the VM sizes that are available on the hardware cluster where the VM is hosted.

Get-AzVMSize -ResourceGroupName $resourceGroup -VMName $vmName 

目的のサイズが表示される場合は、次のコマンドを実行して VM のサイズを変更します。If the desired size is listed, run the following commands to resize the VM. 表示されない場合は、次のセクションに進みます。If it is not listed, go to the next section.

$vm = Get-AzVM -ResourceGroupName $resourceGroup -VMName $vmName 
$vm.HardwareProfile.VmSize = "<newVmSize>"
Update-AzVM -VM $vm -ResourceGroupName $resourceGroup

目的のサイズが表示されない場合は、次の手順を続行して、可用性セット内のすべての VM の割り当てを解除し、VM のサイズを変更してから再起動します。If the size you want is not listed, continue with the following steps to deallocate all VMs in the availability set, resize VMs, and restart them.

可用性セット内のすべての VM を停止します。Stop all VMs in the availability set.

$as = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup
$vmIds = $as.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
    $string = $vmID.Id.Split("/")
    $vmName = $string[8]
    Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
    } 

可用性セット内の VM のサイズを変更して、再起動します。Resize and restart the VMs in the availability set.

$newSize = "<newVmSize>"
$as = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup
$vmIds = $as.VirtualMachinesReferences
  foreach ($vmId in $vmIDs){
    $string = $vmID.Id.Split("/")
    $vmName = $string[8]
    $vm = Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName
    $vm.HardwareProfile.VmSize = $newSize
    Update-AzVM -ResourceGroupName $resourceGroup -VM $vm
    Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
    }

次のステップNext steps

スケーラビリティを高めるには、複数の VM インスタンスを実行してスケール アウトします。詳細については、仮想マシン スケール セットでのマシンの自動スケールに関するページを参照してください。For additional scalability, run multiple VM instances and scale out. For more information, see Automatically scale Windows machines in a Virtual Machine Scale Set.