Znajdowanie obrazów maszyn wirtualnych z witryny Azure Marketplace i korzystanie z nich za pomocą programu Azure PowerShell

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

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 CentOS85Gen285Gen2 -Credential $credential -DomainNameLabel $domainNameLabel

Nazwy aliasów obrazów systemu Linux i ich szczegóły to:

Alias                     Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Version
-----------------------   --------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ ---------
CentOS85Gen2              x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                               latest
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
----------------------- --------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------   ---------
Win2022Datacenter       x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter: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.

  1. Wyświetl listę wydawców obrazów przy użyciu polecenia Get-AzVMImagePublisher.

    $locName="<location>"
    Get-AzVMImagePublisher -Location $locName | Select PublisherName
    
  2. 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
    
  3. 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
    
  4. 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 nullma 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, producti 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.