Znajdowanie obrazów maszyn wirtualnych z witryny Azure Marketplace i korzystanie z nich za pomocą programu Azure PowerShell
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows ✔️ — elastyczne zestawy ✔️ skalowania
W tym artykule opisano, jak używać programu Azure PowerShell do znajdowania obrazów maszyn wirtualnych w witrynie Azure Marketplace. Następnie można określić obraz witryny Marketplace i informacje o planie podczas tworzenia maszyny wirtualnej.
Możesz również przeglądać dostępne obrazy i oferty przy użyciu witryny Azure Marketplace lub interfejsu wiersza polecenia platformy Azure.
Terminologia
Obraz witryny Marketplace na platformie Azure ma następujące atrybuty:
- Wydawca: organizacja, która utworzyła obraz. Przykłady: Canonical, MicrosoftWindowsServer
- Oferta: nazwa grupy powiązanych obrazów utworzonych przez wydawcę. Przykłady: UbuntuServer, WindowsServer
- Jednostka SKU: wystąpienie oferty, takie jak główna wersja dystrybucji. Przykłady: 18.04-LTS, 2019-Datacenter
- Wersja: numer wersji jednostki SKU obrazu.
Te wartości można przekazać pojedynczo lub jako nazwę URN obrazu, łącząc wartości rozdzielone dwukropkiem (:). Na przykład: Publisher:Offer:Sku:Version. Numer wersji w identyfikatorze URN latest
można zastąpić, aby użyć najnowszej wersji obrazu.
Jeśli wydawca obrazów udostępnia inną licencję i postanowienia zakupu, musisz zaakceptować te warunki, zanim będzie można użyć obrazu. Aby uzyskać więcej informacji, zobacz Akceptowanie warunków planu zakupu.
Obrazy domyślne
Program PowerShell oferuje kilka wstępnie zdefiniowanych aliasów obrazów, aby ułatwić proces tworzenia zasobów. Istnieją różne obrazy zasobów z systemem operacyjnym Windows lub Linux. Kilka poleceń cmdlet programu PowerShell, takich jak New-AzVM
i New-AzVmss
, umożliwia wprowadzenie nazwy aliasu jako parametru.
Na przykład:
$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
Nazwy aliasów obrazów systemu Linux i ich szczegóły to:
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
Nazwy aliasów obrazu systemu Windows i ich szczegóły są następujące:
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
Wyświetlanie listy obrazów
Możesz użyć programu PowerShell, aby zawęzić listę obrazów, jeśli chcesz użyć określonego obrazu, który nie jest domyślnie udostępniany. Zastąp wartości poniższych zmiennych, aby spełniały Twoje potrzeby.
Wyświetl listę wydawców obrazów przy użyciu polecenia Get-AzVMImagePublisher.
$locName="<location>" Get-AzVMImagePublisher -Location $locName | Select PublisherName
W przypadku danego wydawcy wyświetl listę swoich ofert przy użyciu polecenia Get-AzVMImageOffer.
$pubName="<publisher>" Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
Dla danego wydawcy i oferty wyświetl listę jednostek SKU dostępnych przy użyciu polecenia Get-AzVMImageSku.
$offerName="<offer>" Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
W przypadku jednostki SKU wyświetl listę wersji obrazu przy użyciu polecenia Get-AzVMImage.
$skuName="<SKU>" Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName | Select Version
Możesz również użyć
latest
, jeśli chcesz użyć najnowszego obrazu, a nie określonej starszej wersji.
Teraz możesz połączyć wybranego wydawcę, ofertę, jednostkę SKU i wersję w nazwę URN (wartości rozdzielone przez :). Przekaż tę nazwę URN za pomocą parametru -Image
podczas tworzenia maszyny wirtualnej za pomocą polecenia cmdlet New-AzVM . Możesz również zastąpić numer wersji w identyfikatorze URN latest
, aby pobrać najnowszą wersję obrazu.
W przypadku wdrożenia maszyny wirtualnej przy użyciu szablonu usługi Resource Manager należy ustawić parametry obrazu indywidualnie we właściwościach imageReference
. Zobacz dokumentację szablonu.
Wyświetlanie właściwości planu zakupu
Niektóre obrazy maszyn wirtualnych w witrynie Azure Marketplace mają inne licencje i postanowienia zakupu, które należy zaakceptować, zanim będzie można je wdrożyć programowo. Musisz zaakceptować warunki obrazu raz na subskrypcję.
Aby wyświetlić informacje o planie zakupu obrazu, uruchom Get-AzVMImage
polecenie cmdlet . PurchasePlan
Jeśli właściwość w danych wyjściowych nie null
ma wartości , obraz zawiera terminy, które należy zaakceptować przed wdrożeniem programowym.
Na przykład obraz systemu Windows Server 2016 Datacenter nie ma dodatkowych terminów, więc PurchasePlan
informacje to null
:
$version = "2016.127.20170406"
Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Skus $skuName -Version $version
Dane wyjściowe wyglądają podobnie do następujących danych wyjściowych:
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 : []
W poniższym przykładzie przedstawiono podobne polecenie dla obrazu Nauka o danych Virtual Machine — Windows 2016, które ma następujące PurchasePlan
właściwości: name
, product
i publisher
. Niektóre obrazy mają promotion code
również właściwość . Aby wdrożyć ten obraz, zobacz poniższe sekcje, aby zaakceptować warunki i włączyć wdrażanie programowe.
Get-AzVMImage -Location "westus" -PublisherName "microsoft-ads" -Offer "windows-data-science-vm" -Skus "windows2016" -Version "0.2.02"
Dane wyjściowe wyglądają podobnie do następujących danych wyjściowych:
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 : []
Aby wyświetlić postanowienia licencyjne, użyj polecenia cmdlet Get-AzMarketplaceterms i przekaż parametry planu zakupu. Dane wyjściowe zawierają link do warunków obrazu witryny Marketplace i pokazuje, czy wcześniej zaakceptowano warunki. Pamiętaj, aby użyć wszystkich małych liter w wartościach parametrów.
Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"
Dane wyjściowe będą wyglądać podobnie do następujących:
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
Zaakceptuj warunki planu zakupu
Użyj polecenia cmdlet Set-AzMarketplaceterms, aby zaakceptować lub odrzucić warunki. Musisz zaakceptować warunki tylko raz na subskrypcję dla obrazu. Pamiętaj, aby użyć wszystkich małych liter w wartościach parametrów.
$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
Tworzenie nowej maszyny wirtualnej na podstawie obrazu z witryny Marketplace
Jeśli masz już informacje o obrazie, którego chcesz użyć, możesz przekazać te informacje do polecenia cmdlet Set-AzVMSourceImage , aby dodać informacje o obrazie do konfiguracji maszyny wirtualnej. Zapoznaj się z kolejnymi sekcjami dotyczącymi wyszukiwania i wyświetlania listy obrazów dostępnych w witrynie Marketplace.
Niektóre płatne obrazy wymagają również podania informacji o planie zakupu przy użyciu polecenia 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
...
Następnie przekażesz konfigurację maszyny wirtualnej wraz z innymi obiektami konfiguracji do New-AzVM
polecenia cmdlet . Aby uzyskać szczegółowy przykład użycia konfiguracji maszyny wirtualnej w programie PowerShell, zobacz ten skrypt.
Jeśli zostanie wyświetlony komunikat o zaakceptowaniu warunków obrazu, zobacz wcześniejszą sekcję Zaakceptuj warunki planu zakupu.
Tworzenie nowej maszyny wirtualnej na podstawie wirtualnego dysku twardego z informacjami o planie zakupu
Jeśli masz istniejący wirtualny dysk twardy, który został utworzony przy użyciu obrazu witryny Azure Marketplace, może być konieczne podanie informacji o planie zakupu podczas tworzenia nowej maszyny wirtualnej na podstawie tego wirtualnego dysku twardego.
Jeśli nadal masz oryginalną maszynę wirtualną lub inną maszynę wirtualną utworzoną na podstawie tego samego obrazu, możesz uzyskać informacje o planie, wydawcy i produkcie przy użyciu polecenia Get-AzVM. Ten przykład pobiera maszynę wirtualną o nazwie myVM w grupie zasobów myResourceGroup , a następnie wyświetla informacje o planie zakupu.
$vm = Get-azvm `
-ResourceGroupName myResourceGroup `
-Name myVM
$vm.Plan
Jeśli nie otrzymasz informacji o planie przed usunięciem oryginalnej maszyny wirtualnej, możesz zgłosić wniosek o pomoc techniczną. Żądanie pomocy technicznej wymaga co najmniej nazwy maszyny wirtualnej, identyfikatora subskrypcji i sygnatury czasowej operacji usuwania.
Aby utworzyć maszynę wirtualną przy użyciu wirtualnego dysku twardego, zapoznaj się z tym artykułem Tworzenie maszyny wirtualnej na podstawie wyspecjalizowanego wirtualnego dysku twardego i dodaj wiersz, aby dodać informacje o planie do konfiguracji maszyny wirtualnej przy użyciu polecenia Set-AzVMPlan podobne do następujących:
$vmConfig = Set-AzVMPlan `
-VM $vmConfig `
-Publisher "publisherName" `
-Product "productName" `
-Name "planName"
Następne kroki
Aby szybko New-AzVM
utworzyć maszynę wirtualną za pomocą polecenia cmdlet przy użyciu podstawowych informacji o obrazie, zobacz Tworzenie maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.
Aby uzyskać więcej informacji na temat używania obrazów witryny Azure Marketplace do tworzenia obrazów niestandardowych w galerii obliczeń platformy Azure (wcześniej znanej jako galeria obrazów udostępnionych), zobacz Dostarczanie informacji o planie zakupu w witrynie Azure Marketplace podczas tworzenia obrazów.