Créer une machine virtuelle à l’aide d’une version image spécialisée

S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows

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

Cet article montre comment créer une machine virtuelle à partir d’une image spécialisée :

Important

Lorsque vous créez une nouvelle machine virtuelle à partir d’une image spécialisée, la nouvelle machine conserve le nom d’ordinateur de la machine virtuelle d’origine. D’autres informations spécifiques à l’ordinateur, comme le CMID, sont également conservées. Ces informations en double peuvent entraîner des problèmes. Quand vous copiez une machine virtuelle, vous devez connaître les types d’informations spécifiques à l’ordinateur dont vos applications dépendent.

Créez une machine virtuelle à partir d’une galerie interne.

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 la machine virtuelle à l’aide de la commande az vm create, en spécifiant le paramètre --specialized pour indiquer que l’image est une image spécialisée.

Utilisez l’ID de définition d’image pour --image afin de créer la machine virtuelle à partir de la version la plus récente de l’image disponible. Vous pouvez également créer la machine virtuelle à partir d’une version spécifique en fournissant l’ID de version de l’image pour --image.

Dans cet exemple, nous créons une machine virtuelle à partir de la dernière version de l’image myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

RBAC - dans 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 que l’image est répliquée dans la région où vous souhaitez créer la machine virtuelle.


image="/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup='myResourceGroup'
location='westus'
vmName='myVM'

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $image \
   --specialized

RBAC - d’un autre locataire ou d’une autre organisation

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

Vous avez besoin de l’imageID de l’image que vous voulez utiliser et vous devez vous assurer que l’image 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.

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

Créez la machine virtuelle à l’aide de la commande az vm create, en spécifiant le paramètre --specialized pour indiquer que l’image est une image spécialisée.


imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'

az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
    --name $name \
    --image $image \
    --specialized

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 le paramètre --image, qui sera au format suivant :

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

En tant qu’utilisateur final, vous devez utiliser le portail pour obtenir le nom public d’une galerie de communauté. 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.

Répertoriez toutes les définitions d’images disponibles dans une galerie de communauté à l’aide de az sig image-definition list-community. Dans cet exemple, nous dressons la liste de toutes les images de la galerie ContosoImage 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.

 az sig image-definition list-community \
   --public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
   --location westus \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Pour créer une machine virtuelle à partir d’une image généralisée dans une galerie de communauté, consultez Créer une machine virtuelle à partir d’une version d’image généralisée.

Créez la machine virtuelle à l’aide de la commande az vm create, en spécifiant le paramètre --specialized pour indiquer que l’image est une image spécialisée.

Dans cet exemple, nous créons une machine virtuelle à partir de la dernière version de l’image myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
    --specialized

Lorsque vous utilisez une image de communauté, vous êtes invité à accepter les conditions légales. Le message se présente comme suit :

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 la dernière version d’une image partagée avec votre abonnement ou locataire, vous avez besoin de l’ID 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 toutes 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 Specialized. Si vous souhaitez utiliser une image avec l’état Generalized, consultez Créer une machine virtuelle à partir d’une version d’image généralisée.

Créez la machine virtuelle à l’aide de la commande az vm create, en spécifiant le paramètre --specialized pour indiquer que l’image est une image spécialisée.

Utilisez l’Id, suivi de /Versions/latest pour utiliser la dernière version, comme valeur de « --image » pour créer une machine virtuelle.

Dans cet exemple, nous créons une machine virtuelle à partir de la dernière version de l’image myImageDefinition.

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

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --specialized

Étapes suivantes