Azure VMをサイズ取得して1つサイズアップするPowerShell

Azure,PowerShell/Azure CLI,Virtual Machine

今回は、Azure VMのサイズ変更をPowerShellでやってみました。

Azure VMのサイズ変更する場合には、同シリーズで1サイズだけ大きくしたりするケースが多いかと思います。

現在動作しているAzure VMのサイズを取得して、同じシリーズで1サイズ大きくするPowerShellを作成してみました。(PowerShellはLinux環境での実行を想定しています。)

Cent OSでのPowerShellセットアップはこちらを参考にして頂ければと。

スポンサーリンク

現在動作しているAzure VMのサイズを取得して1サイズ上げるPowerShell

まず最初に現在動作しているAzure VMのシリーズやサイズを取得しています。その次に同じシリーズのサイズを確認して1サイズアップしています。

Cent OS環境のPowerShellでの実行を想定しています。

#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

}

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

スポンサーリンク