Partager via


Démarrage rapide : créer un ensemble de machines virtuelles avec le Azure CLI

S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Jeux de machines virtuelles à échelle uniforme

Remarque

L'article suivant concerne les Groupes de Machines Virtuelles à Échelle Uniforme. Nous vous recommandons d'utiliser des Flexible Virtual Machine Scale Sets pour les nouvelles charges de travail. Apprenez-en davantage sur ce nouveau mode d’orchestration dans notre aperçu des ensembles élastiques de machines virtuelles.

Un ensemble de machines virtuelles à mise à l'échelle automatique vous permet de déployer et de gérer des machines virtuelles. Vous pouvez ajuster manuellement le nombre de machines virtuelles dans l'ensemble de mise à l'échelle, ou définir des règles pour une mise à l'échelle automatique en fonction de l'utilisation des ressources, telles que le CPU, la demande de mémoire ou le trafic réseau. Un équilibreur de charge Azure distribue ensuite le trafic aux instances de machine virtuelle dans le scale set. Dans ce guide de démarrage rapide, vous allez créer un groupe de machines virtuelles identiques et déployer un exemple d’application avec Azure CLI.

Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.

Prérequis

  • Cet article nécessite la version 2.0.29 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la version la plus récente est déjà installée.

Créer un ensemble de mise à l'échelle

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

Avant de créer un ensemble de virtualisation, créez un groupe de ressources avec la commande az group create. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus :

az group create --name myResourceGroup --location eastus

Créez à présent un ensemble d'échelles de machines virtuelles avec az vmss create. L’exemple suivant crée un ensemble de machines virtuelles identiques nommé myScaleSet qui est défini pour une mise à jour automatique lors de l'application de modifications, et génère des clés SSH si elles n'existent pas dans ~/.ssh/id_rsa. Ces clés SSH sont utilisées si vous devez vous connecter à des instances de machine virtuelle. Pour utiliser un jeu de clés SSH existant, utilisez plutôt le paramètre --ssh-key-value et spécifiez l’emplacement de vos clés.

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image <SKU image> \
  --upgrade-policy-mode automatic \
  --admin-username azureuser \
  --generate-ssh-keys

La création et la configuration des ressources et des machines virtuelles de l'ensemble de mise à l'échelle prennent quelques minutes.

Déployer un exemple d’application

Pour tester votre ensemble de machines virtuelles, installez une application web de base. L’extension de script personnalisé Azure permet de télécharger et d’exécuter un script qui installe une application sur les instances de machine virtuelle. Cette extension est utile pour la configuration post-déploiement, l’installation de logiciels ou toute autre tâche de configuration ou de gestion. Pour plus d’informations, consultez Vue d’ensemble de l’extension de script personnalisé.

Utilisez l’extension de script personnalisé pour installer un serveur web NGINX de base. Appliquez l’extension de script personnalisé qui installe NGINX avec az vmss extension set comme suit :

az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],"commandToExecute":"./automate_nginx.sh"}'

Autoriser le trafic vers l’application

Lorsque l'ensemble de mise à l'échelle a été créé, un équilibreur de charge Azure a été automatiquement déployé. L’équilibreur de charge distribue le trafic vers les instances de machine virtuelle de l'ensemble de mise à l'échelle. Pour autoriser le trafic à atteindre l’exemple d’application web, créez une règle d’équilibreur de charge avec az network lb rule create. L’exemple suivant crée une règle nommée myLoadBalancerRuleWeb :

az network lb rule create \
  --resource-group myResourceGroup \
  --name myLoadBalancerRuleWeb \
  --lb-name myScaleSetLB \
  --backend-pool-name myScaleSetLBBEPool \
  --backend-port 80 \
  --frontend-ip-name loadBalancerFrontEnd \
  --frontend-port 80 \
  --protocol tcp

Tester votre groupe de dimensionnement

Pour voir votre ensemble de mises à l'échelle en action, accédez à l'application web d'exemple dans un navigateur. Obtenez l’adresse IP publique de votre équilibrage de charge avec az network public-ip show. L’exemple suivant obtient l’adresse IP pour myScaleSetLBPublicIP qui a été créé comme partie de l'ensemble de mise à l'échelle :

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query '[ipAddress]' \
  --output tsv

Saisissez l’adresse IP publique de l’équilibreur de charge dans un navigateur web. L’équilibreur de charge répartit le trafic vers l’une de vos instances de machine virtuelle, comme illustré dans l’exemple suivant :

Page web par défaut dans NGINX

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, vous pouvez utiliser la commande az group delete pour supprimer le groupe de ressources, l'ensemble d’échelles et toutes les ressources associées. 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 --yes --no-wait

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez créé un ensemble à échelle de base et utilisé l'extension de script personnalisé pour installer un serveur web NGINX de base sur les instances de machine virtuelle. Pour en savoir plus, consultez le didacticiel sur la création et la gestion des Azure Scale Sets de machines virtuelles.