Azure仮想マシンに拡張機能をインストールしてみた

AzureCLI AzureCLI

AzureCLIを利用してAzure仮想マシンに拡張機能をインストールしてみました。

広告

事前準備

最初に利用できる拡張機能を以下のコマンドで取得します。

az vm extension image list

以下のように出力されるので、必要な拡張機能の名前をメモしておきます。

「az vm extension image list」の実行結果

[参考] 拡張機能の数は4000を超える

ちなみに拡張機能は以下のコマンドで確認してみたところ約4600個ほどありました。

PS C:\> $ex_list =  az vm extension image list | ConvertFrom-Json
PS C:\> $ex_list.Count
4592

なので、以下のコマンドなどで取得したい拡張機能を絞ることをお勧めします。

$ex_list =  az vm extension image list | ConvertFrom-Json
$ex_list | where {$_.name -like "*monitor*" }

上記では「monitor」という文字列を含む拡張機能名に絞って表示します。

拡張機能をインストールする

以下のコマンドで拡張機能をインストールします。

az vm extension set `
 --subscription <サブスクリプション名>`
 --resource-group <リソースグループ名>`
 --vm-name <仮想マシン名>`
 --name <拡張機能名>`
 --publisher <拡張機能の発行元名>

記載例

az vm extension set `
 --subscription TestSub02 `
 --resource-group Test-RG `
 --vm-name test-vm-02 `
 --name NetworkWatcherAgentWindows `
 --publisher Microsoft.Azure.NetworkWatcher

上記の例では「NetworkWatcherAgentWindows」をインストールしています。

また、今回はインターフェースとしてPowershellを利用しているので、改行する際には ` を利用していますが、コマンドプロンプトを利用する場合には、^ を利用する必要がありますのでその点は注意してください。

既存でインストールされている拡張機能を確認する場合には以下のコマンドを利用します。

az vm extension list `
 --subscription TestSub02 `
 --resource-group Test-RG `
 --vm-name test-vm-02

拡張機能を削除する

拡張機能を削除する場合には以下のコマンドを実行します。

az vm extension delete `
 --subscription <サブスクリプション名>`
 --resource-group <リソースグループ名>`
 --vm-name <仮想マシン名>`
 --name <拡張機能名>

記載例

az vm extension delete `
 --subscription TestSub02 `
 --resource-group Test-RG `
 --vm-name test-vm-02 `
 --name NetworkWatcherAgentWindows

[参考] 仮想マシンが起動状態でないと拡張機能操作はできない

仮想マシンが起動状態でないと拡張機能のインストールやアンインストールができません。

以下のように「Cannot modify extensions in the VM when the VM is not running.」と表示されてコマンドを実行できません。

「Cannot modify extensions in the VM when the VM is not running.」と表示されてコマンドを実行できない
タイトルとURLをコピーしました