Tutoriel : Créer et utiliser une image personnalisée pour des groupes de machines virtuelles identiques avec Azure CLI
Lorsque vous créez un groupe identique, vous spécifiez une image à utiliser lors du déploiement des instances de machine virtuelle. Pour réduire le nombre de tâches une fois que les instances de machine virtuelle sont déployées, vous pouvez utiliser une image de machine virtuelle personnalisée. Cette image de machine virtuelle personnalisée inclut les configurations ou installations des applications requises. Toutes les instances de machine virtuelle créées dans le groupe identique utilisent l’image de machine virtuelle personnalisée et sont prêtes à répondre au trafic des applications. Ce didacticiel vous montre comment effectuer les opérations suivantes :
- Créer une instance Azure Compute Gallery
- Créer une définition d’image spécialisée
- Créer une version d’image
- Créer un groupe identique à partir d’une image spécialisée
- Partager une galerie d’images
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Prérequis
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
- Cet article nécessite la version 2.4.0 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la version la plus récente est déjà installée.
Vue d’ensemble
Une galerie Azure Compute Gallery simplifie considérablement le partage d’images personnalisées dans votre organisation. Les images personnalisées sont comme des images de la Place de marché, sauf que vous les créez vous-même. Les images personnalisées peuvent être utilisées pour amorcer des configurations comme le préchargement des applications, les configurations d’application et d’autres configurations de système d’exploitation.
Azure Compute Gallery vous permet de partager vos images de machines virtuelles personnalisées avec d’autres utilisateurs. Choisissez les images à partager, les régions dans lesquelles vous souhaitez les rendre disponibles et les personnes avec lesquelles vous voulez les partager.
Créer et configurer une machine virtuelle source
Commencez par créer un groupe de ressource avec az group create, puis créez une machine virtuelle avec az vm create. Cette machine virtuelle est ensuite utilisée comme source de l’image. L’exemple suivant crée une machine virtuelle nommée myVM dans le groupe de ressources nommé myResourceGroup :
az group create --name myResourceGroup --location eastus
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image <SKU image> \
--admin-username azureuser \
--generate-ssh-keys
Important
L’ID de votre machine virtuelle est affichée dans la sortie de la commande az vm create. Copiez-le à un emplacement sûr pour pouvoir l’utiliser plus loin dans ce tutoriel.
Créer une galerie d’images
Une galerie d’images est la ressource principale utilisée pour activer le partage d’image.
Les caractères autorisés pour le nom de galerie sont les lettres majuscules ou minuscules, les chiffres et les points. Le nom de galerie ne peut pas contenir de tirets. Les noms de galerie doivent être uniques dans votre abonnement.
Créez une galerie d’images à l’aide de az sig create. L’exemple suivant crée un groupe de ressources nommé myGalleryRG dans USA Est et une galerie nommée myGallery.
az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery
Créer une définition d’image
Les définitions d’image créent un regroupement logique des images. Elles sont utilisées pour gérer les informations sur les versions d’image créées au sein de celles-ci.
Les noms de définition d’image peuvent contenir des lettres majuscules ou minuscules, des chiffres, des tirets et des points.
Assurez-vous que le type de votre définition d’image est approprié. Si vous avez généralisé la machine virtuelle (à l’aide de Sysprep pour Windows ou de waagent -deprovision pour Linux), vous devez créer une définition d’image généralisée à l’aide de la commande --os-state generalized
. Si vous souhaitez utiliser la machine virtuelle sans supprimer de comptes d’utilisateur, créez une définition d’image spécialisée à l’aide de la commande --os-state specialized
.
Pour plus d’informations sur les valeurs que vous pouvez spécifier pour une définition d’image, consultez Définitions d’image.
Créez une définition d’image dans la galerie avec la commande az sig image-definition create.
Dans cet exemple, la définition d’image se nomme myImageDefinition et est destinée à une image de système d’exploitation Linux spécialisée. Pour créer une définition pour des images utilisant un système d’exploitation Windows, utilisez --os-type Windows
.
az sig image-definition create \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--publisher myPublisher \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized
Important
L’ID de votre définition d’image est indiqué dans la sortie de la commande. Copiez-le à un emplacement sûr pour pouvoir l’utiliser plus loin dans ce tutoriel.
Créer la version de l’image
Créez une version d’image à partir de la machine virtuelle à l’aide de la commande az image gallery create-image-version.
Les caractères autorisés pour la version d’image sont les nombres et les points. Les nombres doivent être un entier 32 bits. Format: MajorVersion.MinorVersion.Patch.
Dans cet exemple, la version de notre image est 1.0.0 et nous allons créer un réplica dans la région USA Centre Sud et un réplica dans la région USA Est 2. Les régions de réplication doivent inclure la région dans laquelle se trouve la machine virtuelle source.
Remplacez la valeur de --managed-image
dans cet exemple par l’ID de votre machine virtuelle récupéré à l’étape précédente.
az sig image-version create \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0 \
--target-regions "southcentralus=1" "eastus=1" \
--managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
Notes
Vous devez attendre que la version d’image soit totalement intégrée et répliquée avant de pouvoir utiliser la même image managée pour créer une autre version d’image.
Vous pouvez également stocker votre image dans le Stockage Premium, en ajoutant --storage-account-type premium_lrs
, ou dans le stockage redondant interzone, en ajoutant --storage-account-type standard_zrs
, quand vous créez la version de l’image.
Créer un groupe identique à partir de l’image
Important
À compter de novembre 2023, les groupes de machines virtuelles identiques créés à l’aide de PowerShell et d’Azure CLI utilisent par défaut le mode d’orchestration flexible si aucun mode d’orchestration n’est spécifié. Pour plus d’informations sur ce changement et les actions que vous devez entreprendre, consultez l’article Changement cassant pour les clients VMSS PowerShell/CLI – Hub Communauté Microsoft
Créez un groupe identique à partir de l’image spécialisée à l’aide de la commande az vmss create
.
Créez le groupe identique avec la commande az vmss 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 les instances de groupe identique à partir de la version la plus récente de l’image disponible. Vous pouvez également créer les instances de groupe identique à partir d’une version spécifique en fournissant l’ID de version de l’image pour --image
.
Créez un groupe identique nommé myScaleSet avec la dernière version de l’image myImageDefinition que nous avons créée plus tôt.
az group create --name myResourceGroup --location eastus
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
--specialized
La création et la configuration des l’ensemble des ressources et des machines virtuelles du groupe identique prennent quelques minutes.
Partager la galerie
Vous pouvez partager des images entre abonnements à l’aide du contrôle d’accès en fonction du rôle Azure (Azure RBAC). Vous pouvez partager des images au niveau de la galerie, de la définition d’image ou de la version d’image. Tout utilisateur disposant d’autorisations de lecture sur une version d’image, même dans plusieurs abonnements, peut déployer une machine virtuelle à partir de la version d’image.
Nous vous recommandons de partager l’accès avec d’autres utilisateurs au niveau de la galerie. Pour obtenir l’ID d’objet de votre galerie, utilisez az sig show.
az sig show \
--resource-group myGalleryRG \
--gallery-name myGallery \
--query id
Utilisez l’ID d’objet en tant qu’étendue, ainsi qu’une adresse e-mail et az role assignment create pour donner aux utilisateurs un accès à la galerie d’images partagées. Remplacez <email-address>
et <gallery iD>
par vos propres informations.
az role assignment create \
--role "Reader" \
--assignee <email address> \
--scope <gallery ID>
Pour plus d’informations sur la façon de partager des ressources à l’aide d’Azure RBAC, consultez Ajouter ou supprimer des attributions de rôle Azure à l’aide d’Azure CLI.
Nettoyer les ressources
Pour supprimer votre groupe identique et les ressources supplémentaires, supprimez le groupe de ressources et toutes ses ressources avec az group delete. Le paramètre --no-wait
retourne le contrôle à l’invite de commandes sans attendre que l’opération se termine. Le paramètre --yes
confirme que vous souhaitez supprimer les ressources sans passer par une invite supplémentaire à cette fin.
az group delete --name myResourceGroup --no-wait --yes
Étapes suivantes
Dans ce tutoriel, vous avez appris à créer et utiliser une image de machine virtuelle personnalisée pour vos groupes identiques avec Azure CLI :
- Créer une instance Azure Compute Gallery
- Créer une définition d’image spécialisée
- Créer une version d’image
- Créer un groupe identique à partir d’une image spécialisée
- Partager une galerie d’images
Passez au didacticiel suivant pour apprendre à déployer des applications dans votre groupe identique.