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

Azure,PowerShell/Azure CLI,Virtual Machine

仮想マシン(Azure VM)のリソース情報取得から開始、割り当て解除、ステータス確認時に利用するAzure CLI(コマンド)やAzure PowerShell(コマンドレット)のまとめです。
開始から割り当て解除までをステータス確認しながらコマンド(コマンドレット)実行した結果を紹介しています。
仮想マシンの再デプロイや再適用方法、割り当て解除を行わず仮想マシンを停止する場合についても記載しています。

※本記事内では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の使い方についてはこちらで紹介しています。

スポンサーリンク