Azure PowerShell를 사용 하 여 Azure Marketplace VM 이미지 찾기 및 사용Find and use Azure Marketplace VM images 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을 만들 때 마켓플레이스 이미지 및 계획 정보를 지정할 수 있습니다.You can then specify a Marketplace image and plan information when you create a VM.

Azure Marketplace 또는 Azure CLI를 사용 하 여 사용 가능한 이미지 및 제품을 찾아볼 수도 있습니다.You can also browse available images and offers using the Azure Marketplace or the Azure CLI.

용어Terminology

Azure의 Marketplace 이미지에는 다음과 같은 특성이 있습니다.A Marketplace image in Azure has the following attributes:

  • Publisher: 이미지를 만든 조직입니다.Publisher: The organization that created the image. 예: Canonical, MicrosoftWindowsServerExamples: Canonical, MicrosoftWindowsServer
  • Offer: 게시자가 만든 관련 이미지 그룹의 이름입니다.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
  • Version: 이미지 SKU의 버전 번호입니다.Version: The version number of an image SKU.

이러한 값은 콜론으로 구분 된 값을 결합 하 여 개별적으로 또는 이미지 URN 으로 전달 될 수 있습니다 (:).These values can be passed individually or as an image URN, combining the values separated by the colon (:). 예: Publisher:제품:Sku:버전.For example: Publisher:Offer:Sku:Version. 에서 URN의 버전 번호를로 바꿔 latest 최신 버전의 이미지를 사용할 수 있습니다.You can replace the version number in the URN with latest to use the latest version of the image.

이미지 게시자가 추가 라이선스 및 구매 조건을 제공 하는 경우 이미지를 사용 하려면 먼저 해당 항목에 동의 해야 합니다.If the image publisher provides additional license and purchase terms, then you must accept those before you can use the image. 자세한 내용은 구매 계획 조건 동의를 참조 하세요.For more information, see Accept purchase plan terms.

이미지 나열List images

PowerShell을 사용 하 여 이미지 목록의 범위를 좁힐 수 있습니다.You can use PowerShell to narrow down a list of images. 변수의 값을 요구 사항에 맞게 바꿉니다.Replace the values of the variables to meet your needs.

  1. AzVMImagePublisher를 사용 하 여 이미지 게시자를 나열 합니다.List the image publishers using Get-AzVMImagePublisher.

    $locName="<location>"
    Get-AzVMImagePublisher -Location $locName | Select PublisherName
    
  2. 지정 된 게시자에 대해 AzVMImageOffer를 사용 하 여 해당 제품을 나열 합니다.For a given publisher, list their offers using Get-AzVMImageOffer.

    $pubName="<publisher>"
    Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
    
  3. 지정 된 게시자 및 제품에 대해 AzVMImageSku를 사용 하 여 사용할 수 있는 sku를 나열 합니다.For a given publisher and offer, list the SKUs available using Get-AzVMImageSku.

    $offerName="<offer>"
    Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
    
  4. SKU의 경우 AzVMImage를 사용 하 여 이미지 버전을 나열 합니다.For a SKU, list the versions of the image using Get-AzVMImage.

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

    latest특정 이전 버전이 아닌 최신 이미지를 사용 하려는 경우에도를 사용할 수 있습니다.You can also use latest if you want to use the latest image and not a specific older version.

이제 선택한 게시자, 제품, SKU 및 버전을 URN으로(값을 :으로 구분하여) 결합할 수 있습니다.Now you can combine the selected publisher, offer, SKU, and version into a URN (values separated by :). New-AzVM cmdlet으로 VM을 만들 때 --image 매개 변수와 함께 URN을 전달합니다.Pass this URN with the --image parameter when you create a VM with the New-AzVM cmdlet. URN의 버전 번호를로 바꿔 latest 최신 버전의 이미지를 가져올 수도 있습니다.You can also 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.

구매 계획 속성 보기View purchase plan properties

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. 구독 당 한 번 이미지의 사용 약관에 동의 해야 합니다.You'll need to accept the image's terms once per subscription.

이미지의 구매 계획 정보를 보려면 Get-AzVMImage cmdlet을 실행합니다.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

출력은 다음과 비슷합니다.The output will look similar to the following:

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   : []

아래 예제에서는 PurchasePlan name , product 및 속성을 포함 하는 Data Science Virtual Machine Windows 2016 이미지에 대 한 유사한 명령을 보여 publisher 줍니다.The 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"

출력은 다음과 비슷합니다.The output will look similar to the following:

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   : []

사용 조건을 보려면 Get-AzMarketplaceterms cmdlet을 사용하여 구매 계획 매개 변수를 전달합니다.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"

출력은 다음과 비슷합니다.The output will look similar to the following:

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

구매 계획 조건 수락Accept purchase plan terms

Set-AzMarketplaceterms cmdlet을 사용하여 약관에 동의하거나 거부합니다.Use the Set-AzMarketplaceterms cmdlet to accept or reject the terms. 이미지의 구독마다 약관에 한 번만 동의하면 됩니다.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
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

Marketplace 이미지에서 새 VM 만들기Create a new VM from a marketplace image

사용할 이미지에 대 한 정보가 이미 있는 경우 해당 정보를 AzVMSourceImage cmdlet으로 전달 하 여 VM 구성에 이미지 정보를 추가할 수 있습니다.If you already have the information about what image you want to use, you can pass that information into Set-AzVMSourceImage cmdlet to add image information to the VM configuration. Marketplace에서 사용할 수 있는 이미지를 검색 하 고 나열 하려면 다음 섹션을 참조 하세요.See the next sections for searching and listing the images available in the marketplace.

또한 일부 유료 이미지에서는 AzVMPlan를 사용 하 여 구매 계획 정보를 제공 해야 합니다.Some paid images also require that you provide purchase plan information using the Set-AzVMPlan.

...

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

# 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

# Set the Marketplace plan information, if needed
$publisherName = "microsoft-ads"
$productName = "windows-data-science-vm"
$planName = "windows2016"
$vmConfig = Set-AzVMPlan -VM $vmConfig -Publisher $publisherName -Product $productName -Name $planName

...

그런 다음 다른 구성 개체와 함께 VM 구성을 cmdlet에 전달 New-AzVM 합니다.You'll then pass the VM configuration along with the other configuration objects to the New-AzVM cmdlet. PowerShell에서 VM 구성을 사용 하는 방법에 대 한 자세한 예제는이 스크립트를 참조 하세요.For a detailed example of using a VM configuration with PowerShell, see this script.

이미지의 약관에 동의 하는 것에 대 한 메시지가 표시 되 면 이전 섹션인 구매 계획 조건 동의를 참조 하세요.If you get a message about accepting the terms of the image, see the earlier section Accept purchase plan terms.

구매 계획 정보를 사용 하 여 VHD에서 새 VM 만들기Create a new VM from a VHD with purchase plan information

Azure Marketplace 이미지를 사용 하 여 만든 기존 VHD가 있는 경우 해당 VHD에서 새 VM을 만들 때 구매 계획 정보를 제공 해야 할 수 있습니다.If you have an existing VHD that was created using an Azure Marketplace image, you might need to supply the purchase plan information when you create a new VM from that VHD.

원래 VM 또는 동일한 이미지에서 만든 다른 VM이 있는 경우 New-azvm를 사용 하 여 계획 이름, 게시자 및 제품 정보를 가져올 수 있습니다.If you still have the original VM, or another VM created from the same image, you can get the plan name, publisher, and product information from it using Get-AzVM. 이 예제에서는 Myvm 리소스 그룹에서 MYVM 이라는 vm을 가져온 다음 구매 계획 정보를 표시 합니다.This example gets a VM named myVM in the myResourceGroup resource group and then displays the purchase plan information.

$vm = Get-azvm `
   -ResourceGroupName myResourceGroup `
   -Name myVM
$vm.Plan

원본 VM을 삭제 하기 전에 계획 정보를 가져오지 못한 경우 지원 요청을 받을 수 있습니다.If you didn't get the plan information before the original VM was deleted, you can file a support request. VM 이름, 구독 ID 및 삭제 작업의 타임 스탬프가 필요 합니다.They will need the VM name, subscription ID and the time stamp of the delete operation.

VHD를 사용 하 여 VM을 만들려면이 문서 특수 한 vhd에서 Vm 만들기 문서를 참조 하 고 AzVMPlan 를 사용 하 여 vm 구성에 계획 정보를 추가 하도록 줄을 추가 합니다.To create a VM using a VHD, refer to this article Create a VM from a specialized VHD and add in a line to add the plan information to the VM configuration using Set-AzVMPlan similar to the following:

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

다음 단계Next steps

기본 이미지 정보를 사용하여 New-AzVM cmdlet으로 가상 머신을 빠르게 만들려면 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 이미지를 사용 하 여 공유 이미지 갤러리에서 사용자 지정 이미지를 만드는 방법에 대 한 자세한 내용은 이미지를 만들 때 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.