Créer une machine virtuelle à partir d’une version d’image généralisée

Créez une machine virtuelle à partir d’une version d’image généralisée stockée dans une galerie Azure Compute Gallery (anciennement Shared Image Gallery). Si vous souhaitez créer une machine virtuelle en utilisant une image spécialisée, consultez Créer une machine virtuelle à partir d’une image spécialisée.

Cet article montre comment créer une machine virtuelle à partir d’une image généralisée :

Répertoriez les définitions d’images d’une galerie avec la commande az sig image-definition list pour voir le nom et l’ID des définitions.

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list --resource-group $resourceGroup --gallery-name $gallery --query "[].[name, id]" --output tsv

Créez une machine virtuelle à l’aide de la commande az vm create. Pour utiliser la version la plus récente de l’image, définissez --image sur l’ID de la définition d’image.

Cet exemple porte sur la création d’une machine virtuelle Linux sécurisée avec SSH. Pour Windows ou pour sécuriser une machine virtuelle Linux avec un mot de passe, supprimez --generate-ssh-keys pour être invité à entrer un mot de passe. Si vous souhaitez fournir un mot de passe directement, remplacez --generate-ssh-keys par --admin-password. Remplacez les noms de ressources en fonction des besoins dans cet exemple.

imgDef="/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Vous pouvez également utiliser une version spécifique en utilisant l’ID de version de l’image pour le paramètre --image. Par exemple, pour utiliser la version de l’image 1.0.0 tapez : --image "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".

RBAC - Partagé au sein de votre organisation

Si l’abonnement où réside la galerie se trouve dans le même locataire, les images partagées via RBAC peuvent être utilisées pour créer des machines virtuelles à l’aide de l’interface CLI et de PowerShell.

Vous avez besoin de l’imageID de l’image que vous voulez utiliser et vous devez vous assurer qu’elle est répliquée dans la région où vous souhaitez créer la machine virtuelle.

Vérifiez que l’état de l’image est Generalized. Si vous souhaitez utiliser une image avec l’état Specialized, consultez Créer une machine virtuelle à partir d’une version d’image spécialisée.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

RBAC - Partagé à partir d’un autre locataire

Si l’image que vous souhaitez utiliser est stockée dans une galerie qui ne se trouve pas dans le même tenant (répertoire), vous devez vous connecter à chaque tenant pour vérifier que vous y avez accès.

Vous avez besoin de l’élément imageID de l’image que vous voulez utiliser et vous devez vérifier qu’elle est répliquée dans la région où vous souhaitez créer la machine virtuelle. Vous avez également besoin du tenantID pour la galerie source et du tenantID de l’endroit où vous voulez créer la machine virtuelle.

Dans cet exemple, nous montrons comment créer une machine virtuelle à partir d’une image généralisée. Si vous utilisez une image spécialisée, consultez Créer une machine virtuelle à l’aide d’une version d’image spécialisée.

Vous devez vous connecter au locataire dans lequel l’image est stockée, obtenir un jeton d’accès, puis vous connecter au locataire dans lequel vous souhaitez créer la machine virtuelle. C’est ainsi qu’Azure authentifie que vous avez accès à l’image.


tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token
az login --tenant $tenant1
az account get-access-token

Créez la machine virtuelle. Remplacez les informations dans l’exemple par vos propres données. Avant de créer la machine virtuelle, assurez-vous que l’image est répliquée dans la région où vous souhaitez créer la machine virtuelle.

imageid="<ID of the image that you want to use>"
resourcegroup="<name for the resource group>"
location="<location where the image is replicated>"
user='<username for the VM>'
name='<name for the VM>'

az group create --location $location --resource-group $resourcegroup
az vm create \
  --resource-group $resourcegroup \
  --name $name \
  --image $imageid \
  --admin-username $user \
  --generate-ssh-keys

Important

Microsoft ne prend pas en charge les images dans la galerie de communauté.

Signalement de problèmes liés à une image de la communauté

L’utilisation des images de machine virtuelle envoyées par la communauté présente plusieurs risques. Les images peuvent contenir des programmes malveillants, avoir des failles de sécurité ou violer la propriété intellectuelle d’une personne. Pour nous aider à créer une expérience sécurisée et fiable pour la communauté, vous pouvez signaler les images dans lesquelles vous rencontrez ces problèmes.

Le moyen le plus simple de signaler des problèmes avec une galerie de la communauté consiste à utiliser le portail, qui pré-remplira les informations nécessaires au rapport :

  • Pour les problèmes liés aux liens ou à d’autres informations dans les champs d’une définition d’image, sélectionnez Signaler une image de la communauté.
  • Si une version d’image contient du code malveillant ou s’il existe d’autres problèmes avec une version spécifique d’une image, sélectionnez Signaler sous la colonne Version du rapport dans le tableau des versions d’image.

Vous pouvez également utiliser les liens suivants pour signaler des problèmes, mais les formulaires ne sont pas préremplis :

Pour créer une machine à partir d’une image partagée dans une galerie de communauté, utilisez l’identifiant unique de l’image pour --image qui figurera dans le format suivant :

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

Suivez ces instructions pour obtenir la liste des images de communauté à l’aide de l’interface CLI :

Step 1:  Show all 'Community images' in a specific location
az sig list-community --location westus2

Step 2: Once you have the public gallery name from Step 1, Get the Image definition (Name) of the image by running the following command
az sig image-definition list-community --public-gallery-name <<public gallery name>> --location westus2

Step 3: Finally, run the following command to list different image versions available for the specific image
az sig image-version list-community --public-gallery-name <<galleryname>> --gallery-image-definition <<image name>> --location westus2

Pour obtenir le nom public d’une galerie de communauté à partir du portail. Accédez à Machines virtuelles>Créer>Machine virtuelle Azure>Image>Afficher toutes les images de machines virtuelles>Images de communauté>Nom de la galerie publique.

Dans cet exemple, nous créons une machine virtuelle depuis une image Linux, puis créons des clés SSH pour l’authentification.

imgDef="/CommunityGalleries/ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/myLinuxImage/Versions/latest"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Lorsque vous utilisez une image de communauté, vous êtes invité à accepter les conditions légales. Le message ressemble à ceci :

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

Important

Galerie Azure Compute Gallery : la galerie partagée directe est en préversion et est soumise aux Conditions d’évaluation d’Azure Compute Gallery.

Pour publier des images dans une galerie partagée directe pendant la préversion, vous devez vous inscrire sur https://aka.ms/directsharedgallery-preview. La création de machines virtuelles à partir de la galerie partagée directe est ouverte à tous les utilisateurs d’Azure.

Pendant la préversion, vous devez créer une galerie, en définissant la propriété sharingProfile.permissions sur Groups. Quand vous utilisez l’interface CLI pour créer une galerie, utilisez le paramètre --permissions groups. Vous ne pouvez pas utiliser une galerie existante ; la propriété ne peut pas être mise à jour.

Pour créer une machine virtuelle en utilisant une image partagée avec votre abonnement ou locataire, vous avez besoin de l’ID unique de l’image au format suivant :

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

Pour rechercher le uniqueID d’une galerie partagée avec vous, utilisez az sig list-shared. Dans cet exemple, nous recherchons les galeries dans la région USA Ouest.

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

Utilisez le nom de la galerie pour rechercher les images disponibles. Dans cet exemple, nous dressons la liste de toutes les images de la région USA Ouest et par nom, l’ID unique nécessaire pour créer une machine virtuelle, un système d’exploitation et un état du système d’exploitation.

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Vérifiez que l’état de l’image est Generalized. Si vous souhaitez utiliser une image avec l’état Specialized, consultez Créer une machine virtuelle à partir d’une version d’image spécialisée.

Utilisez l’Id à partir de la sortie, suivi de /Versions/latest pour utiliser la dernière version, comme valeur pour --image afin de créer une machine virtuelle. Dans cet exemple, nous créons une machine virtuelle depuis une image Linux directement partagée avec nous, puis créons des clés SSH pour l’authentification.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Étapes suivantes