Stocker et partager des images dans une galerie Azure Compute Gallery

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

Une image est une copie d’une machine virtuelle complète (dont tous les disques de données attachés) ou juste du disque de système d’exploitation, selon la façon dont elle est créée. Quand vous créez une machine virtuelle à partir de l’image, une copie des disques durs virtuels dans l’image est utilisée pour créer les disques de la nouvelle machine virtuelle. L’image reste dans le stockage et peut être utilisée sans limite pour créer des machines virtuelles.

Si vous avez un grand nombre d’images à gérer et que vous voulez qu’elles soient disponibles dans toute votre entreprise, vous pouvez utiliser une galerie Azure Compute Gallery comme référentiel.

Lorsque vous utilisez une galerie pour stocker des images, plusieurs types de ressources sont créés :

Ressource Description
Source d’image Cette ressource peut être utilisée pour créer une version d’image dans une galerie. Une source d’image peut être une machine virtuelle Azure existante qui est généralisée ou spécialisée, une image managée, une capture instantanée, un disque dur virtuel ou une version d’image dans une autre galerie.
Galerie Tout comme la Place de marché Azure, une galerie est un référentiel permettant de gérer et partager des images et d’autres ressources, mais vous contrôlez les utilisateurs qui y ont accès.
Définition d'image Les définitions d’image sont créées dans une galerie et contiennent des informations sur l’image et sur les exigences relatives à son utilisation pour créer des machines virtuelles. Ces informations indiquent, par exemple, si l’image est Windows ou Linux, et comprennent les notes de publication et les exigences de mémoire maximale et minimale. Il s’agit de la définition d’un type d’image.
Version de l’image Une version d’image est ce qui vous permet de créer une machine virtuelle quand vous utilisez une galerie. Vous pouvez avoir plusieurs versions d’une image en fonction des besoins de votre environnement. Tout comme une image managée, quand vous utilisez une version d’image pour créer une machine virtuelle, la version d’image permet de créer des disques pour la machine virtuelle. Les versions d’image peuvent être utilisées plusieurs fois.

Graphique montrant comment vous pouvez avoir plusieurs versions d’une image dans la galerie

Définitions d’image

Une définition d’image est un regroupement logique des versions d’une image. La définition d’image contient des informations sur la raison pour laquelle l’image a été créée, mais aussi des métadonnées d’image telles que le système d’exploitation concerné, les fonctionnalités prises en charge et d’autres informations sur l’utilisation de l’image. Une définition d’image est similaire à un plan, qui inclut l’ensemble des détails concernant la création d’une image spécifique. Vous ne déployez pas une machine virtuelle à partir d’une définition d’image, mais à partir des versions de l’image créées sur la base de la définition.

Il existe trois paramètres pour chaque définition d’image, qui sont utilisés les uns avec les autres : Publisher, Offre et SKU. Ils permettent de rechercher une définition d’image spécifique. Des définitions d'image peuvent partager une ou deux de ces valeurs, mais pas les trois. Par exemple, voici trois définitions d'image et leurs valeurs :

Définition de l’image Publisher Offre Sku
myImage1 Contoso Finances Backend
myImage2 Contoso Finances Serveur frontal
myImage3 Test Finances Serveur frontal

Ces trois définitions présentent des ensembles de valeurs uniques. Le format ressemble à celui qui est utilisé pour spécifier un éditeur (publisher), une offre et une SKU pour des images Azure Marketplace dans Azure PowerShell, afin d’obtenir la toute dernière version d’une image d’une Place de marché Microsoft Azure. Chaque définition d’image doit disposer d’un ensemble unique de ces valeurs.

Les paramètres suivants déterminent les types de versions d’images qu’elles peuvent contenir :

  • État de système d’exploitation : vous pouvez définir l’état du système d’exploitation sur la valeur Généralisée ou Spécialisée. Ce champ doit obligatoirement être renseigné.
  • Système d’exploitation : Windows ou Linux. Ce champ doit obligatoirement être renseigné.
  • Génération d’Hyper-V : spécifiez si l’image a été créée à partir d’un disque dur virtuel Hyper-V de génération 1 ou de génération 2. Par défaut, il s’agit de génération 1.

Les définitions d’image contiennent les métadonnées de l’image afin de permettre le regroupement d’images qui prennent en charge les mêmes éléments tels les fonctionnalités, le plan, l’état du système d’exploitation, le type de système d’exploitation, etc. Voici d’autres paramètres qui peuvent être configurés sur votre définition d’image de sorte à faciliter le suivi de vos ressources :

  • Description : elle vous permet de fournir des informations plus détaillées sur la raison pour laquelle la définition d’image a été créée. Par exemple, vous disposez peut-être d’une définition d’image pour votre serveur front-end sur lequel l’application est préinstallée.

  • CLUF : il peut être utilisé pour pointer vers un contrat de licence utilisateur final spécifique à la définition d’image.

  • Notes de publication et déclaration de confidentialité : stockez des notes de publication et des déclarations de confidentialité dans le stockage Azure et fournissez un URI permettant d’y accéder dans la définition d’image.

  • Date de fin de vie : établissez une date par défaut après laquelle l’image ne doit pas être utilisée, pour toutes les versions d’image de la définition d’image. Les dates de fin de vie sont fournies à titre d’information. Les utilisateurs peuvent toujours créer des machines virtuelles à partir d’images et de versions dont la date de fin de vie est dépassée.

  • Étiquette : vous pouvez ajouter des étiquettes lorsque vous créez votre définition d’image. Pour en savoir plus sur les étiquettes, voir Organisation des ressources Azure à l’aide d’étiquettes.

  • Suggestions concernant la quantité maximale et minimale de processeurs virtuels et de mémoire : si votre image est associée à ces types de recommandation, vous pouvez indiquer ces informations dans votre définition d’image.

  • Types de disque non autorisés : vous pouvez fournir des informations sur les besoins de votre machine virtuelle en termes de stockage. Par exemple, si l’image n’est pas adaptée aux disques durs standard, vous pouvez les ajouter à la liste de disques non autorisés.

  • Informations sur le plan d’achat d’images de la Place de marché - -PurchasePlanPublisher, -PurchasePlanName et -PurchasePlanProduct. Pour en savoir plus sur les informations relatives au plan d’achat, consultez Trouver des images dans la Place de marché Azure et Donner des informations sur le plan d’achat de la Place de marché Azure lors de la création d’images.

  • Architecture

  • Les fonctionnalités vous permettent de spécifier des fonctionnalités supplémentaires et des SecurityType(s) pris en charge sur l’image, en fonction du type de galerie :

    Fonctionnalités Valeurs acceptées Définition Pris en charge dans
    IsHibernateSupported True, False Créer des machines virtuelles avec prise en charge de la mise en veille prolongée. Privé, partagé direct, communauté
    IsAcceleratedNetworkSupported True, False Créer des machines virtuelles avec les performances réseau accélérées activées. Lorsque la valeur est définie sur True sur la définition d’image, la capture des machines virtuelles qui ne prennent pas en charge les performances réseau accélérées n’est pas prise en charge. Privé, partagé direct, communauté
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Définissez cette valeur pour utiliser le type de disque SCSI ou NVMe. Les machines virtuelles et les disques NVMe peuvent uniquement être capturés dans des définitions d’image marquées pour prendre en charge NVMe. Privé, partagé direct, communauté

    Lorsque vous spécifiez un SecurityType à l’aide du paramètre features, cela limite les fonctionnalités de sécurité activées sur la machine virtuelle. Certains types sont limités, en fonction du type de galerie dans lequel ils sont stockés :

    SecurityType Définition Pris en charge dans
    ConfidentialVMSupported Image Gen2 générique qui ne contient pas d’objet blob VMGS. Une machine virtuelle Gen2 ou confidentielle peut être créée à partir de ce type d’image. Privé, partagé direct, communauté
    Machine virtuelle confidentielle Seules des machines virtuelles confidentielles peuvent être créées à partir de ce type d’image. Privées
    TrustedLaunchSupported Image Gen2 générique qui ne contient pas l’objet blob VMGS. Une machine virtuelle Gen2 ou TrustedLaunch peut être créée à partir de ce type d’image. Privé, partagé direct, communauté
    TrustedLaunch Seule une machine virtuelle TrustedLaunch peut être créée à partir de ce type d’image. Privées
    TrustedLaunchAndConfidentialVmSupported Image Gen2 générique qui ne contient pas l’objet blob VMGS. Une machine virtuelle Gen2, TrustedLaunch ou confidentielle peut être créée à partir de ce type d’image. Privé, partagé direct, communauté

    Pour plus d’informations, consultez les exemple CLI pour l’ajout de fonctionnalités de définition d’image et SecurityType ou d’exemples PowerShell.

    **ConfidentialVM est uniquement pris en charge dans ses régions de disponibilité. Vous pouvez trouver les régions prises en charge ici.

Versions d’images

Une version d’image est ce que vous utilisez pour créer une machine virtuelle. Vous pouvez avoir plusieurs versions d’une image en fonction des besoins de votre environnement. Quand vous utilisez une version d’image pour créer une machine virtuelle, la version d’image est utilisée pour créer des disques pour la machine virtuelle. Les versions d’image peuvent être utilisées plusieurs fois.

Les propriétés d’une version d’image sont les suivantes :

  • Numéro de version. Il est utilisé comme nom de la version d’image. Son format est toujours : MajorVersion.MinorVersion.Patch. Si vous spécifiez d’utiliser la dernière image lors de la création d’une machine virtuelle, la dernière image est choisie en fonction de la valeur la plus élevée de MajorVersion, de MinorVersion, puis de Patch.
  • Source. La source peut être une machine virtuelle, un disque managé, une capture instantanée, une image managée ou une autre version de l’image.
  • Date de fin de vie. Indiquez la date de fin de vie de la version de l’image. Les dates de fin de vie sont fournies à titre d’information. Les utilisateurs peuvent toujours créer des machines virtuelles à partir de versions dont la date de fin de vie est dépassée.

Images généralisées et spécialisées

Il existe deux états de système d'exploitation pris en charge par Azure Compute Gallery. Généralement, les images nécessitent que la machine virtuelle utilisée pour créer l'image ait été généralisée avant de créer l'image. La généralisation est un processus qui supprime de la machine virtuelle les informations spécifiques à la machine et à l'utilisateur. Pour Linux, vous pouvez utiliser waagent-deprovision ou les paramètres -deprovision+user. Pour Windows, l’outil Sysprep est utilisé.

Les machines virtuelles spécialisées n'ont pas été soumises à un processus de suppression des informations et des comptes spécifiques aux machines. Par ailleurs, les machines virtuelles créées à partir d'images spécialisées ne sont associées à aucun osProfile. Cela signifie que les images spécialisées ont certaines limites en plus de certains avantages.

  • Les machines virtuelles et les groupes identiques créés à partir d’images spécialisées peuvent être opérationnels plus rapidement. Étant donné qu’ils sont créés à partir d’une source qui a déjà fait l’objet d’un premier démarrage, les machines virtuelles créées à partir de ces images démarrent plus rapidement.
  • Les comptes qui pourraient être utilisés pour se connecter à la machine virtuelle peuvent également être utilisés sur n'importe quelle machine virtuelle créée en utilisant l'image spécialisée créée à partir de celle-ci.
  • Les machines virtuelles porteront le nom de l'ordinateur de la machine virtuelle d’où est extraire l’image. Vous devriez renommer l’ordinateur pour éviter tout conflit.
  • Le osProfile représente la façon dont certaines informations sensibles sont transmises à la machine virtuelle, en utilisant secrets. Cela peut entraîner des problèmes lors de l'utilisation de KeyVault, WinRM et d'autres fonctionnalités qui utilisent secrets dans le osProfile. Dans certains cas, vous pouvez utiliser des identités de service managées (MSI) pour contourner ces limitations.

Mise à jour des ressources

Une fois qu’elles sont créées, vous pouvez apporter des modifications aux ressources de la galerie. Ceux-ci sont limités aux éléments suivants :

Azure Compute Gallery :

  • Description

Définition d’image :

  • Processeurs virtuels recommandés
  • Mémoire recommandée
  • Description
  • Date de fin de vie
  • ReleaseNotes

Version d’image :

  • Nombre de réplicas régionaux
  • Régions cibles
  • Exclure de la plus récente
  • Date de fin de vie

Partage

Il existe trois façons principales de partager des images dans une galerie Azure Compute Gallery, selon les personnes avec lesquelles vous souhaitez partager :

À partager avec : Personnes Groupes Principal de service Tous les utilisateurs d’un locataire (ou) d’un abonnement spécifique Publiquement avec tous les utilisateurs dans Azure
Partage RBAC Oui Oui Oui No Non
RBAC + Galerie partagée directe Oui Oui Oui Oui Non
RBAC + Galerie de la communauté Oui Oui Oui No Oui

Autorisations RBAC requises pour créer une image ACG :

Les images ACG peuvent être créées par des utilisateurs à partir de différentes sources, notamment des machines virtuelles, des disques/instantanés et des disques durs virtuels. La section décrit les différentes autorisations utilisateur nécessaires à la création d’une image Azure Compute Gallery. Les identités sans les autorisations nécessaires ne pourront pas créer d’images ACG.

  • Les utilisateurs nécessitent une autorisation en écriture sur la machine virtuelle pour créer une version d’image ACG.
  • Pour le SDK Azure, utilisez la propriété properties.storageProfile.source.virtualMachineId. Cette propriété nécessite l’API version 2023-07-03 ou version 1.4.0 (ou ultérieure) du SDK .NET
Type de source Autorisations requises
Machine virtuelle Écrire
Disque/instantané Écrire
VHD Écriture (listKeys)
Image managée Lire
Image de galerie Lire

Consulter notre documentation pour plus d’informations sur les rôles intégrés Azure pour accorder des autorisations RBAC

Réplication peu profonde

Lorsque vous créez une version d’image, vous pouvez définir le mode de réplication sur peu profond pour le développement et le test. La réplication peu profonde ignore la copie de l’image ; ainsi, la version de l’image est prête plus rapidement. Toutefois, cela signifie également que vous ne pouvez pas déployer un grand nombre de machines virtuelles à partir de cette version d’image. Cela est similaire à la façon dont les anciennes images managées fonctionnaient.

La réplication peu profonde peut également être utile si vous avez des images volumineuses (jusqu’à 32 To) qui ne sont pas fréquemment déployées. Étant donné que l’image source n’est pas copiée, des disques plus volumineux peuvent être utilisés. Mais ils ne peuvent pas également être utilisés pour déployer un grand nombre de machines virtuelles simultanément.

Pour définir une image pour la réplication peu profonde, utilisez --replication-mode Shallow avec Azure CLI.

Prise en charge des Kits de développement logiciel (SDK)

Les SDK suivants prennent en charge la création de galeries Azure Compute Gallery :

Modèles

Vous pouvez créer la ressource Azure Compute Gallery en utilisant des modèles. Plusieurs modèles de démarrage rapide sont disponibles :

Forum aux questions

Pour lister toutes les ressources Azure Compute Gallery de différents abonnements auxquels vous avez accès sur le portail Azure, suivez les étapes ci-dessous :

  1. Ouvrez le portail Azure.
  2. Faites défiler la page vers le bas, puis sélectionnez Toutes les ressources.
  3. Sélectionnez tous les abonnements dont vous voulez lister l’ensemble des ressources.
  4. Recherchez des ressources de type Azure Compute Gallery.

Pour lister toutes les ressources Azure Compute Gallery des différents abonnements sur lesquels vous avez des autorisations, utilisez la commande suivante dans Azure CLI :

   az account list -otsv --query "[].id" | xargs -n 1 az sig list --subscription