Azure Virtual Machine のサイズを取得して1サイズ大きくするPower Shell

 

Azure Virtual Machineのサイズ変更する場合は、同シリーズで1サイズだけ大きくしたりするケースが多いかと思います。汎用的に利用できるように、現在動作しているAzure Virtual Machineのサイズを取得して、同じシリーズで1サイズ大きくするPowerShellを作成してみました。

1 .PowerShellのサンプル(Linux版)

Linux環境のPowerShellでの実行してください。Windows環境で動くものは現在チャレンジ中です。

#Vm one size Up(Linux)

# リソースグループ、VM 名を設定
$ResourceGroupName = “リソースグループ名”
$VmName = “仮想マシン名”

# VM の現在の設定を取得
$VmCfg = get-azvm -ResourceGroupName $ResourceGroupName -Name $VmName

# VM の現在の VM サイズを取得
$VmSize = ( $VmCfg.hardwareprofile | grep Standard |awk ‘{print $1}’)

# 現在の VM サイズと同シリーズの 1 サイズ上の VM サイズを取得
$New_VmSize = “”
$New_VmSize = ( `
Get-AzVMSize -ResourceGroupName $ResourceGroupName -VMName $VmName `
| Sort-Object -property NumberOfCores,MemoryInMB,ResourceDiskSizeInMB `
| grep $VmSize.Substring(0,10) `
| grep -A 1 $VmSize.Substring(0,$VmSize.Length) `
| awk ‘NR== 2 {print $1}’ )

# 一つ上の VM サイズがあるかの確認
if($New_VmSize -eq $null) {

Write-Host ‘一つ上の VM サイズはありません。’

}else{

$vmCfg.HardwareProfile.VmSize = $New_VmSize
Update-AzVM -VM $vmCfg -ResourceGroupName $ResourceGroupName

}

※マイクロソフトサポート様より教えて頂いたサンプルをもとに作成しています。