Nouveautés d’Azure VM Image Builder

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

Cet article contient toutes les principales modifications d’API et mises à jour des fonctionnalités pour le service Azure VM Image Builder (AIB).

Mises à jour

Septembre 2024

La création automatique d’images via des déclencheurs est désactivée si la génération du modèle d’image a échoué plusieurs fois consécutivement, afin d’éviter les défaillances de génération inutiles.

Vous pouvez toujours générer manuellement le modèle d’image. Une fois qu’une génération manuelle réussit, les déclencheurs automatiques sont réactivés.

Notez que ce comportement est le même quelle que soit la version de l’API que vous utilisez pour la ressource de modèle d’image.

Mai 2024

Changement cassant : Respect de la casse

À partir du 21 mai 2024, l’API d’Azure VM Image Builder version 2024-02-01 et au-delà applique le respect de la casse pour tous les champs. Cela signifie que la capitalisation des lettres dans vos requêtes d’API doit correspondre exactement au format attendu.

Important

Remarque importante pour les utilisateurs existants d’Azure Image Builder

Si vous êtes un utilisateur existant d’Azure VM Image Builder, soyez certain que cette modification n’aura pas d’impact sur vos ressources existantes. L’application du respect de la casse s’applique uniquement aux ressources nouvellement créées à l’aide de l’API version 2024-02-01 et au-delà. Vos ressources existantes continueront de fonctionner comme prévu sans aucune modification.

Si vous rencontrez des problèmes liés au respect de la casse, reportez-vous à la documentation mise à jour de l’API d’Azure Image Builder pour obtenir des conseils.

Auparavant, l’API d’Azure Image Builder était plus tolérante par rapport à la casse, mais à partir de maintenant, la précision est cruciale. Lorsque vous effectuez des appels d’API, veillez à utiliser la capitalisation correcte pour les noms de champs, les paramètres et les valeurs. Par exemple, si un champ est nommé « vmBoot », vous devez utiliser « vmBoot » (et non « VMBoot » ou « vmboot »).

Si vous envoyez une requête d’API à l’API d’Azure Image Builder version 2024-02-01 et au-delà avec une casse incorrecte ou des champs non reconnus, le service la rejettera. Vous recevrez une réponse d’erreur indiquant que la requête n’est pas valide. L’erreur ressemblera à ce qui suit :

Unmarshalling entity encountered error: unmarshalling type *v2024_02_01.ImageTemplate: struct field Properties: unmarshalling type *v2024_02_01.ImageTemplateProperties: struct field Optimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize, unknown field \"vmboot\". There is an issue with the syntax with the JSON template you are submitting. Please check the JSON template for syntax and grammar. For more information on the syntax and grammar of the JSON template, visit http://aka.ms/azvmimagebuildertmplref.

Le message d’erreur mentionne un « champ inconnu » et vous dirige vers la documentation officielle : Créer un fichier Bicep ou un modèle JSON de modèle ARM pour Azure Image Builder.

Remarque

Référencer la documentation Swagger d’Azure Image Builder pour les appels d’API

Lorsque vous effectuez des appels au service Azure Image Builder, référencez toujours la documentation Swagger, qui sert de source définitive de vérité pour les spécifications d’API d’Azure Image Builder. Bien que la documentation publique ait été mise à jour pour inclure la capitalisation et les noms de champs appropriés avant la publication de l’API, la définition Swagger contient des détails précis sur chaque API AIB pour vous assurer d’effectuer correctement les appels au service.

Vous trouverez ci-dessous une liste des modifications apportées à la documentation pour correspondre aux noms de champs dans l’API version 2024-02-01 :

Dans la documentation Créer un fichier Bicep ou un modèle JSON de modèle ARM pour Azure Image Builder :

Champs mis à jour :

  • Remplacement de plusieurs mentions de vmboot par vmBoot
  • Remplacement d’une mention de imageVersionID par imageVersionId

Champ supprimé :

  • apiVersion : nous vous recommandons d’éviter d’inclure ce champ dans vos requêtes, car il n’est pas spécifié explicitement dans notre API. En effet, son inclusion dans votre modèle JSON pourrait entraîner des erreurs dans le build de votre image.

Dans la documentation Options de mise en réseau d’Azure VM Image Builder :

Champ mis à jour :

  • Remplacement d’une mention de VirtualNetworkConfig par vnetConfig

Champs supprimés :

  • subnetName dans la propriété vnetConfig : ce champ est déconseillé et le nouveau champ est subnetId
  • resourceGroupName dans la propriété vnetConfig : ce champ est déconseillé et le nouveau champ est subnetId

Comment épingler à une ancienne version de l’API Azure Image Builder

Point important à prendre en compte pour l’épinglage à des versions antérieures de l’API

L’épinglage à une ancienne version de l’API Azure Image Builder peut fournir une compatibilité avec vos modèles existants, mais il n’est pas recommandé en raison des facteurs suivants :

  • Risque de dépréciation : les anciennes versions de l’API peuvent éventuellement être déconseillées.

  • Fonctionnalités manquantes : en épinglant vers une ancienne version de l’API, vous manquez les dernières fonctionnalités et améliorations introduites dans les versions plus récentes. Ces fonctionnalités améliorent souvent les performances, la sécurité et les fonctionnalités.

Si vous souhaitez éviter d’apporter des modifications aux propriétés de vos modèles d’image en raison des nouvelles règles de respect de la casse, vous avez la possibilité d’épingler vos appels d’API Azure VM Image Builder à une version antérieure de l’API. Cela vous permet de continuer à utiliser le comportement familier sans aucune modification.

Pour garantir la compatibilité avec vos modèles existants, lors de la création ou de la mise à jour d’un modèle d’image, spécifiez la version d’API souhaitée (par exemple, api-version=2022-07-01) en incluant le paramètre api-version dans votre appel au service. Exemple :

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01

Tester votre code

Après l’épinglage à l’ancienne version de l’API, testez votre code pour vérifier qu’il se comporte comme prévu. Assurez-vous que vos modèles existants continuent de fonctionner correctement.

Novembre 2023

Azure Image Builder active en phases les builds d'images isolées à l'aide d'Azure Container Instances. Le lancement devrait être terminé au début de 2024. Vos modèles d'image existants continueront de fonctionner et il n'existe aucune modification dans la façon dont vous créez ou générez de nouveaux modèles d'image.

Vous pouvez voir un autre ensemble de ressources Azure temporaires s'afficher temporairement dans le groupe de ressources intermédiaire. Cela n'affecte pas vos builds réelles ou la façon dont vous interagissez avec Azure Image Builder. Pour en savoir plus, reportez-vous à Builds d’images isolées.

Important

Vérifiez que votre abonnement est inscrit pour le fournisseur Microsoft.ContainerInstance et qu’aucune stratégie ne bloque le déploiement des ressources Azure Container Instances. Vérifiez également qu’un quota est disponible pour les ressources Azure Container Instances.

Avril 2023

De nouvelles fonctionnalités du portail ont été ajoutées pour Azure Image Builder. Recherchez « Modèles d’image » dans le Portail Azure, puis cliquez sur « Créer ». Vous pouvez également prendre en main la création et la validation d’images personnalisées dans le portail.

Versions d’API

Version 2024-02-01+

Améliorations

  • Nouvelle propriété autoRun qui vous permet d’exécuter la build de l’image lors de la création ou de la mise à jour du modèle. Pour plus d’informations, consultez Propriétés : autoRun
  • Nouvelle propriété managedResourceTags qui vous permet d’appliquer des étiquettes aux ressources créées par le service Azure Image Builder dans le groupe de ressources intermédiaire pendant la génération d’images. Pour plus d’informations, consultez Propriétés : managedResourceTags.
  • Nouvelle propriété containerInstanceSubnetId qui vous permet de spécifier un sous-réseau sur lequel Azure Container Instance (ACI) sera déployé pour les builds isolées. Ce champ peut être spécifié uniquement si subnetId est également spécifié et doit se trouver sur le même réseau virtuel que le sous-réseau spécifié dans subnetId. Pour plus d’informations, consultez Apportez votre propre sous-réseau de machine virtuelle de build et votre propre sous-réseau ACI.
  • Ajout de la prise en charge de la mise à jour de la propriété vmProfile, y compris les champs suivants :
    • vmSize
    • osDiskSizeGB
    • userAssignedIdentities
    • vnetConfig
      • subnetId
      • containerInstanceSubnetId Pour plus d’informations sur la propriété vmProfile, consultez vmProfile.

Modifications La version 2024-02-01 de l’API introduit un changement cassant qui applique la sensibilité de la casse à tous les champs. Cela signifie que la capitalisation des lettres dans vos requêtes d’API doit correspondre exactement au format attendu. Si vous envoyez une requête d’API à l’API d’Azure Image Builder version 2024-02-01 et au-delà avec une casse incorrecte ou des champs non reconnus, le service la rejettera. Vous recevrez une réponse d’erreur indiquant que la requête n’est pas valide. Pour plus d’informations, consultez Changement cassant : Sensibilité de la casse.

Version 2023-07-01

Bientôt disponible

Prise en charge de la mise à jour des cibles de distribution Azure Compute Gallery.

Modifications

Nouvelle propriété errorHandling. Cette propriété permet aux utilisateurs un meilleur contrôle de la façon dont les erreurs sont gérées pendant le processus de génération d’images. Pour plus d’informations, consultez errorHandling

Version 2022-07-01

Améliorations

  • Ajout de la prise en charge de l’utilisation de la dernière version d’image stockée dans Azure Compute Gallery comme source du modèle d’image
  • Ajout de versioning pour prendre en charge la génération de numéros de version pour les distributions d’images. Pour plus d’informations, consultez Propriétés : contrôle de version
  • Ajout de la prise en charge de la configuration par région lors de la distribution à Azure Compute Gallery. Pour plus d’informations, consultez Distribuer : RégionsCibles
  • Ajout du nouveau type de validation « Fichier ». Pour plus d’informations, consultez Valider les propriétés
  • Les disques durs virtuels peuvent désormais être distribués à un objet blob ou à un conteneur personnalisé dans un compte de stockage personnalisé. Pour plus d’informations, consultez Distribuer : VHD
  • Ajout de la prise en charge de l’utilisation d’une image de galerie partagée directe comme source pour le modèle d’image

Modifications

  • replicationRegions est désormais déconseillé pour les distributions de galerie. Pour plus d’informations, utilisez les régions répliquées dans la galerie
  • Les disques durs virtuels peuvent désormais être distribués à un objet blob ou à un conteneur personnalisé dans un compte de stockage personnalisé
  • targetRegions tableau ajouté et appliqué uniquement à la distribution de type « SharedImage ». Pour plus d’informations sur targetRegions, consultez Azure Compute Gallery
  • Ajout de la prise en charge de l’utilisation d’une image de galerie partagée directe comme source pour le modèle d’image. Galerie partagée directe est actuellement en préversion.
  • Les déclencheurs sont désormais disponibles en préversion publique pour configurer des builds automatiques d’images. Pour plus d’informations, consultez Comment utiliser les déclencheurs AIB

Version 2022-02-14

Améliorations

Version 2021-10-01

Modification critique

L’API version 2021-10-01 introduit un changement du schéma d’erreur qui fera partie de chaque version future de l’API. Si vous disposez d’automatisations Azure VM Image Builder, ayez à l’esprit la nouvelle sortie d’erreur quand vous passez à l’API version 2021-10-01 ou ultérieure. Nous vous recommandons, après être passé à la dernière version de l’API, de ne pas revenir à une version antérieure, car vous devriez rechanger votre automatisation pour produire le schéma d’erreur antérieur. Nous ne prévoyons pas de rechanger le schéma d’erreur dans les futures versions.

Sortie d’erreur pour les versions 2020-02-14 et antérieures
{ 
  "code": "ValidationFailed",
  "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template." 
} 
Sortie d’erreur pour les versions 2021-10-01 et ultérieures
{ 
  "error": {
    "code": "ValidationFailed", 
    "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template." 
  }
}

Améliorations

Version 2020-02-14

Améliorations

  • Ajout de la prise en charge de la création d’images à partir des sources suivantes :
    • Image managée
    • Azure Compute Gallery
    • Référentiel d’images de plateforme (y compris le plan d’achat d’images de plateforme)
  • Ajout de la prise en charge des personnalisations suivantes :
    • Shell (Linux) : script ou commande inline
    • PowerShell (Windows) : script ou commande inline, exécuter avec élévation de privilèges, exécuter en tant que système
    • Fichier (Linux et Windows)
    • Redémarrage de Windows (Windows)
    • Windows Update (Windows) : critères de recherche, filtres et limite de mise à jour
  • Ajout de la prise en charge des types de distributions suivants :
    • VHD (disque dur virtuel)
    • Image managée
    • Azure Compute Gallery
  • Autres fonctionnalités :
    • Ajout de la prise en charge des clients pour utiliser leur propre réseau virtuel
    • Ajout de la prise en charge des clients pour personnaliser la machine virtuelle de build (taille de machine virtuelle, taille du disque du système d’exploitation)
    • Ajout de la prise en charge de Microsoft Windows Installer (MSI) affecté par l’utilisateur (pour les étapes de personnalisation/distribution)
    • Ajout de la prise en charge des images Gen2

API en préversion

Les API suivantes sont dépréciées, mais toujours prises en charge :

  • Version 2019-05-01-preview

Étapes suivantes

Découvrez-en plus sur VM Image Builder.