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-azure-edition MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition:latest Win2022AzureEdition 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-publishers、az vm image list-offers、およびaz vm image list-skus コマンドを連続で実行します。 これらのコマンドを使用する際は、以下の値を決定します。
1 つの場所のイメージ発行元を一覧表示します。 この例では、"米国西部" リージョンを見ています。
az vm image list-publishers --location westus --output table
指定された発行元について、そのプランを一覧表示する。 この例では、パブリッシャーとして RedHat を追加します。
az vm image list-offers --location westus --publisher RedHat --output table
指定されたプランについて、その 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
です。
特定の発行元、プラン、および 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
プロパティが表示されます: name
、 product
、および 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 の作成と管理」をご覧ください。