こんにちは。Azureサポートチームです。
この記事では、VM イメージ バージョンを指定して VM を作成する方法についてご紹介します。
通常、Marketplace から VM を作成すると、最新のバージョン (latest) が既定で作成されます。
ここで Azure Marketplace の Windows Server イメージを例にとると、以下のドキュメントに示す通り毎月最新のパッチがリリースされていることを確認いただくことができます。
通常、最新のセキュリティパッチが適用されたイメージをご利用いただくことが一般的かと存じます。しかし、お客様によっては何らかの理由により最新のセキュリティ更新プログラムが適用されていない VM を作成する必要がある場合もあるかと存じます。
そのような場合には、VM イメージ バージョンを指定して VM をデプロイすることができます。
例えば、2023 年 10 月時点の Windows Server バージョン 2022 のイメージをデプロイする場合は「2023 年 10 月の Windows Server イメージ - Microsoft サポート」に記載されているバージョン「20348.2031.231006」を指定して VM を作成するという手順となります。
本記事では、VM 作成時にイメージ バージョンを指定する手順について説明します。
概要
下記手順にそって VM イメージ バージョンを指定し、VM をデプロイします。
大まかな流れ
- イメージを検索する
1-1. Azure CLI を使用して VM イメージを検索する
1-2. PowerShell を使用して VM イメージを検索する - Azure Portal より ARM テンプレートを用意する
- VM バージョンを指定する
- VM をデプロイする
- 指定したバージョンで作成できたかを確認する
実際の手順
それでは、上記の大まかな流れに沿って実際の手順をやってみましょう。
1. VM イメージを検索する
この項では、必要なバージョンの VM イメージを検索する手順について説明します。最新のバージョンでない VM イメージは、Azure Marketplace からは検索できず、 Azure CLI または PowerShell を使用して検索する必要があります。
VM イメージを検索するには、次の 4 つの属性を指定する必要があります。
属性 | 意味 | 説明 | 例 |
---|---|---|---|
Publisher | 発行元 | イメージを作成した組織 | Canonical、MicrosoftWindowsServer |
Offer | プラン | 発行元によって作成された関連するイメージのグループ名 | UbuntuServer、WindowsServer |
Sku | SKU | ディストリビューションのメジャー リリースなど、 プランのインスタンス |
18.04-LTS、2019-Datacenter |
Version | バージョン | イメージの SKU のバージョン番号 | 20348.2031.231006、latest |
この記事では、次の属性の例に基づいて東日本リージョンから 2023 年 10 月の Windows Server イメージを検索し、VM をデプロイします。
属性 | 意味 | 後述の検索の結果、今回利用する値 |
---|---|---|
Publisher | 発行元 | MicrosoftWindowsServer |
Offer | プラン | WindowsServer |
Sku | SKU | 2022-datacenter-azure-edition |
Version | バージョン | 20348.2031.231006 |
1-1. Azure CLI を使用して VM イメージを検索する
基本的には、「Azure CLI を使用して Azure Marketplace イメージ情報を検索する」のドキュメントにある通りの手順で検索します。
1. Publisher を指定して、Offer を一覧表示します。
1 | az vm image list-offers --location <リージョン> --publisher <発行元> --output table |
コマンド実行例:
1 | az vm image list-offers --location japaneast --publisher MicrosoftWindowsServer --output table |
以下が実際に実行した結果です。指定した Publisher 内の Offer の一覧が表示されました。
1 | Location Name |
次に、確認した Offer を指定してその Offer 内の Sku の一覧を表示します。
2. Publisher、Offer を指定して、Sku を一覧表示します。
1 | az vm image list-skus --location <リージョン> --publisher <発行元> --offer <プラン> --output table |
コマンド実行例:
1 | az vm image list-skus --location japaneast --publisher MicrosoftWindowsServer --offer WindowsServer --output table |
以下が実際に実行した結果の一部です。指定した Offer 内の Sku の一覧が表示されました。
1 | Location Name |
東日本リージョンに 2022-datacenter-azure-edition の Sku が存在することが確認できたので、次に、その Sku を指定して、Sku 内の Version を一覧表示します。
3. Publisher、Offer、Sku を指定して、Version を一覧表示します。
1 | az vm image list --location <リージョン> --publisher <発行元> --offer <プラン> --sku <SKU> --all --output table |
コマンド実行例:
1 | az vm image list --location japaneast --publisher MicrosoftWindowsServer --offer WindowsServer --sku 2022-datacenter-azure-edition --all --output table |
以下が実際に実行した結果の一部です。
1 | Architecture Offer Publisher Sku Urn Version |
Version 20348.2031.231006 のイメージが存在することが確認できたので、次に VM をデプロイします。「2. Azure Portal より ARM テンプレートを用意する」以降の手順を実施します。
1-2. PowerShell を使用して VM イメージを検索する
基本的には、「Azure PowerShell を使用して Azure Marketplace VM イメージを検索して使用する」のドキュメントにある通りの手順で検索します。
1. Publisher を指定して、Offer を一覧表示します。
1 | $locName="japaneast" |
以下が実際に実行した結果です。指定した Publisher 内の Offer の一覧が表示されました。
1 | Offer |
次に、確認した Offer を指定してその Offer 内の Sku の一覧を表示します。
2. Publisher、Offer を指定して、Sku を一覧表示します。
1 | $offerName="WindowsServer" |
以下が実際に実行した結果の一部です。指定した Offer 内の Sku の一覧が表示されました。
1 | Skus |
東日本リージョンに 2022-datacenter-azure-edition の Sku が存在することが確認できたので、次に、その Sku を指定して、Sku 内の Version を一覧表示します。
3. Publisher、Offer、Sku を指定して、Versionを一覧表示します。
1 | $skuName="2022-datacenter-azure-edition" |
以下が実際に実行した結果の一部です。
1 | Version |
Version 20348.2031.231006 のイメージが存在することが確認できたので、次に VM をデプロイします。「2. Azure Portal より ARM テンプレートを用意する」以降の手順を実施します。
2. Azure Portal より ARM テンプレートを用意する
この項では、1項にて検索したバージョンの Azure Marketplace イメージを利用し VMを作成する方法を説明します。先にも記載した通り Azure Portal から VM を通常通り作成すると最新のバージョンが利用される動作となることから、ARM テンプレートを編集しバージョン指定を行って VM を作成する必要があります。
Azure ポータルより [Virtual Machines] を開き、VM の新規作成画面を開きます。
必要な項目を設定し、画面下部にある [確認および作成] を選択します。
[検証に成功しました] と表示されたら、画面下部にある [Automation のテンプレートをダウンロードする] を選択します。
表示された ARM テンプレートを使用して VM をデプロイするため、[デプロイ] を選択します。
ARM テンプレートを使用したカスタム デプロイの画面へ遷移しましたら、テンプレートを編集するため、[テンプレートの編集] を選択します。
3. VM バージョンを指定する
ARM テンプレートの “imageReference” 配下で、 バージョンを編集します。
“version”: “latest” の “latest” を修正し、今回指定するバージョンを入力します。
今回の例では、”version”: “20348.2031.231006” と設定します。
1 | "imageReference": { |
編集が完了しましたら、画面下部にある [保存] を選択します。
4. VM をデプロイする
[カスタム デプロイ] 画面に戻ります。リソースグループ名など、いくつかの値は設定されていない既定の状態に戻ってしまいますので、再度設定しなおします。
[リソース グループ]、[Admin Password] の値を再度設定したら、[確認と作成] をクリックします。
“カスタム デプロイ” 画面にて [確認と作成] をクリックし、”確認と作成” の “ご契約条件” の画面で、[作成] をクリックするとデプロイが開始されます。
テンプレート編集画面に戻って “保存されていない編集は破棄されます” のポップアップメッセージが表示された場合は、[OK] をクリックしてデプロイ進行中の画面に遷移します。
最後に、デプロイが完了したことを確認します。
5. 指定したバージョンで作成できたかの確認
VM に RDP 接続をして OS ビルドを確認します。今回の例では、指定した “20348.2031” となっています。
まとめ
今回の記事では、Windows Server のイメージを検索し、VM をデプロイしました。
上記の手順において、発行元、プラン、SKU、バージョンを置き換えることによって、Linux など他のイメージについてもこの手順が応用できます。詳細については、次のドキュメントを参照してください。
- CLI を使用してマーケットプレース購入プランの情報を検索および使用する - Azure Virtual Machines | Microsoft Learn
- PowerShell を使用してマーケットプレース購入プランの情報を検索および使用する - Azure Virtual Machines | Microsoft Learn
手順は以上となります。
本記事が皆様のお役に立てれば幸いです。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。