Tutoriel : Créer et gérer un groupe de machines virtuelles identiques avec Azure PowerShell

Un groupe de machines virtuelles identiques vous permet de déployer et gérer un ensemble de machines virtuelles. Tout au long du cycle de vie d’un groupe de machines virtuelles identiques, vous serez peut-être amené à exécuter une ou plusieurs tâches de gestion. Ce didacticiel vous montre comment effectuer les opérations suivantes :

  • Créer un groupe de ressources
  • Crée un groupe de machines virtuelles identiques
  • Faire monter ou descendre en puissance
  • Arrêter, démarrer et redémarrer des instances VM

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Créer un groupe de ressources

Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Un groupe de ressources doit être créé avant le groupe de machines virtuelles identiques. Créez un groupe de ressources avec la commande New-AzResourceGroup. Dans cet exemple, un groupe de ressources nommé myResourceGroup est créé dans la région EastUS.

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"

Le nom du groupe de ressources est spécifié lorsque vous créez ou modifiez un groupe identique dans ce didacticiel.

Crée un groupe de machines virtuelles identiques

Tout d’abord, définissez un nom d’utilisateur administrateur et un mot de passe pour les instances de machine virtuelle avec Get-Credential :

$cred = Get-Credential

À présent, créez un groupe de machines virtuelles identiques avec New-AzVmss. Pour distribuer le trafic aux différentes instances de machine virtuelle, un équilibreur de charge est également créé. L’équilibreur de charge comprend des règles pour distribuer le trafic sur le port TCP 80, et pour autoriser le trafic Bureau à distance sur le port TCP 3389 et le trafic d’accès à distance PowerShell sur le port TCP 5985 :

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

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -Location "EastUS" `
  -Credential $cred

La création et la configuration de l’ensemble des ressources et des instances de machine virtuelle du groupe identique prennent quelques minutes. Pour distribuer le trafic aux différentes instances de machine virtuelle, un équilibreur de charge est également créé.

Afficher les instances de machine virtuelle dans un groupe identique

Pour voir la liste des instances VM dans un groupe identique, utilisez Get-AzVM de la façon suivante :

Get-AzVM -ResourceGroupName "myResourceGroup"

L’exemple suivant montre deux instances de machine virtuelle dans le groupe identique :

ResourceGroupName                Name Location          VmSize  OsType      ProvisioningState 
-----------------                ---- --------          ------  ------       ----------------- 
myResourceGroup   myScaleSet_instance1   eastus Standard_DS1_v2 Windows         Succeeded     
myResourceGroup   myScaleSet_instance2   eastus Standard_DS1_v2 Windows         Succeeded     

Pour voir des informations supplémentaires sur une instance VM spécifique, utilisez Get-AzVM et spécifiez le nom VM.

Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1" 
ResourceGroupName      : myresourcegroup
Id                     : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId                   : d27b5fde-d469-4087-b08f-87d0bd8df786
Name                   : myScaleSet_instance1
Type                   : Microsoft.Compute/virtualMachines
Location               : eastus
Tags                   : {}
HardwareProfile        : {VmSize}
NetworkProfile         : {NetworkInterfaces}
OSProfile              : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState      : Succeeded
StorageProfile         : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated            : 11/16/2022 11:02:02 PM

Créer un groupe identique avec une taille d’instance de machine virtuelle spécifique

Lorsque vous avez créé un groupe identique au début de ce didacticiel, une valeur de référence SKU de la machine virtuelle par défaut Standard_D1_v2 a été fournie pour les instances de machine virtuelle. Vous pouvez spécifier une autre taille d’instance VM avec le paramètre -VMSize pour spécifier la taille d’instance VM Standard_F1.

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -VMSize "Standard_F1" `
  -Location "EastUS" `
  -Credential $cred

Modifier la capacité d’un groupe identique

Quand vous avez créé le groupe identique, deux instances VM ont été déployées par défaut. Pour augmenter ou diminuer le nombre d’instances dans le groupe identique, vous pouvez modifier manuellement la capacité. Le groupe identique crée ou supprime le nombre requis d’instances de machine virtuelle, puis configure l’équilibreur de charge pour distribuer le trafic.

Commencez par créer un objet de groupe identique avec Get-AzVmss, puis spécifiez une nouvelle valeur pour sku.capacity. Pour appliquer la modification de la capacité, utilisez Update-AzVmss. L’exemple suivant fixe le nombre d’instances de machine virtuelle présentes dans votre groupe identique à 3 :

# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss 

Quelques minutes sont nécessaires pour mettre à jour la capacité de votre groupe identique. Pour voir le nombre d’instances que vous avez maintenant dans le groupe identique, utilisez Get-Az :

Get-AzVm -ResourceGroupName "myResourceGroup" 

L’exemple de sortie suivant montre que la capacité du groupe identique est désormais 3 :

ResourceGroupName                Name Location          VmSize  OsType    ProvisioningState 
-----------------                ---- --------          ------  ------    ----------------- 
myResourceGroup   myScaleSet_instance1   eastus Standard_DS1_v2 Windows       Succeeded     
myResourceGroup   myScaleSet_instance2   eastus Standard_DS1_v2 Windows       Succeeded     
myResourceGroup   myScaleSet_instance3   eastus Standard_DS1_v2 Windows       Succeeded   

Arrêter et libérer des instances de machine virtuelle dans un groupe identique

Pour arrêter des instances VM individuelles, utilisez Stop-AzVm et spécifiez les noms d’instance.

Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Par défaut, les machines virtuelles arrêtées sont libérées et n’occasionnent pas de frais de calcul. Si vous souhaitez que la machine virtuelle reste dans un état configuré lors de l’arrêt, ajoutez le paramètre -StayProvisioned à la commande précédente. Les machines virtuelles arrêtées qui conservent leur configuration peuvent occasionner des frais de calcul standard.

Démarrer les instances de machine virtuelle dans un groupe identique

Pour démarrer toutes les instances VM dans un groupe identique, utilisez Start-AzVmss.

Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" 

Pour démarrer une instance VM individuelle dans un groupe identique, utilisez Start-AzVM et spécifiez le nom de l’instance.

Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Redémarrer les instances de machine virtuelle dans un groupe identique

Pour redémarrer toutes les machines virtuelles dans un groupe identique, utilisez Restart-AzVmss.

Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Pour redémarrer une instance individuelle, utilisez [Restart-AzVM] et spécifiez le nom de l’instance.

Restart-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Nettoyer les ressources

Lorsque vous supprimez un groupe de ressources, toutes les ressources qu’il contient, comme les instances de machine virtuelle, le réseau virtuel et les disques, sont également supprimées. Le paramètre -Force confirme que vous voulez supprimer les ressources sans passer par une autre invite. Le paramètre -AsJob retourne le contrôle à l’invite de commandes sans attendre que l’opération se termine.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Étapes suivantes

Dans ce didacticiel, vous avez appris à effectuer quelques tâches de création et de gestion de base concernant le groupe identique avec Azure PowerShell :

  • Créer un groupe de ressources
  • Créer un groupe identique
  • Afficher et utiliser des tailles de machine virtuelle spécifiques
  • Mettre un groupe identique à l’échelle manuellement
  • Effectuer des tâches courantes de gestion des groupes identiques, comme l’arrêt, le démarrage et le redémarrage de votre groupe identique

Passez au tutoriel suivant pour savoir comment vous connecter à vos instances de groupe identique.