Azure CLI を使用して Azure Marketplace イメージ情報を検索する

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット

このトピックでは、Azure CLI を使用して Azure Marketplace で VM イメージを見つける方法を説明します。 これらの情報は、CLI、Resource Manager テンプレート、またはその他のツールを使用して、VM をプログラムによって作成する際、Marketplace イメージを指定するために使用できます。

また、Azure Marketplace または Azure PowerShell を使用して、使用できるイメージとプランを参照することもできます。

用語

Azure Marketplace イメージには、次の属性があります。

  • 発行元: イメージを作成した組織です。 例: Canonical、RedHat、SUSE。
  • プラン: 発行元によって作成された関連するイメージのグループ名です。 例: 0001-com-ubuntu-server-jammy, RHEL, sles-15-sp3。
  • SKU: ディストリビューションのメジャー リリースなど、プランのインスタンス。 例: 22_04-lts-gen2, 8-lvm-gen2, gen2。
  • バージョン: イメージの SKU のバージョン番号。

これらの値は、個別に、またはイメージ URN として渡すことができます。その際、値はコロン (:) で区切って指定します。 例: Publisher:Offer:Sku:Version。 URN 内のバージョン番号を latest に置き換えると、イメージの最新バージョンを使用することができます。

イメージの発行元が追加のライセンスや購入契約条件を提示している場合、イメージを使用するには、それらの条件に事前に同意する必要があります。 詳細については、「購入プランの情報を確認する」を参照してください。

az vm image list --all を実行すると、使用できるすべてのイメージを表示できますが、一覧全体を作成するのに数分かかることがあります。 より速いオプションは、--all オプションを指定せずに az vm image list コマンドを実行し、Azure Marketplace でよく使われる VM イメージの一覧を確認することです。 たとえば、次のコマンドを実行して、よく使用されるイメージのキャッシュされた一覧を表形式で表示します。

az vm image list --output table

出力には、イメージの URN が含まれます。 --all オプションを省略すると、各イメージの UrnAlias が表示されます (使用可能な場合)。 UrnAlias は、Ubuntu2204 のようなよく使われるイメージ用に作成された短縮バージョンです。 このコマンドによって出力される Linux イメージの別名とそれらの詳細は次のとおりです。

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                                CentOS85Gen2             latest
x64             Debian11                      Debian                  11-backports-gen2                   Debian:debian-11:11-backports-gen2:latest                                       Debian-11                latest
x64             flatcar-container-linux-free  kinvolk                 stable-gen2                         kinvolk:flatcar-container-linux-free:stable-gen2:latest                         FlatcarLinuxFreeGen2     latest
x64             opensuse-leap-15-4            SUSE                    gen2                                SUSE:opensuse-leap-15-4:gen2:latest                                             OpenSuseLeap154Gen2      latest
x64             RHEL                          RedHat                  8-lvm-gen2                          RedHat:RHEL:8-lvm-gen2:latest                                                   RHELRaw8LVMGen2          latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             0001-com-ubuntu-server-jammy  Canonical               22_04-lts-gen2                      Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest                    Ubuntu2204               latest

このコマンドによって出力される Windows イメージの別名とそれらの詳細は次のとおりです。

Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Alias                    Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ -----------------------  ---------
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                    Win2022Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore   latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                    Win2019Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                    Win2016Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                 Win2012R2Datacenter       latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                    Win2012Datacenter         latest

特定のイメージを検索する

--publisher または他のパラメーターでイメージの一覧をフィルター処理して、結果を絞り込むことができます。

たとえば、次のコマンドを使うと、すべての Debian プランが表示されます。

az vm image list --offer Debian --all --output table

--architecture パラメーターを追加することで、結果を 1 つのアーキテクチャに制限できます。 たとえば、Canonical から利用可能なすべての Arm64 イメージを表示するには、以下の操作を行います。

az vm image list --architecture Arm64 --publisher Canonical --all --output table

使用可能なすべてのイメージを確認する

任意の場所にあるイメージを検索する別の方法として、az vm image list-publishersaz vm image list-offers、およびaz vm image list-skus コマンドを連続で実行します。 これらのコマンドを使用する際は、以下の値を決定します。

  1. 1 つの場所のイメージ発行元を一覧表示します。 この例では、"米国西部" リージョンを見ています。

    az vm image list-publishers --location westus --output table
    
  2. 指定された発行元について、そのプランを一覧表示する。 この例では、パブリッシャーとして RedHat を追加します。

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. 指定されたプランについて、その SKU を一覧表示する。 この例では、オファーとして RHEL を追加します。

    az vm image list-skus --location westus --publisher RedHat --offer RHEL --output table
    

注意

Canonical は、使用するオファー名を最新バージョンで変更しました。 Ubuntu 20.04 より前のオファー名は UbuntuServer です。 Ubuntu 20.04 ではオファー名は 0001-com-ubuntu-server-focal であり、Ubuntu 22.04 では 0001-com-ubuntu-server-jammy です。

  1. 特定の発行元、プラン、および SKU について、イメージのすべてのバージョンを表示します。 この例では、SKU として 9_1 を追加します。

    az vm image list \
        --location westus \
        --publisher RedHat \
        --offer RHEL \
        --sku 9_1 \
        --all --output table
    

az vm create コマンドで VM を作成するときに、URN 列のこの値を --image パラメーターを使用して渡します。 必要に応じて、URN のバージョン番号を "latest" に置き換えて、最新バージョンのイメージを使用できます。

Resource Manager テンプレートを使って VM をデプロイする場合は、imageReference プロパティでイメージ パラメーターを個別に設定します。 テンプレート リファレンスをご覧ください。

購入プランの情報を確認する

Azure Marketplace の一部の VM イメージには、プログラムでデプロイする前に同意する必要がある追加のライセンスと購入契約条件があります。

このようなイメージから VM をデプロイするには、最初に使用するときに、サブスクリプションごとに 1 回、イメージの使用条件に同意する必要があります。 また、そのイメージから VM をデプロイするために、購入プランのパラメーターも指定する必要があります

イメージの購入プラン情報を表示するには、イメージの URN を使用して az vm image show コマンドを実行します。 出力内の plan プロパティが null ではない場合、イメージには、プログラムによるデプロイの前に同意しなければならない使用条件があります。

たとえば、Canonical Ubuntu Server 18.04 LTS イメージに追加条項がないのは、plan 情報が null であるためです。

az vm image show --location westus --urn Canonical:UbuntuServer:18.04-LTS:latest

出力:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201901220",
  "location": "westus",
  "name": "18.04.201901220",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

RabbitMQ Certified by Bitnami イメージに対して同様のコマンドを実行すると、次の plan プロパティが表示されます: nameproduct、および publisher (イメージによっては、promotion code プロパティもあります)。

az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest

出力:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1901151016",
  "location": "westus",
  "name": "3.7.1901151016",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": {
    "name": "rabbitmq",
    "product": "rabbitmq",
    "publisher": "bitnami"
  },
  "tags": null
}

このイメージをデプロイするには、そのイメージを使用して VM をデプロイするときに、使用条件に同意し、購入プラン パラメーターを指定する必要があります。

使用条件への同意

ライセンス条項を表示し、それらに同意するには、az vm image terms コマンドを使用します。 使用条件に同意すると、サブスクリプション内で、プログラムによるデプロイが有効になります。 使用条件に同意する必要があるのは、イメージのサブスクリプションごとに 1 回だけです。 次に例を示します。

az vm image terms show --urn bitnami:rabbitmq:rabbitmq:latest

出力では、ライセンス条項への licenseTextLink が示され、accepted の値が true であることが示されます。

{
  "accepted": true,
  "additionalProperties": {},
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.MarketplaceOrdering/offertypes/bitnami/offers/rabbitmq/plans/rabbitmq",
  "licenseTextLink": "https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_BITNAMI%253a24RABBITMQ%253a24RABBITMQ%253a24IGRT7HHPIFOBV3IQYJHEN2O2FGUVXXZ3WUYIMEIVF3KCUNJ7GTVXNNM23I567GBMNDWRFOY4WXJPN5PUYXNKB2QLAKCHP4IE5GO3B2I.txt",
  "name": "rabbitmq",
  "plan": "rabbitmq",
  "privacyPolicyLink": "https://bitnami.com/privacy",
  "product": "rabbitmq",
  "publisher": "bitnami",
  "retrieveDatetime": "2019-01-25T20:37:49.937096Z",
  "signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
  "type": "Microsoft.MarketplaceOrdering/offertypes"
}

条項に同意するには、次のように入力します。

az vm image terms accept --urn bitnami:rabbitmq:rabbitmq:latest

イメージ パラメーターを使用して新しい VM をデプロイする

イメージに関する情報を使用して、az vm create コマンドでデプロイできます。

Canonical からの最新の Ubuntu Server 18.04 イメージのように、プラン情報がないイメージをデプロイするには、次のように --image の URN を渡します。

az group create --name myURNVM --location westus
az vm create \
   --resource-group myURNVM \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image Canonical:UbuntuServer:18.04-LTS:latest

Bitnami イメージによって認定された RabbitMQ のように、購入プランパラメーターを含むイメージの場合は、--image の URN を渡し、次のように 購入プランのパラメーターも指定します。

az group create --name myPurchasePlanRG --location westus

az vm create \
   --resource-group myPurchasePlanRG \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image bitnami:rabbitmq:rabbitmq:latest \
   --plan-name rabbitmq \
   --plan-product rabbitmq \
   --plan-publisher bitnami

イメージの使用条件への同意に関するメッセージが表示された場合は、「使用条件への同意」セクションを確認してください。 az vm image accept-terms の出力で、画像の使用条件に同意したことを示す値 "accepted": true, が返されていることを確認します。

既存の VHD と購入プラン情報を使用する

有料の Azure Marketplace イメージを使用して作成された、VM からの既存の VHD がある場合は、その VHD から新しい VM を作成するときに、購入プランの情報を指定することが必要になる場合があります。

元の VM、または同じ Marketplace イメージを使用して作成した他の VM がある場合は、az vm get-instance-view を使用して、その VM からプラン名、発行元、および製品情報を取得できます。 この例では、myResourceGroup リソース グループの myVM という名前の VM を取得し、購入プラン情報を表示します。

az vm get-instance-view -g myResourceGroup -n myVM --query plan

元の VM が削除される前にプラン情報を取得しなかった場合は、サポート リクエストを提出できます。 VM 名、サブスクリプション ID、および削除操作のタイム スタンプが必要になります。

プラン情報を取得したら、--attach-os-disk パラメーターを使用して VHD を指定することで、新しい VM を作成できます。

az vm create \
  --resource-group myResourceGroup \
  --name myNewVM \
  --nics myNic \
  --size Standard_DS1_v2 --os-type Linux \
  --attach-os-disk myVHD \
  --plan-name planName \
  --plan-publisher planPublisher \
  --plan-product planProduct

次のステップ

イメージ情報を使って仮想マシンをすぐに作成するには、「Azure CLI を使用した Linux VM の作成と管理」をご覧ください。