仮想マシン(Azure VM)の起動停止やステータス確認コマンドを纏めてみた

Azure,PowerShell/Azure CLI,Virtual Machine

 仮想マシン(Azure VM)の起動停止コマンドを聞かれる事があったのでAzure CLIやAzure PowerShellをそれぞれで利用するコマンドを纏めてみました。

Azure CLI
Azure PowerShell

 Azure CLIやAzure PowerShellのインストールについてはこちらを参照ください。

スポンサーリンク

仮想マシンのリストや詳細情報取得時に使うコマンド(Azure CLI、PowerShell)

 仮想マシンのリストや情報取得時に使うコマンド(Azure CLI、Azure PowerShell)を整理してみました。

  Azure CLI Azure PowerShell
仮想マシンのリストを取得する az vm list –output table Get-AzVm
仮想マシンのリストを取得する
(リソースグループ指定)
az vm list –resource-group “リソースグループ名" –output table Get-AzVM -ResourceGroupName “リソースグループ名”
仮想マシンの詳細情報を取得する

サブスクリプション内の仮想マシンすべて
az vm list –show-details

リソースグループ内の仮想マシンすべて
az vm list –resource-group “リソースグループ名" –show-details

az vm show -d –ids $(az vm list –resource-group “リソースグループ名" –query “[].id" -o tsv)

個別の仮想マシン
az vm show –resource-group “リソースグループ名" –name “VM名"

個別の仮想マシン
Get-AzVM -ResourceGroupName “リソースグループ名" -name “VM名"

※Azure CLIの–resource-groupは-g –nameは-nとしても問題ないです。

Azureテナントへのログイン方法はこちらに纏めています。

仮想マシンを起動停止時に使うコマンド(Azure CLI、PowerShell)

  仮想マシンを起動停止時に使うコマンド(Azure CLI、Azure PowerShell)を整理してみました。

  Azure CLI Azure PowerShell
仮想マシンを起動する az vm start –resource-group “リソースグループ名" –name “VM名"

Start-AzVM -ResourceGroupName “リソースグループ名" -Name “VM名"

仮想マシンを停止する
(停止のみ)

az vm stop –resource-group “リソースグループ名" –name “VM名"

Stop-AzVM -ResourceGroupName “リソースグループ名" -Name “VM名" -StayProvisioned

※オプションに-forceをつけると停止の確認メッセージが表示されなくなります。
※-StayProvisionedを付与する事で割り当て解除せずに仮想マシンを停止させる事が出来ます。

仮想マシンを停止する
(割り当て解除)
az vm deallocate –resource-group “リソースグループ名" –name “VM名"

Stop-AzVM -ResourceGroupName “リソースグループ名" -Name “VM名"

※オプションに-forceをつけると停止の確認メッセージが表示されなくなります。

仮想マシンを再起動する

az vm restart –resource-group “リソースグループ名" –name “VM名"

※–forceをつける事で強制再起動されます。

Restart-AzVM -ResourceGroupName “リソースグループ名" -Name “VM名"

仮想マシンを再デプロイする

az vm redeploy –resource-group “リソースグループ名" –name “VM名"

Set-AzVM -Redeploy -ResourceGroupName “リソースグループ名" -Name “VM名"
仮想マシンを再適用する

az vm reapply –resource-group “リソースグループ名" –name “VM名"

Set-AzVM -Reapply -ResourceGroupName “リソースグループ名" -Name “VM名"

※Azure CLIの–resource-groupは-g –nameは-nとしても問題ないです。
※再起動、再デプロイ、再適用の違いについてはマイクロソフト様のブログを参照ください。

仮想マシンのステータス(電源状態)取得時に使うコマンド(Azure CLI、PowerShell)

 仮想マシンのステータス(電源状態)取得時に使うコマンド(Azure CLI、Azure PowerShell)を整理してみました。

  Azure CLI Azure PowerShell
仮想マシンの電源状態を取得する

個別の仮想マシン
az vm get-instance-view –resource-group “リソースグループ名" –name “VM名" –query instanceView.statuses[1] –output table

サブスクリプション内の仮想マシンすべて
Get-AzVM -Status |ft Name,PowerState

リソースグループ内の仮想マシンすべて
Get-AzVM -ResourceGroupName “リソースグループ名” -Status |ft Name,PowerState

個別の仮想マシン
Get-AzVM -ResourceGroupName “リソースグループ名” -name “VM名" -Status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

※Azure CLIの–resource-groupは-g –nameは-nとしても問題ないです。
※ft Name,PowerState(Azure PowerShellの場合)で表示項目を制限しています。

Azure VMステータス(電源状況)と課金状況についてはこちらに記載しています。

PowerShellを使った仮想マシンの情報取得はこちらで実施しています。

Azure CLIを使って仮想マシン起動してステータス(電源状態を確認)

 Azure CLIを使って仮想マシンの停止から起動までを実際にやってみました。それぞれの状態でのステータスも確認しています。
 TEST-VM-01(リソースグループ名:TEST-RG)と言う仮想マシンを使っています。
 仮想マシンのステータスについてはこちらも併せて参照頂ければと。

状態 コマンド実行内容
起動前の仮想マシンステータス

PS C:>az vm get-instance-view –resource-group “TEST-RG" –name “TEST-VM-01" –query instanceView.statuses[1] –output table

Code Level DisplayStatus
———————- ——- —————
PowerState/deallocated Info VM deallocated 

 仮想マシン起動

PS C:>az vm start –resource-group “TEST-RG" –name “TEST-VM-01"

起動後の仮想マシンステータス

PS C:>az vm get-instance-view –resource-group “TEST-RG" –name “TEST-VM-01" –query instanceView.statuses[1] –output table

Code Level DisplayStatus
—————— ——- —————
PowerState/running Info VM running

 仮想マシン停止

PS C:>az vm stop –resource-group “TEST-RG" –name “TEST-VM-01"

停止中の仮想マシンステータス

PS C:>az vm get-instance-view –resource-group “TEST-RG" –name “TEST-VM-01" –query instanceView.statuses[1] –output table

Code Level DisplayStatus
——————- ——- —————
PowerState/stopping Info VM stopping

停止後の仮想マシンステータス

PS C:>az vm get-instance-view –resource-group “TEST-RG" –name “TEST-VM-01" –query instanceView.statuses[1] –output table

Code Level DisplayStatus
———————- ——- —————
PowerState/stopped Info VM stopped 

 仮想マシン割り当て解除

PS C:>az vm deallocate –resource-group “TEST-RG" –name “TEST-VM-01"

割り当て解除中の仮想マシンステータス

PS C:>az vm get-instance-view –resource-group “TEST-RG" –name “TEST-VM-01" –query instanceView.statuses[1] –output table

Code Level DisplayStatus
——————- ——- —————
PowerState/deallocating Info VM deallocating

割り当て解除後の仮想マシンステータス

PS C:>az vm get-instance-view –resource-group “TEST-RG" –name “TEST-VM-01" –query instanceView.statuses[1] –output table

Code Level DisplayStatus
———————- ——- —————
PowerState/deallocated Info VM deallocated 

Azure PowerShellを使って仮想マシン起動してステータス(電源状態を確認)

 Azure PowerShellを使って仮想マシンの停止から起動までを実際にやってみました。それぞれの状態でのステータスも確認しています。
 TEST-VM-01(リソースグループ名:TEST-RG)と言う仮想マシンを使っています。
 仮想マシンのステータスについてはこちらも併せて参照頂ければと。

状態 コマンド実行内容
起動前の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/deallocated

 仮想マシン起動

PS C:>Start-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01"

起動時の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/starting

起動後の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/running

 仮想マシン停止

PS C:>Stop-AzVM -ResourceGroupName “TEST-RG" -Name “TEST-VM-01" -StayProvisioned -force

停止中の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/stopping

停止後の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/stopped

 仮想マシン割り当て解除

PS C:>Stop-AzVM -ResourceGroupName “TEST-RG" -Name “TEST-VM-01" -force

割り当て解除中の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/deallocating

割り当て解除後の仮想マシンステータス

PS C:>Get-AzVM -ResourceGroupName “TEST-RG"-Name “TEST-VM-01″ -status | ft name,@{n="Status"; e={$_.Statuses[1].Code}}

Name Status
—- ——
TEST-VM-01 PowerState/deallocated 

最後に

 今回は仮想マシンの起動停止やステータス確認方法をAzure CLIやAzure PowerShellで整理してみました。
 こんな情報も表示されるんだとか、az stopでは仮想マシンの割り当て解除がされないのかとか非常に勉強になりました。
 今後も色々試してみたいと思います。