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éer une machine virtuelle à partir de votre galerie
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
Une fois que vous disposez d'une version d'image spécialisée, vous pouvez créer une ou plusieurs nouvelles machines virtuelles à l'aide de la cmdlet New-AzVM.
Dans cet exemple, nous utilisons l’ID de définition d’image pour nous assurer que la nouvelle machine virtuelle utilise la version la plus récente d’une image. Vous pouvez également utiliser une version spécifique en utilisant l’ID de version de l’image pour Set-AzVMSourceImage -Id. Par exemple, pour utiliser la version de l’image 1.0.0 tapez : Set-AzVMSourceImage -Id "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".
L’utilisation d’une version d’image spécifique signifie que l’automatisation peut échouer si cette version d’image spécifique n’est pas disponible parce qu’elle a été effacée ou supprimée de la région. Nous vous recommandons d’utiliser l’ID de définition d’image pour créer votre machine virtuelle, sauf si une version d’image spécifique est requise.
Remplacez les noms de ressources en fonction des besoins dans cet exemple.
# Create some variables for the new VM.
$resourceGroup = "mySIGSpecializedRG"
$location = "South Central US"
$vmName = "mySpecializedVM"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $imageDefinition.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Vous pouvez maintenant créer une ou plusieurs machines virtuelles. Cet exemple crée une machine virtuelle nommée myVM, dans le groupe myResourceGroup du centre de données USA Est.
Accédez à la définition de votre image. Vous pouvez utiliser le filtre de ressources pour afficher toutes les définitions d’images disponibles.
Dans la page de définition de votre image, sélectionnez Créer une machine virtuelle dans le menu situé en haut.
Pour Groupe de ressources, sélectionnez Créer et entrez myResourceGroup comme nom.
Dans Nom de la machine virtuelle, tapez myVM.
Pour Région, sélectionnez USA Est.
Pour Options de disponibilité, conservez la valeur par défaut Aucune redondance d’infrastructure nécessaire.
La valeur sous Image est automatiquement renseignée avec la version d’image latest si vous avez démarré à partir de la page de la définition d’image.
Pour Taille, choisissez une taille de machine virtuelle dans la liste des tailles disponibles, puis Sélectionner.
Sous Compte administrateur, le nom d’utilisateur est grisé parce que le nom d’utilisateur et les informations d’identification de la machine virtuelle source sont utilisés.
Si vous souhaitez autoriser l’accès à distance à la machine virtuelle, sous Ports d’entrée publics, choisissez Autoriser les ports sélectionnés, puis sélectionnez SSH (22) ou RDP (3389) dans la liste déroulante. Si vous ne souhaitez pas autoriser l’accès à distance à la machine virtuelle, conservez la sélection Aucun pour Ports d’entrée publics.
Quand vous avez terminé, sélectionnez le bouton Vérifier + créer en bas de la page.
Une fois la machine virtuelle validée, sélectionnez Créer en bas de la page pour démarrer le déploiement.
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.
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
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.
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.
# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVM"
# Set a variable for the image version in Tenant 1 using the full image ID of the image version
$image = "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>"
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $image | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
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 :
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
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):
Tapez machines virtuelles dans la zone de recherche.
Sous Services, sélectionnez Machines virtuelles.
Dans la page Machines virtuelles, sélectionnez Créer, puis Machine virtuelle. La page Créer une machine virtuelle s’ouvre.
Dans l’onglet De base, sous Détails du projet, vérifiez que l’abonnement approprié est sélectionné, puis choisissez de Créer un groupe de ressources ou sélectionnez-en un dans la liste déroulante.
Sous Détails de l’instance, entrez un nom pour la machine virtuelle.
Pour le type de sécurité, vérifiez que Standard est sélectionné.
Pour votre image, sélectionnez Afficher toutes les images. La page Sélectionner une image s’ouvre.
Dans le menu de gauche, sous Autres éléments, sélectionnez Images de communauté. La page Autres éléments | Images de communauté apparaîtra.
Sélectionnez une image dans la liste. Assurez-vous que l’état du système d’exploitation est Spécialisé. Si vous souhaitez utiliser une image spécialisée, consultez Créer une machine virtuelle à l’aide d’une version d’image généralisée. Selon l’image choisie, la région dans laquelle la machine virtuelle est créée change pour correspondre à l’image.
Complétez les options restantes, puis sélectionnez le bouton Vérifier + créer en bas de la page.
Dans la page Créer une machine virtuelle, vous pouvez voir les détails de la machine virtuelle que vous allez créer. Quand vous êtes prêt, sélectionnez Créer.
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 :
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
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
Notes
Problème connu : dans le portail Azure, si vous sélectionnez une région, sélectionnez une image, puis changez la région, vous obtenez le message d’erreur « Vous pouvez uniquement créer une machine virtuelle dans les régions de réplication de cette image », même quand l’image est répliquée dans cette région. Pour vous débarrasser de l’erreur, sélectionnez une autre région, puis revenez à la région souhaitée. Si l’image est disponible, cette action doit effacer le message d’erreur.
Vous pouvez également utiliser Azure CLI pour vérifier les images partagées avec vous. Par exemple, vous pouvez utiliser « az sig list-shared --location westus » pour voir quelles images sont partagées avec vous dans la région USA Ouest.
Tapez machines virtuelles dans la zone de recherche.
Sous Services, sélectionnez Machines virtuelles.
Dans la page Machines virtuelles, sélectionnez Créer, puis Machine virtuelle. La page Créer une machine virtuelle s’ouvre.
Dans l’onglet De base, sous Détails du projet, vérifiez que l’abonnement approprié est sélectionné, puis choisissez de Créer un groupe de ressources ou sélectionnez-en un dans la liste déroulante.
Sous Détails de l’instance, entrez un nom pour la machine virtuelle.
Pour le type de sécurité, vérifiez que Standard est sélectionné.
Pour votre image, sélectionnez Afficher toutes les images. La page Sélectionner une image s’ouvre.
Dans le menu de gauche, sous Autres éléments, sélectionnez Images partagées directes (PRÉVERSION). La page Autres éléments | Images partagées directes (PRÉVERSION) apparaît.
Sélectionnez une image dans la liste. Assurez-vous que l’état du système d’exploitation est Spécialisé. Si vous souhaitez utiliser une image généralisée, consultez Créer une machine virtuelle à l’aide d’une version d’image généralisée. Selon l’image que vous choisissez, la région dans laquelle la machine virtuelle est créée change pour correspondre à l’image.
Complétez les options restantes, puis sélectionnez le bouton Vérifier + créer en bas de la page.
Dans la page Créer une machine virtuelle, vous pouvez voir les détails de la machine virtuelle que vous allez créer. Quand vous êtes prêt, sélectionnez Créer.