Azure PowerShell을 사용하여 Azure Marketplace VM 이미지 찾기 및 사용
적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합
이 문서에서는 Azure PowerShell을 사용하여 Azure Marketplace에서 VM 이미지를 찾는 방법을 설명합니다. 그런 다음, VM을 만들 때 Marketplace 이미지 및 계획 정보를 지정할 수 있습니다.
또한 Azure Marketplace 또는 Azure CLI를 사용하여 사용할 수 있는 이미지와 제품을 찾을 수 있습니다.
용어
Azure의 Marketplace 이미지에는 다음과 같은 특성이 있습니다.
- Publisher: 이미지를 만든 조직입니다. 예: Canonical, MicrosoftWindowsServer
- Offer: 게시자가 만든 관련 이미지 그룹의 이름입니다. 예: UbuntuServer, WindowsServer
- SKU: 제공의 인스턴스(예: 배포의 주 릴리스)입니다. 예: 18.04-LTS, 2019-Datacenter
- Version: 이미지 SKU의 버전 번호입니다.
이러한 값은 콜론(:)으로 구분된 값을 결합하여 개별적으로 또는 이미지 URN으로 전달할 수 있습니다. 예: Publisher:Offer:Sku:Version. URN에서 버전 번호를 latest
로 바꿔 이미지의 최신 버전을 사용할 수 있습니다.
이미지 게시자가 기타 라이선스 및 추가 약관을 제공하는 경우 이에 동의해야 이미지를 사용할 수 있습니다. 자세한 내용은 구매 계획 약관 동의를 참조하세요.
기본 이미지
Powershell은 리소스 만들기 프로세스를 보다 쉽게 수행 위해 미리 정의된 여러 이미지 별칭을 제공합니다. Windows 또는 Linux 운영 체제를 사용하는 리소스에는 다양한 이미지가 있습니다. New-AzVM
및 New-AzVmss
와 같은 여러 Powershell cmdlet을 사용하면 별칭 이름을 매개 변수로 입력할 수 있습니다.
예시:
$rgname = <Resource Group Name>
$location = <Azure Region>
$vmName = "v" + $rgname
$domainNameLabel = "d" + $rgname
$securePassword = <Password> | ConvertTo-SecureString -AsPlainText -Force
$username = <Username>
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)
New-AzVM -ResourceGroupName $rgname -Location $location -Name $vmName -image Ubuntu2204 -Credential $credential -DomainNameLabel $domainNameLabel
Linux 이미지 별칭 이름 및 세부 정보는 다음과 같습니다.
Alias Architecture Offer Publisher Sku Urn Version
----------------------- -------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ---------
Debian11 x64 Debian-11 Debian 11-backports-gen2 Debian:debian-11:11-backports-gen2:latest latest
FlatcarLinuxFreeGen2 x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest latest
OpenSuseLeap154Gen2 x64 opensuse-leap-15-4 SUSE gen2 SUSE:opensuse-leap-15-4:gen2:latest latest
RHELRaw8LVMGen2 x64 RHEL RedHat 8-lvm-gen2 RedHat:RHEL:8-lvm-gen2:latest latest
SLES x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest latest
Ubuntu2204 x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts-gen2 Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest latest
Windows 이미지 별칭 이름 및 세부 정보는 다음과 같습니다.
Alias Architecture Offer Publisher Sku Urn Version
----------------------- -------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ---------
Win2022AzureEdition x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition:latest latest
Win2022AzureEditionCore x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest latest
Win10 x64 Windows MicrosoftVisualStudio Windows-10-N-x64 MicrosoftVisualStudio:Windows:Windows-10-N-x64:latest latest
Win2019Datacenter x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest latest
Win2016Datacenter x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest latest
Win2012R2Datacenter x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest latest
Win2012Datacenter x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest latest
이미지 나열
기본적으로 제공되지 않는 특정 이미지를 사용하려면 PowerShell을 사용하여 이미지 목록을 좁힐 수 있습니다. 아래 변수의 값을 요구 사항에 맞게 바꿉니다.
Get-AzVMImagePublisher를 사용하여 이미지 게시자를 나열합니다.
$locName="<location>" Get-AzVMImagePublisher -Location $locName | Select PublisherName
지정된 게시자의 경우 Get-AzVMImageOffer를 사용하여 제품을 나열합니다.
$pubName="<publisher>" Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
지정된 게시자 및 제품의 경우 Get-AzVMImageSku를 사용하여 사용할 수 있는 SKU를 나열합니다.
$offerName="<offer>" Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
SKU의 경우 Get-AzVMImage를 사용하여 이미지 버전을 나열합니다.
$skuName="<SKU>" Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName | Select Version
특정 이전 버전이 아닌 최신 이미지를 사용하려는 경우에도
latest
를 사용할 수 있습니다.
이제 선택한 게시자, 제품, SKU 및 버전을 URN으로(값을 :으로 구분하여) 결합할 수 있습니다. New-AzVM cmdlet으로 VM을 만들 때 -Image
매개 변수와 함께 URN을 전달합니다. 또한 URN에서 버전 번호를 latest
로 바꿔 이미지의 최신 버전을 가져올 수 있습니다.
Resource Manager 템플릿을 사용하여 VM을 배포하는 경우 imageReference
속성에 이미지 매개 변수를 개별적으로 설정해야 합니다. 템플릿 참조를 참조하세요.
구매 계획 속성 보기
Azure Marketplace의 일부 VM 이미지를 프로그래밍 방식으로 배포하려면 동의가 필요한 다른 라이선스 및 구매 약관이 있습니다. 구독마다 이미지의 약관에 한 번만 동의하면 됩니다.
이미지의 구매 계획 정보를 보려면 Get-AzVMImage
cmdlet을 실행합니다. 출력의 PurchasePlan
속성이 null
이 아닌 경우, 이미지에는 프로그램 방식으로 배포하기 전에 동의해야 하는 약관이 있습니다.
예를 들어, Windows Server 2016 Datacenter 이미지는 PurchasePlan
정보가 null
이기 때문에 추가 약관이 없습니다.
$version = "2016.127.20170406"
Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Skus $skuName -Version $version
다음 출력과 유사하게 출력됩니다.
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 이미지에 유사한 명령을 보여줍니다. 여기에는 name
, product
및 publisher
와 같은 PurchasePlan
속성이 표시됩니다. 일부 이미지에는 promotion code
속성도 있습니다. 이 이미지를 배포하려면 다음 섹션에서 약관에 동의하고 프로그래밍 방식 배포를 사용하도록 설정합니다.
Get-AzVMImage -Location "westus" -PublisherName "microsoft-ads" -Offer "windows-data-science-vm" -Skus "windows2016" -Version "0.2.02"
다음 출력과 유사하게 출력됩니다.
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을 사용하여 구매 계획 매개 변수를 전달합니다. 출력에는 Marketplace 이미지의 약관 대한 링크가 제공되며 이전에 약관에 동의했는지 여부가 표시됩니다. 매개 변수 값에 모두 소문자를 사용해야 합니다.
Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"
출력은 다음과 비슷합니다.
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 cmdlet을 사용하여 약관에 동의하거나 거부합니다. 이미지의 구독마다 약관에 한 번만 동의하면 됩니다. 매개 변수 값에 모두 소문자를 사용해야 합니다.
$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 만들기
사용할 이미지에 대한 정보가 이미 있는 경우 해당 정보를 Set-AzVMSourceImage cmdlet으로 전달하여 VM 구성에 이미지 정보를 추가할 수 있습니다. Marketplace에서 사용할 수 있는 이미지를 검색하고 나열하려면 다음 섹션을 참조하세요.
또한 일부 유료 이미지에서는 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 구성을 다른 구성 개체와 함께 New-AzVM
cmdlet으로 전달합니다. PowerShell에서 VM 구성을 사용하는 방법에 대한 자세한 예는 이 스크립트를 참조하세요.
이미지의 약관에 동의하는 것에 대한 메시지가 표시되면 이전 섹션인 구매 계획 약관 동의를 참조하세요.
구매 계획 정보를 사용하여 VHD에서 새 VM 만들기
Azure Marketplace 이미지를 사용하여 만든 기존 VHD가 있는 경우 해당 VHD에서 새 VM을 만들 때 구매 계획 정보를 제공해야 할 수 있습니다.
원본 VM이 아직 있거나 동일한 이미지를 사용하여 만든 다른 VM이 있는 경우 Get-AzVM을 사용하여 계획 이름, 게시자 및 제품 정보를 가져올 수 있습니다. 이 예에서는 myResourceGroup 리소스 그룹에서 myVM이라는 VM을 가져온 다음, 구매 계획 정보를 표시합니다.
$vm = Get-azvm `
-ResourceGroupName myResourceGroup `
-Name myVM
$vm.Plan
원본 VM을 삭제하기 전에 계획 정보를 가져오지 않은 경우 지원 요청을 제출할 수 있습니다. 지원 요청에는 최소한 VM 이름, 구독 ID, 삭제 작업의 타임스탬프를 필요로 합니다.
VHD를 사용하여 VM을 만들려면 전문화된 VHD에서 VM 만들기 문서를 참조하고 다음과 유사한 Set-AzVMPlan을 사용하여 VM 구성에 계획 정보를 추가하도록 줄을 추가합니다.
$vmConfig = Set-AzVMPlan `
-VM $vmConfig `
-Publisher "publisherName" `
-Product "productName" `
-Name "planName"
다음 단계
기본 이미지 정보를 사용하여 New-AzVM
cmdlet으로 가상 머신을 빠르게 만들려면 PowerShell을 사용하여 Windows 가상 머신 만들기를 참조하세요.
Azure Marketplace 이미지를 사용하여 Azure Compute Gallery(이전의 Shared Image Gallery)에서 사용자 지정 이미지를 만드는 방법에 대한 자세한 내용은 이미지를 만들 때 Azure Marketplace 구매 계획 정보 제공을 참조하세요.