Azure VMの操作(開始/割り当て解除)、情報取得、ステータス確認コマンド一覧(Azure CLIとPowerShell)

Azure,PowerShell/Azure CLI,Virtual Machines

仮想マシン(Azure VM)のリソース情報取得から開始、割り当て解除、ステータス確認時に利用するAzure CLI(コマンド)やAzure PowerShell(コマンドレット)の一覧です。

仮想マシンの開始から割り当て解除まで、一連の流れを1つずつコマンドの実行結果を確認しながら実行しています。
また、仮想マシンの再デプロイや再適用方法、割り当て解除せずに仮想マシンを停止する場合についても紹介しています。

※本記事内では、Azure Virtual Machines(Azure VM)を仮想マシンと表記しています。

スポンサーリンク

仮想マシンのリソース情報取得や開始、停止、ステータス確認に使うコマンド一覧

Azure CLIやAzure PowerShellに関する公式ドキュメントはこちらです。

Azure CLI
Azure 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 CLIおよびAzure 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および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と略記して使用できます。
※Azure PowerShellでは、ft(Format-Table)コマンドレットを利用して、表示項目をNameとPowerStateのみにしています。

仮想マシンのステータスと課金の関係については、こちらで紹介しています。
ステータスと課金発生状況を一覧形式で紹介しています。
割り当て解除忘れ対策も紹介しています。

Azure PowerShellを使用して、仮想マシンのステータス、IPアドレス、ディスク設定を一括で取得する方法を紹介しています。

PowerShellのRunbookを利用して仮想マシンを起動する方法については、こちらで紹介しています。

Logic Appsを利用した仮想マシンの起動方法についてはこちらで紹介しています。

—広告—

仮想マシンの起動から停止までをステータスを確認しながらコマンドを実行

Azure CLIの場合

仮想マシンの開始から割り当て解除まで、一連の流れを1つずつコマンドの実行結果を確認しながら実行します。
コマンドの実行と同時に、仮想マシンのステータスも確認します。

※デプロイ済みの仮想マシン(ホスト名: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の場合

仮想マシンの開始から割り当て解除まで、一連の流れを1つずつコマンドレットの実行結果を確認しながら実行します。
コマンドの実行と同時に、仮想マシンのステータスも確認します。

※デプロイ済みの仮想マシン(ホスト名: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(コマンドレット)をまとめました。
再適用や再デプロイのコマンドについても掲載しています。運用時によく利用するため、一覧表として整理しています。
Azure CLIの場合、電源オフと割り当て解除ではコマンドが異なるため、注意が必要です。

引き続き、いろいろ試してみたいと思います。

Azureへのサインイン方法については、こちらで紹介しています。
Azure CLIやAzure PowerShellでのサインイン方法、サブスクリプションの切り替え手順も紹介しています。

VS CodeへのAzure CLIやAzure PowerShellのインストール手順については、こちらで紹介しています。

Rocky LinuxへのAzure PowerShellやAzure CLIのインストール手順については、こちらで紹介しています。

Azure Cloud Shellの使い方については、こちらで紹介しています。

スポンサーリンク