Azure PowerShell を使用して Azure Marketplace で VM イメージを検索して使用するFind and use VM images in the Azure Marketplace with Azure PowerShell

この記事では、Azure PowerShell を使用して Azure Marketplace 内で VM イメージを検索する方法について説明します。This article describes how to use Azure PowerShell to find VM images in the Azure Marketplace. その後、VM の作成時に Marketplace イメージを指定できるようになります。You can then specify a Marketplace image when you create a VM.

また、Azure Marketplace のストアフロント、Azure portal、または Azure CLI を使用して、使用できるイメージとオファーを参照することもできます。You can also browse available images and offers using the Azure Marketplace storefront, the Azure portal, or the Azure CLI.

用語Terminology

Azure Marketplace イメージには、次の属性があります。A Marketplace image in Azure has the following attributes:

  • [発行者] : イメージを作成した組織。Publisher: The organization that created the image. 例 :Canonical、MicrosoftWindowsServerExamples: Canonical, MicrosoftWindowsServer
  • [プラン] : 発行元によって作成された関連するイメージのグループ名です。Offer: The name of a group of related images created by a publisher. 例 :UbuntuServer、WindowsServerExamples: UbuntuServer, WindowsServer
  • SKU:ディストリビューションのメジャー リリースなど、プランのインスタンス。SKU: An instance of an offer, such as a major release of a distribution. 例 :18.04-LTS、2019-DatacenterExamples: 18.04-LTS, 2019-Datacenter
  • バージョン:イメージの SKU のバージョン番号。Version: The version number of an image SKU.

プログラムで VM をデプロイした場合に Marketplace イメージを識別するには、これらの値をパラメーターとして個別に指定します。To identify a Marketplace image when you deploy a VM programmatically, supply these values individually as parameters. 一部のツールはイメージ URN を受け入れます。これは、次のように、これらの値を組み合わせてコロン (:) で区切ったものです:Publisher:Offer:Sku:VersionSome tools accept an image URN, which combines these values, separated by the colon (:) character: Publisher:Offer:Sku:Version. URN では、バージョン番号を "latest" で置き換えることもできます。この場合、イメージの最新バージョンが選択されます。In a URN, you can replace the version number with "latest", which selects the latest version of the image.

イメージの発行元が追加のライセンスや購入契約を提供する場合は、この契約条件に同意し、プログラムによるデプロイを有効にする必要があります。If the image publisher provides additional license and purchase terms, then you must accept those terms and enable programmatic deployment. プログラムで VM をデプロイする場合は、購入プラン パラメーターを指定する必要もあります。You'll also need to supply purchase plan parameters when deploying a VM programmatically. Marketplace の契約条件でイメージを展開するを参照してください。See Deploy an image with Marketplace terms.

一般的に使用される Windows イメージの表Table of commonly used Windows images

次の表では、示されている発行元とオファーに対して利用できる SKU のサブセットを示します。This table shows a subset of available Skus for the indicated Publishers and Offers.

PublisherPublisher プランOffer SkuSku
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2019-Datacenter2019-Datacenter
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2019-Datacenter-Core2019-Datacenter-Core
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2019-Datacenter-with-Containers2019-Datacenter-with-Containers
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2016-Datacenter2016-Datacenter
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2016-Datacenter-Server-Core2016-Datacenter-Server-Core
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2016-Datacenter-with-Containers2016-Datacenter-with-Containers
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2012-R2-Datacenter2012-R2-Datacenter
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2012-Datacenter2012-Datacenter
MicrosoftSharePointMicrosoftSharePoint MicrosoftSharePointServerMicrosoftSharePointServer sp2019sp2019
MicrosoftSQLServerMicrosoftSQLServer SQL2019-WS2016SQL2019-WS2016 EnterpriseEnterprise
MicrosoftRServerMicrosoftRServer RServer-WS2016RServer-WS2016 EnterpriseEnterprise

特定の場所にあるイメージを検索するための 1 つの方法として、シーケンス内で Get-AzVMImagePublisherGet-AzVMImageOffer、および Get-AzVMImageSku コマンドレットを順に実行します。One way to find an image in a location is to run the Get-AzVMImagePublisher, Get-AzVMImageOffer, and Get-AzVMImageSku cmdlets in order:

  1. イメージの発行元を一覧表示する。List the image publishers.
  2. 指定された発行元について、そのプランを一覧表示する。For a given publisher, list their offers.
  3. 指定されたプランについて、その SKU を一覧表示する。For a given offer, list their SKUs.

その後、選択された SKU について Get-AzVMImage を実行して、デプロイするバージョンを一覧表示します。Then, for a selected SKU, run Get-AzVMImage to list the versions to deploy.

  1. 発行元を一覧表示します。List the publishers:

    $locName="<Azure location, such as West US>"
    Get-AzVMImagePublisher -Location $locName | Select PublisherName
    
  2. 選択した発行元の名前を入力して、プランを一覧表示します。Fill in your chosen publisher name and list the offers:

    $pubName="<publisher>"
    Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
    
  3. 選択したプランの名前を入力して、SKU を一覧表示します。Fill in your chosen offer name and list the SKUs:

    $offerName="<offer>"
    Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
    
  4. 選択した SKU の名前を入力して、イメージのバージョンを取得します。Fill in your chosen SKU name and get the image version:

    $skuName="<SKU>"
    Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName | Select Version
    

Get-AzVMImage コマンドの出力から、バージョン イメージを選択して新しい仮想マシンをデプロイできます。From the output of the Get-AzVMImage command, you can select a version image to deploy a new virtual machine.

次の例は、コマンドとその出力の完全な順序を示しています。The following example shows the full sequence of commands and their outputs:

$locName="West US"
Get-AzVMImagePublisher -Location $locName | Select PublisherName

出力の一部を次に示します。Partial output:

PublisherName
-------------
...
abiquo
accedian
accellion
accessdata-group
accops
Acronis
Acronis.Backup
actian-corp
actian_matrix
actifio
activeeon
adgs
advantech
advantech-webaccess
advantys
...

MicrosoftWindowsServer が発行元の場合:For the MicrosoftWindowsServer publisher:

$pubName="MicrosoftWindowsServer"
Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer

出力:Output:

Offer
-----
Windows-HUB
WindowsServer
WindowsServerSemiAnnual

WindowsServer プランの場合:For the WindowsServer offer:

$offerName="WindowsServer"
Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus

出力の一部を次に示します。Partial output:

Skus
----
2008-R2-SP1
2008-R2-SP1-smalldisk
2012-Datacenter
2012-Datacenter-smalldisk
2012-R2-Datacenter
2012-R2-Datacenter-smalldisk
2016-Datacenter
2016-Datacenter-Server-Core
2016-Datacenter-Server-Core-smalldisk
2016-Datacenter-smalldisk
2016-Datacenter-with-Containers
2016-Datacenter-with-RDSH
2019-Datacenter
2019-Datacenter-Core
2019-Datacenter-Core-smalldisk
2019-Datacenter-Core-with-Containers
...

次に、2019-Datacenter SKU の場合:Then, for the 2019-Datacenter SKU:

$skuName="2019-Datacenter"
Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName | Select Version

これで、選択した発行元、プラン、SKU、およびバージョンを URN (: で区切られた値) へと結合することができます。Now you can combine the selected publisher, offer, SKU, and version into a URN (values separated by :). New-AzVM コマンドレットで VM を作成するときに、この URN を --image パラメーターを使用して渡します。Pass this URN with the --image parameter when you create a VM with the New-AzVM cmdlet. 必要に応じて、URN のバージョン番号を "latest" に置き換えて、最新バージョンのイメージを取得できます。You can optionally replace the version number in the URN with "latest" to get the latest version of the image.

Resource Manager テンプレートを使って VM をデプロイする場合は、imageReference プロパティでイメージ パラメーターを個別に設定します。If you deploy a VM with a Resource Manager template, then you'll set the image parameters individually in the imageReference properties. テンプレート リファレンスをご覧ください。See the template reference.

Marketplace の契約条件でイメージを展開するDeploy an image with Marketplace terms

Azure Marketplace の一部の VM イメージには、プログラムでデプロイする前に同意する必要がある追加のライセンスと購入契約条件があります。Some VM images in the Azure Marketplace have additional license and purchase terms that you must accept before you can deploy them programmatically.

このようなイメージから VM をデプロイするには、イメージの契約条件に同意し、なおかつプログラムによるデプロイを有効にする必要があります。To deploy a VM from such an image, you'll need to both accept the image's terms and enable programmatic deployment. これを行う必要があるのはサブスクリプションごとに 1 回だけです。You'll only need to do this once per subscription. その後、イメージからプログラムを使って VM をデプロイするたびに、購入プランのパラメーターを指定する必要があります。Afterward, each time you deploy a VM programmatically from the image you'll also need to specify purchase plan parameters.

以下のセクションでは、その方法について説明します。The following sections show how to:

  • Marketplace イメージに追加のライセンス条件があるかどうかを調べるFind out whether a Marketplace image has additional license terms
  • プログラムで契約条件に同意するAccept the terms programmatically
  • プログラムを使って VM を展開するときに、購入プランのパラメーターを入力するProvide purchase plan parameters when you deploy a VM programmatically

プランのプロパティの表示View plan properties

イメージの購入プラン情報を表示するには、Get-AzVMImage コマンドレットを実行します。To view an image's purchase plan information, run the Get-AzVMImage cmdlet. 出力内の PurchasePlan プロパティが null ではない場合、イメージには、プログラムによるデプロイの前に同意しなければならない使用条件があります。If the PurchasePlan property in the output is not null, the image has terms you need to accept before programmatic deployment.

たとえば、Windows Server 2016 Datacenter イメージに追加条項がないのは、PurchasePlan 情報が null であるためです。For example, the Windows Server 2016 Datacenter image doesn't have additional terms, so the PurchasePlan information is null:

$version = "2016.127.20170406"
Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Skus $skuName -Version $version

出力:Output:

Id               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2016-Datacenter/Versions/2019.0.20190115
Location         : westus
PublisherName    : MicrosoftWindowsServer
Offer            : WindowsServer
Skus             : 2019-Datacenter
Version          : 2019.0.20190115
FilterExpression :
Name             : 2019.0.20190115
OSDiskImage      : {
                     "operatingSystem": "Windows"
                   }
PurchasePlan     : null
DataDiskImages   : []

下の例は、Data Science Virtual Machine - Windows 2016 イメージの同様のコマンドを示しています。次の PurchasePlan プロパティが表示されます: nameproduct、および publisherThe example below shows a similar command for the Data Science Virtual Machine - Windows 2016 image, which has the following PurchasePlan properties: name, product, and publisher. イメージによっては、promotion code プロパティもあります。Some images also have a promotion code property. このイメージをデプロイするには、次のセクションを参照して使用条件に同意し、プログラムによるデプロイを有効にします。To deploy this image, see the following sections to accept the terms and to enable programmatic deployment.

Get-AzVMImage -Location "westus" -PublisherName "microsoft-ads" -Offer "windows-data-science-vm" -Skus "windows2016" -Version "0.2.02"

出力:Output:

Id               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/microsoft-ads/ArtifactTypes/VMImage/Offers/windows-data-science-vm/Skus/windows2016/Versions/19.01.14
Location         : westus
PublisherName    : microsoft-ads
Offer            : windows-data-science-vm
Skus             : windows2016
Version          : 19.01.14
FilterExpression :
Name             : 19.01.14
OSDiskImage      : {
                     "operatingSystem": "Windows"
                   }
PurchasePlan     : {
                     "publisher": "microsoft-ads",
                     "name": "windows2016",
                     "product": "windows-data-science-vm"
                   }
DataDiskImages   : []

使用条件への同意Accept the terms

ライセンス条項を表示するには、Get-AzMarketplaceterms コマンドレットを使用し、購入プラン パラメーターを渡します。To view the license terms, use the Get-AzMarketplaceterms cmdlet and pass in the purchase plan parameters. 出力には、Marketplace イメージの使用条件へのリンクと、以前その使用条件に同意したかどうかが表示されます。The output provides a link to the terms for the Marketplace image and shows whether you previously accepted the terms. パラメーターの値は全小文字で入力してください。Be sure to use all lowercase letters in the parameter values.

Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

出力:Output:

Publisher         : microsoft-ads
Product           : windows-data-science-vm
Plan              : windows2016
LicenseTextLink   : https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_MICROSOFT%253a2DADS%253a24WINDOWS%253a2DDATA%253a2DSCIENCE%253a2DVM%253a24WINDOWS2016%253a24OC5SKMQOXSED66BBSNTF4XRCS4XLOHP7QMPV54DQU7JCBZWYFP35IDPOWTUKXUC7ZAG7W6ZMDD6NHWNKUIVSYBZUTZ245F44SU5AD7Q.txt
PrivacyPolicyLink : https://www.microsoft.com/EN-US/privacystatement/OnlineServices/Default.aspx
Signature         : 2UMWH6PHSAIM4U22HXPXW25AL2NHUJ7Y7GRV27EBL6SUIDURGMYG6IIDO3P47FFIBBDFHZHSQTR7PNK6VIIRYJRQ3WXSE6BTNUNENXA
Accepted          : False
Signdate          : 1/25/2019 7:43:00 PM

Set-AzMarketplaceterms コマンドレットを使用して、使用条件に同意するか、または拒否します。Use the Set-AzMarketplaceterms cmdlet to accept or reject the terms. 使用条件に同意する必要があるのは、イメージのサブスクリプションごとに 1 回だけです。You only need to accept terms once per subscription for the image. パラメーターの値は全小文字で入力してください。Be sure to use all lowercase letters in the parameter values.

$agreementTerms=Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

Set-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -Terms $agreementTerms -Accept

出力:Output:

Publisher         : microsoft-ads
Product           : windows-data-science-vm
Plan              : windows2016
LicenseTextLink   : https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_MICROSOFT%253a2DADS%253a24WINDOWS%253a2DDATA%253a2DSCIENCE%253a2DV
                    M%253a24WINDOWS2016%253a24OC5SKMQOXSED66BBSNTF4XRCS4XLOHP7QMPV54DQU7JCBZWYFP35IDPOWTUKXUC7ZAG7W6ZMDD6NHWNKUIVSYBZUTZ245F44SU5AD7Q.txt
PrivacyPolicyLink : https://www.microsoft.com/EN-US/privacystatement/OnlineServices/Default.aspx
Signature         : XXXXXXK3MNJ5SROEG2BYDA2YGECU33GXTD3UFPLPC4BAVKAUL3PDYL3KBKBLG4ZCDJZVNSA7KJWTGMDSYDD6KRLV3LV274DLBXXXXXX
Accepted          : True
Signdate          : 2/23/2018 7:49:31 PM

購入プラン パラメーターを使用したデプロイDeploy using purchase plan parameters

イメージの使用条件に同意したら、そのサブスクリプション内で VM をデプロイできます。After accepting the terms for an image, you can deploy a VM in that subscription. 次のスニペットに示すように、Set-AzVMPlan コマンドレットを使用して、VM オブジェクトの Marketplace プラン情報を設定します。As shown in the following snippet, use the Set-AzVMPlan cmdlet to set the Marketplace plan information for the VM object. VM のネットワーク設定を作成し、デプロイを完了するための完全なスクリプトについては、PowerShell スクリプトの例をご覧ください。For a complete script to create network settings for the VM and complete the deployment, see the PowerShell script examples.

...

$vmConfig = New-AzVMConfig -VMName "myVM" -VMSize Standard_D1

# Set the Marketplace plan information

$publisherName = "microsoft-ads"

$productName = "windows-data-science-vm"

$planName = "windows2016"

$vmConfig = Set-AzVMPlan -VM $vmConfig -Publisher $publisherName -Product $productName -Name $planName

$cred=Get-Credential

$vmConfig = Set-AzVMOperatingSystem -Windows -VM $vmConfig -ComputerName "myVM" -Credential $cred

# Set the Marketplace image

$offerName = "windows-data-science-vm"

$skuName = "windows2016"

$version = "19.01.14"

$vmConfig = Set-AzVMSourceImage -VM $vmConfig -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version $version
...

その後、VM 構成とネットワーク構成オブジェクトを New-AzVM コマンドレットに渡します。You'll then pass the VM configuration along with network configuration objects to the New-AzVM cmdlet.

次のステップNext steps

基本イメージ情報を使用し、New-AzVM コマンドレットを使って仮想マシンをすばやく作成するには、「PowerShell で Windows 仮想マシンを作成する」をご覧ください。To create a virtual machine quickly with the New-AzVM cmdlet by using basic image information, see Create a Windows virtual machine with PowerShell.

Azure Marketplace イメージを使用して Shared Image Gallery にカスタム イメージを作成する方法の詳細については、イメージ作成時に Azure Marketplace 購入プラン情報を提供する方法に関する記事を参照してください。For more information on using Azure Marketplace images to create custom images in a shared image gallery, see Supply Azure Marketplace purchase plan information when creating images.