Rechercher et utiliser des images de machine virtuelle de la Place de marché Azure avec Azure PowerShell
S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes
Cet article décrit comment utiliser Azure PowerShell pour rechercher des images de machine virtuelle sur la Place de marché Microsoft Azure. Vous pouvez ensuite spécifier des informations sur une image et un plan de la Place de marché lorsque vous créez une machine virtuelle.
Vous pouvez également parcourir les images et offres disponibles à l’aide de la Place de marché Azure ou de l’interface Azure CLI.
Terminologie
Une image de Place de Marché dans Azure a les attributs suivants :
- Éditeur : organisation qui a créé l’image. Exemples : Canonical, MicrosoftWindowsServer
- Offre : nom du groupe d’images associées créé par un éditeur. Exemples : UbuntuServer, WindowsServer
- Référence SKU : instance d’une offre, par exemple une version majeure d’une distribution. Exemples : 18.04-LTS, 2019-Datacenter
- Version : numéro de version d’une référence SKU d’image.
Ces valeurs peuvent être transmises individuellement ou en tant qu’URN d’image, combinant les valeurs séparées par le signe deux-points (:). Par exemple : Éditeur:Offre:SKU:Version. Vous pouvez remplacer le numéro de version dans l’URN par latest
pour utiliser la version la plus récente de l’image.
Si l’éditeur de l’image fournit des conditions de licences et d’achat supplémentaires, vous devez les accepter avant de pouvoir utiliser l’image. Pour plus d’informations, consultez Accepter les conditions du plan d’achat.
Images par défaut
PowerShell offre plusieurs alias d’image prédéfinis pour faciliter le processus de création de ressources. Il existe différentes images pour les ressources avec un système d’exploitation Windows ou Linux. Plusieurs applets de commande PowerShell, telles que New-AzVM
et New-AzVmss
, vous permettent d’entrer le nom de l’alias en tant que paramètre.
Par exemple :
$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
Les noms d’alias d’image Linux et leurs détails sont les suivants :
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
Les noms d’alias d’image Windows et leurs détails sont les suivants :
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
Répertorier des images
Vous pouvez utiliser PowerShell pour affiner une liste d’images si vous souhaitez utiliser une image spécifique qui n’est pas fournie par défaut. Remplacez les valeurs des variables ci-dessous en fonction de vos besoins.
Répertoriez les éditeurs d’images à l’aide de la commande Get-AzVMImagePublisher.
$locName="<location>" Get-AzVMImagePublisher -Location $locName | Select PublisherName
Répertoriez les offres d’un éditeur donné à l’aide de la commande Get-AzVMImageOffer.
$pubName="<publisher>" Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
Pour un éditeur et une offre donnés, répertoriez les références SKU disponibles à l’aide de la commande Get-AzVMImageSku.
$offerName="<offer>" Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
Pour une référence SKU, répertoriez les versions de l’image à l’aide de la commande Get-AzVMImage.
$skuName="<SKU>" Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName | Select Version
Vous pouvez également utiliser
latest
si vous souhaitez utiliser l’image la plus récente et non une version antérieure spécifique.
Maintenant, vous pouvez combiner l’éditeur, l’offre, la référence SKU et la version sélectionnés en un schéma URN (valeurs séparées par :). Transmettez cet URN avec le paramètre -Image
lorsque vous créez une machine virtuelle à l'aide de la cmdlet New-AzVM. Vous pouvez également remplacer le numéro de version dans l’URN par latest
pour obtenir la version la plus récente de l’image.
Si vous déployez une machine virtuelle avec un modèle Resource Manager, vous devez définir les paramètres d’image de manière individuelle dans les propriétés imageReference
. Consultez la référence de modèle.
Afficher les propriétés du plan d’achat
Certaines images de machine virtuelle dans la Place de marché Microsoft Azure ont des conditions de licence et d’achat que vous devez accepter pour pouvoir les déployer par programme. Vous devez accepter les conditions de l’image une fois par abonnement.
Pour afficher les informations du plan d’achat d’une image, exécutez la cmdlet Get-AzVMImage
. Si la propriété PurchasePlan
dans la sortie n’est pas null
, l’image a des conditions que vous devez accepter avant le déploiement par programmation.
Par exemple, l’image Windows Server 2016 Datacenter ne possède pas de conditions supplémentaires, car l’information PurchasePlan
est null
:
$version = "2016.127.20170406"
Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Skus $skuName -Version $version
La sortie doit ressembler à celle-ci :
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 : []
L’exemple ci-dessous montre une commande similaire pour l’image Data Science Virtual Machine - Windows 2016, ayant les propriétés PurchasePlan
suivantes : name
, product
et publisher
. Certaines images ont également une propriété promotion code
. Pour déployer cette image, consultez les sections suivantes pour accepter les conditions et activer le déploiement par programmation.
Get-AzVMImage -Location "westus" -PublisherName "microsoft-ads" -Offer "windows-data-science-vm" -Skus "windows2016" -Version "0.2.02"
La sortie doit ressembler à celle-ci :
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 : []
Pour afficher les termes du contrat de licence, utilisez la cmdlet Get-AzMarketplaceterms et transmettez les paramètres de plan d'achat. La sortie contient un lien vers les conditions de l’image de la Marketplace et indique si vous les avez acceptées précédemment. Veillez à utiliser uniquement des lettres minuscules dans les valeurs de paramètre.
Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"
La sortie ressemble à l'exemple suivant :
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
Accepter les conditions du plan d’achat
Utilisez la cmdlet Set-AzMarketplaceterms pour accepter ou rejeter les conditions. Vous ne devez accepter qu’une fois les conditions par abonnement pour l’image. Veillez à utiliser uniquement des lettres minuscules dans les valeurs de paramètre.
$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
Créer une machine virtuelle à partir d’une image de la Place de marché
Si vous avez déjà les informations sur l’image que vous souhaitez utiliser, vous pouvez transmettre ces informations dans l’applet de commande Set-AzVMSourceImage pour ajouter les informations sur l’image à la configuration de la machine virtuelle. Pour rechercher et lister les images disponibles sur la Place de marché, consultez les sections suivantes.
Certaines images payantes vous demandent également de fournir des informations sur le plan d’achat à l’aide de 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
...
Vous transmettez ensuite la configuration de la machine virtuelle en même temps que les autres objets de configuration à l’applet de commande New-AzVM
. Pour obtenir un exemple détaillé de l’utilisation d’une configuration de machine virtuelle avec PowerShell, consultez ce script.
Si vous recevez un message concernant l’acceptation des conditions de l’image, consultez la section précédente Accepter les conditions du plan d’achat.
Créer une machine virtuelle à partir d’un disque dur virtuel avec des informations de plan d’achat
Si vous disposez d’un VHD existant qui a été créé à l’aide d’une image de la Place de marché Azure, vous devrez peut-être fournir les informations du plan d’achat lors de la création d’une machine virtuelle à partir de ce VHD.
Si vous avez toujours la machine virtuelle d’origine, ou une autre machine virtuelle créée à partir de la même image, vous pouvez obtenir le nom du plan, l’éditeur et les informations sur le produit à l’aide de Get-AzVM. Cet exemple obtient une machine virtuelle nommée myVM dans le groupe de ressources myResourceGroup, puis affiche les informations du plan d’achat.
$vm = Get-azvm `
-ResourceGroupName myResourceGroup `
-Name myVM
$vm.Plan
Si vous n’avez pas obtenu les informations du plan avant la suppression de la machine virtuelle d’origine, vous pouvez effectuer une demande de support. La demande de support nécessite au minimum le nom de la machine virtuelle, l’ID d’abonnement et l’horodatage de l’opération de suppression.
Pour créer une machine virtuelle à l’aide d’un VHD, consultez l’article Créer une machine virtuelle à partir d’un VHD spécialisé et ajoutez une ligne pour ajouter les informations du plan à la configuration de la machine virtuelle à l’aide de Set-AzVMPlan, comme ceci :
$vmConfig = Set-AzVMPlan `
-VM $vmConfig `
-Publisher "publisherName" `
-Product "productName" `
-Name "planName"
Étapes suivantes
Pour créer rapidement une machine virtuelle avec la cmdlet New-AzVM
en utilisant des informations d’image de base, consultez Créer une machine virtuelle Windows avec PowerShell.
Pour plus d’informations sur l’utilisation d’images personnalisées de la Place de marché dans une galerie Azure Compute Gallery (auparavant appelée Shared Image Gallery), consultez Spécifier des informations de plan d’achat de la Place de marché Azure lors de la création d’images.