Rechercher des informations sur les images de Place de marché Azure à l’aide d’Azure CLI

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation et organisez-vous en conséquence. Pour plus d’informations, consultez l’aide sur la fin de vie de CentOS.

S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles

Cette rubrique décrit comment utiliser Azure CLI pour rechercher des images de machine virtuelle sur la Place de marché Microsoft Azure. Ces informations permettent de spécifier une image de la Place de marché lorsque vous créez une machine virtuelle par programmation avec l’interface CLI, des modèles de Resource Manager ou d’autres outils.

Vous pouvez également parcourir les images et offres disponibles à l’aide de la Place de marché Azure ou d’Azure PowerShell.

Terminologie

Une image de Place de Marché dans Azure a les attributs suivants :

  • Éditeur : organisation qui a créé l’image. Exemples : Canonical, RedHat, SUSE.
  • Offre : nom du groupe d’images associées créé par un éditeur. Exemples : 0001-com-ubuntu-server-jammy, RHEL, sles-15-sp3.
  • Référence SKU : instance d’une offre, par exemple une version majeure d’une distribution. Exemples : 22_04-lts-gen2, 8-lvm-gen2, gen2.
  • 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 en plus, vous devez accepter ces termes avant de pouvoir utiliser l’image. Pour plus d’informations, consultez Vérifier les informations du plan d’achat.

Vous pouvez exécuter az vm image list --all pour afficher toutes les images disponibles, mais la production de la liste entière peut prendre plusieurs minutes. Une option plus rapide est d’utiliser az vm image list, sans l’option --all pour afficher la liste des images de machine virtuelle populaires sur la Place de marché Microsoft Azure. Par exemple, exécutez la commande suivante pour afficher une liste mise en cache d’images populaires dans un format de tableau :

az vm image list --output table

La sortie inclut l’URN de l’image. Si vous omettez l’option --all, vous pouvez voir les UrnAlias pour chaque image, le cas échéant. UrnAlias est une version abrégée créée pour les images populaires comme Ubuntu2204. Les noms d’alias de l’image Linux et leurs détails générés par cette commande sont les suivants :

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                                CentOS85Gen2             latest
x64             Debian11                      Debian                  11-backports-gen2                   Debian:debian-11:11-backports-gen2:latest                                       Debian-11                latest
x64             flatcar-container-linux-free  kinvolk                 stable-gen2                         kinvolk:flatcar-container-linux-free:stable-gen2:latest                         FlatcarLinuxFreeGen2     latest
x64             opensuse-leap-15-4            SUSE                    gen2                                SUSE:opensuse-leap-15-4:gen2:latest                                             OpenSuseLeap154Gen2      latest
x64             RHEL                          RedHat                  8-lvm-gen2                          RedHat:RHEL:8-lvm-gen2:latest                                                   RHELRaw8LVMGen2          latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             0001-com-ubuntu-server-jammy  Canonical               22_04-lts-gen2                      Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest                    Ubuntu2204               latest

Les noms d’alias de l’image Windows et leurs détails générés par cette commande sont les suivants :

Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Alias                    Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ -----------------------  ---------
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                    Win2022Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore   latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                    Win2019Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                    Win2016Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                 Win2012R2Datacenter       latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                    Win2012Datacenter         latest

Recherche d’images spécifiques

Vous pouvez filtrer la liste des images par --publisher ou un autre paramètre pour limiter les résultats.

Par exemple, la commande suivante affiche toutes les offres Debian :

az vm image list --offer Debian --all --output table

Vous pouvez limiter vos résultats à une architecture unique en ajoutant le paramètre --architecture. Par exemple, pour afficher toutes les images Arm64 disponibles à partir de Canonical :

az vm image list --architecture Arm64 --publisher Canonical --all --output table

Consulter toutes les images disponibles

Une autre façon de trouver une image dans un emplacement consiste à exécuter successivement les commandes az vm image list-publishers, az vm image list-offers et az vm image list-skus. Ces commandes vous permettent de déterminer les valeurs suivantes :

  1. Répertoriez les éditeurs d’images pour un emplacement. Dans cet exemple, nous nous intéressons à la région USA Ouest.

    az vm image list-publishers --location westus --output table
    
  2. pour un éditeur donné, en répertoriant ses offres ; Dans cet exemple, nous ajoutons RedHat comme éditeur.

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. pour une offre donnée, en répertoriant ses références SKU. Dans cet exemple, nous ajoutons RHEL comme offre.

    az vm image list-skus --location westus --publisher RedHat --offer RHEL --output table
    

Notes

Canonical a modifié les noms d’offres qu’ils utilisent pour les versions les plus récentes. Avant Ubuntu 20.04, le nom de l’offre est UbuntuServer. Pour Ubuntu 20.04, le nom de l’offre est 0001-com-ubuntu-server-focal et pour Ubuntu 22.04, il s’agit de 0001-com-ubuntu-server-jammy.

  1. Pour un éditeur, une offre et une référence SKU donnés, affichez toutes les versions de l’image. Dans cet exemple, nous ajoutons 9_1 comme référence SKU.

    az vm image list \
        --location westus \
        --publisher RedHat \
        --offer RHEL \
        --sku 9_1 \
        --all --output table
    

Passez cette valeur de la colonne URN avec le paramètre --image lorsque vous créez une machine virtuelle avec la commande az vm create. Vous pouvez également remplacer le numéro de version dans l’URN par « latest » pour utiliser la version la plus récente de l’image.

Si vous déployez une machine virtuelle avec un modèle Resource Manager, vous définissez les paramètres d’image individuellement dans les propriétés imageReference. Consultez la référence de modèle.

Vérifier les informations 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.

Pour déployer une machine virtuelle à partir d’une telle image, vous devez accepter les conditions de l’image la première fois que vous l’utilisez, une fois par abonnement. Vous devez également spécifier les paramètres du plan d’achat pour déployer une machine virtuelle à partir de cette image.

Pour afficher les informations du plan d’achat d’une image, exécutez la commande az vm image show avec l’URN de l’image. Si la propriété plan 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 Canonical Ubuntu Server 18.04 LTS ne possède pas de conditions en plus, car les informations de plan sont null :

az vm image show --location westus --urn Canonical:UbuntuServer:18.04-LTS:latest

Sortie :

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201901220",
  "location": "westus",
  "name": "18.04.201901220",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

L’exécution d’une commande similaire pour le RabbitMQ certifié par Bitnami image affiche les propriétés plan suivantes : name, product, et publisher. (Certaines images ont également une propriété promotion code.)

az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest

Sortie :

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1901151016",
  "location": "westus",
  "name": "3.7.1901151016",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": {
    "name": "rabbitmq",
    "product": "rabbitmq",
    "publisher": "bitnami"
  },
  "tags": null
}

Pour déployer cette image, vous devez accepter les conditions générales et fournir les paramètres du plan d’achat lorsque vous déployez une machine virtuelle en utilisant cette image.

Accepter les conditions

Pour voir et accepter les termes du contrat de licence, utilisez la commande az vm image terms. Lorsque vous acceptez les termes, vous activez un déploiement par programmation dans votre abonnement. Vous ne devez accepter qu’une fois les conditions par abonnement pour l’image. Par exemple :

az vm image terms show --urn bitnami:rabbitmq:rabbitmq:latest

La sortie inclut un licenseTextLink aux termes du contrat de licence et indique que la valeur de accepted est true :

{
  "accepted": true,
  "additionalProperties": {},
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.MarketplaceOrdering/offertypes/bitnami/offers/rabbitmq/plans/rabbitmq",
  "licenseTextLink": "https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_BITNAMI%253a24RABBITMQ%253a24RABBITMQ%253a24IGRT7HHPIFOBV3IQYJHEN2O2FGUVXXZ3WUYIMEIVF3KCUNJ7GTVXNNM23I567GBMNDWRFOY4WXJPN5PUYXNKB2QLAKCHP4IE5GO3B2I.txt",
  "name": "rabbitmq",
  "plan": "rabbitmq",
  "privacyPolicyLink": "https://bitnami.com/privacy",
  "product": "rabbitmq",
  "publisher": "bitnami",
  "retrieveDatetime": "2019-01-25T20:37:49.937096Z",
  "signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
  "type": "Microsoft.MarketplaceOrdering/offertypes"
}

Pour accepter les conditions générales, saisissez :

az vm image terms accept --urn bitnami:rabbitmq:rabbitmq:latest

Déployer une nouvelle machine virtuelle en utilisant les paramètres de l’image

Avec les informations sur l’image, vous pouvez la déployer à l’aide de la commande az vm create.

Pour déployer une image qui n’a pas d’informations de plan, comme la dernière image Ubuntu Server 18.04 de Canonical, transmettez l’URN pour --image :

az group create --name myURNVM --location westus
az vm create \
   --resource-group myURNVM \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image Canonical:UbuntuServer:18.04-LTS:latest

Pour une image avec des paramètres de plan d’achat, comme l’image RabbitMQ Certified by Bitnami, vous transmettez l’URN pour --image et fournissez également les paramètres du plan d’achat :

az group create --name myPurchasePlanRG --location westus

az vm create \
   --resource-group myPurchasePlanRG \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image bitnami:rabbitmq:rabbitmq:latest \
   --plan-name rabbitmq \
   --plan-product rabbitmq \
   --plan-publisher bitnami

Si vous recevez un message concernant l’acceptation des conditions de l’image, consultez la section Accepter les conditions. Assurez-vous que la sortie de az vm image accept-terms renvoie la valeur "accepted": true, indiquant que vous avez accepté les conditions de l’image.

Utilisation d’un VHD existant avec des informations de plan d’achat

Si vous disposez du VHD d’une machine virtuelle qui a été créée à l’aide d’une image payante de Place de marché Azure, vous devrez peut-être donner 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 à l’aide de la même image, vous pouvez obtenir le nom du plan, l’éditeur et les informations sur le produit en utilisant az vm get-instance-view. Cet exemple obtient une machine virtuelle nommée myVM dans le groupe de ressources myResourceGroup, puis affiche les informations du plan d’achat.

az vm get-instance-view -g myResourceGroup -n myVM --query 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. Ils auront besoin du nom de la machine virtuelle, de l’ID d’abonnement et de l’horodatage de l’opération de suppression.

Une fois que vous avez les informations du plan, vous pouvez créer la machine virtuelle en utilisant le paramètre --attach-os-disk pour spécifier le VHD.

az vm create \
  --resource-group myResourceGroup \
  --name myNewVM \
  --nics myNic \
  --size Standard_DS1_v2 --os-type Linux \
  --attach-os-disk myVHD \
  --plan-name planName \
  --plan-publisher planPublisher \
  --plan-product planProduct

Étapes suivantes

Pour créer rapidement une machine virtuelle en utilisant les informations d’une image, consultez Créer et gérer des machines virtuelles Linux avec l’interface Azure CLI.