Azure PowerShellを使ってVMを作成する
はじめに
こちらの記事にて、Azure CLIを使ってイメージの詳細を固定したVMの作成方法を紹介いたしました。
こちらは、Azure PowerShellを用いた方法となります。
イメージを選択する
AzureVMを作成する場合、まずはイメージの選択から始まります。
AzureVMのイメージでは、以下の四つを決定する決める必要があります。
・Publisher: イメージの提供元
・Offer(Plan): イメージの提供元によって分類されたイメージの区分
・SKU: ディストリビューションのメジャー リリースなど、Offer(plan)のインスタンス
・バージョン: 個別イメージのバージョン(ビルド情報など)
仮想マシンのイメージ指定の際は、これら四つの情報をコロン(:)で繋いだ情報を用いて指定します。
AzurePowerShellではこれら四つの情報を一つずつ、コマンドレットを叩いて順番に取得することで、設定します。
以下では、イメージを指定するために、それぞれの情報を検索する方法をご紹介します。
Publisherを検索する
Get-AzVMImagePublisher -Location <リージョン名>
まず、上記コマンドを用いて、ご利用のリージョンで指定可能なPublisher情報を取得します。
PS /Users/yohei/work/testapp> Get-AzVMImagePublisher -Location japaneast
PublisherName Location Id
------------- -------- --
<中略>
MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-
MicrosoftWindowsServer japaneast /Subscriptions/XXXXXXXX-
<中略>
例えば、WindowsDesktopOSを利用したい場合、上記結果のMicrosoftWindowsDesktopを選択します。
Offerを検索する
次に、Offerを調べます。Offerは大体、OSのバージョンに位置します。
こちらは、Get-AzVMImageOfferコマンドレットを利用します。
PS > Get-AzVMImageOffer -Location <リージョン名> -PublisherName MicrosoftWindowsDesktop
Offer PublisherName Location Id
----- ------------- -------- --
<中略>
windows-10-ppe MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXXX..../Providers/Microsoft.Compute/Locations…
windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXXX..../Providers/Microsoft.Compute/Locations…
<中略>
PS >
これにより、Offer(OSのバージョン)までが確定します。
Windowsの場合は、Publisherが少しわかりづらいので、必要なOSがOfferで出てこない場合は、それっぽいPublisherに変更して、再度探してみる必要があります。
SKUを検索する
これは、OSのマイナーバージョンを検索するようなイメージです。Windows10やWindows11で言うと、20H2や21H1, 21H2を選択するようなイメージです。
こちらは、Get-AzVMImageSkuコマンドレットを利用します。
PS > Get-AzVMImageSku -Location <リージョン名> -PublisherName MicrosoftWindowsDesktop -Offer Windows-11
Skus Offer PublisherName Location Id
---- ----- ------------- -------- --
win11-21h2-avd Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-..../Providers/Microsoft.Compute/Locations/japaneast/Publishers/Mi…
win11-21h2-ent Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-..../Providers/Microsoft.Compute/Locations/japaneast/Publishers/Mi…
win11-21h2-entn Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-..../Providers/Microsoft.Compute/Locations/japaneast/Publishers/Mi…
win11-21h2-pro Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-..../Providers/Microsoft.Compute/Locations/japaneast/Publishers/Mi…
win11-21h2-pro-zh-cn Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-..../Providers/Microsoft.Compute/Locations/japaneast/Publishers/Mi…
win11-21h2-pron Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-..../Providers/Microsoft.Compute/Locations/japaneast/Publishers/Mi…
PS >
例えば、Windows11 Enterprise Edition 21h2を利用する場合は、win11-21h2-entとなります。
バージョンを選択する
最後にバージョンを指定することで、細かいビルドを指定します。
特にビルドは拘らないから、最新のものと言う方は、latestを指定することも可能です。
PS > Get-AzVMImage -PublisherName MicrosoftWindowsDesktop -Offer Windows-11 -Skus win11-21h2-ent -Location <リージョン名>
Version Skus Offer PublisherName Location Id
------- ---- ----- ------------- -------- --
22000.438.220116 win11-21h2-ent Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-....../Providers/Microsoft.Compute/Locations/japaneast/Pu…
22000.493.220201 win11-21h2-ent Windows-11 MicrosoftWindowsDesktop japaneast /Subscriptions/XXXXXXXX-....../Providers/Microsoft.Compute/Locations/japaneast/Pu…
PS >
例えば、以降の作業では、バージョン22000.438.220116を指定してみようと思います。
実際にVMを作成する
実際にイメージを指定したVMの作成をしていきます。
今回は、以下の情報でVMを作成します。
・Publisher: MicrosoftWindowsDesktop
・Offer(Plan): Windows-11
・SKU: win11-21h2-ent
・バージョン: 22000.438.220116
そのため、VM作成時に指定するVMのイメージ情報は以下の以下のような形となります。
MicrosoftWindowsDesktop:Windows-11:win11-21h2-ent:2000.438.220116
上記のイメージを指定して、VMを作成してみます。
PS > New-AzVM -Location japaneast -ResourceGroupName rg-test -Name vm-test -Image "MicrosoftWindowsDesktop:Windows-11:win11-21h2-ent:22000.438.220116"
cmdlet New-AzVM at command pipeline position 1
Supply values for the following parameters:
Credential
User: adminuser
Password for user adminuser: ************
No Size value has been provided. The VM will be created with the default size Standard_D2s_v3.
ResourceGroupName : rg-test
Id : /subscriptions/d76ce56a-2c1f-405e-a670-19627b182404/resourceGroups/rg-test/providers/Microsoft.Compute/virtualMachines/vm-test
VmId : 6f9c8ffa-44fc-453a-bb8e-4d7a3b1c60f4
Name : vm-test
Type : Microsoft.Compute/virtualMachines
Location : japaneast
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : vm-test-661af5.japaneast.cloudapp.azure.com
PS >
上記のように、イメージ以外は、デフォルト値ですが、VMImageを指定してのVM作成が完了しました。
下記のように今回指定したOS Build(2000.438)でVMが構築されていることが確認できます。
※Windowsの場合は、Versionとビルドが一致しますが、他のOSでは異なる可能性もあります。
まとめ
今回は、VMのイメージを選択する方法を記載いたしました。
VMのサイズは今回説明したものと同様、AzurePowerShellコマンドレットで情報を調べて、New-AzVMのオプションとして指定することで作成可能ですが、OSディスクの種類(Standard SSDやHDD)の選択では、もう少し細かい選択方法をしているする必要があります。
次回は、こちらについて設定する方法についてご紹介予定です。
参考
この記事が気に入ったらサポートをしてみませんか?