Exercice – Créer des ressources à l’aide d’un script Azure CLI
Dans cette unité, vous continuez avec l’exemple d’une société qui développe des outils d’administration Linux. L’objectif est d’utiliser des machines virtuelles Linux pour permettre aux clients potentiels de tester votre logiciel. Avec un groupe de ressources déjà configuré, il est temps de créer les machines virtuelles.
Votre entreprise a réservé un stand dans un salon commercial important consacré à Linux. Vous prévoyez de mettre en place une zone de démonstration avec trois terminaux, chacun connecté à une machine virtuelle Linux distincte. Vous devez supprimer les machines virtuelles et les recréer à la fin de chaque journée, afin qu’elles soient réinitialisées pour le lendemain matin. Après une longue journée, la création manuelle des machines virtuelles peut entraîner des erreurs. Il est donc nécessaire d’écrire un script Azure CLI pour automatiser le processus de création des machines virtuelles.
Écrire un script pour créer des machines virtuelles
Suivez ces étapes pour écrire un script dans Azure Cloud Shell qui automatise la création de machines virtuelles.
Remarque
En règle générale, vous vous authentifiez auprès d’Azure à l’aide de vos informations d’identification avec az login
, mais dans Cloud Shell, vous êtes déjà authentifié. Cette étape n’est donc pas nécessaire.
Ouvrez Azure Cloud Shell via le Portail Azure ou à l’aide du bouton Open Cloud Shell situé dans le coin supérieur droit de nombreux blocs de code Azure CLI.
Définir votre abonnement Azure
az account set --subscription "my subscription name or ID"
Enregistrez le script suivant sur votre disque local à l’aide de l’éditeur de texte de votre choix. Dans cet exemple, le fichier est nommé
msdocs-script-expanded.sh
.#!/bin/bash # Assign parameters to variables vmCount=$1 resourceGroupPrefix=$2 location=$3 vmNamePrefix=$4 adminUserPrefix=$5 shift 5 images=("$@") # Loop for i in $(seq 1 $vmCount) do let "randomIdentifier=$RANDOM*$RANDOM" resourceGroupName=$resourceGroupPrefix-$randomIdentifier location=westus adminUserName=$adminUserPrefix-$randomIdentifier vmName=$vmNamePrefix-$randomIdentifier vmImage=${images[$((i-1)) % ${#images[@]}]} echo "Creating VM $vmName on $vmImage with admin $adminUserName in resource group $resourceGroupName" # create the resource group az group create --name $resourceGroupName --location $location # create the VM az vm create \ --resource-group $resourceGroupName \ --location $location \ --name $vmName \ --generate-ssh-keys \ --admin-username $adminUserName \ --image $vmImage done
Téléchargez le fichier sur votre disque Cloud Shell. La méthode la plus simple consiste à utiliser l’option de menu Gérer les fichiers .
Exécuter le script
Exécutez le script avec la commande suivante :
#!/bin/bash # make your file executable chmod +x msdocs-script-expanded.sh # remove Windows line continuation characters sed -i -e 's/\r$//' msdocs-script-expanded.sh # Run the script ./msdocs-script-expanded.sh 3 msdocs-rg eastus2 msdocsvm msdocsadmin Debian11 Debian11 Ubuntu2204
Attend la fin du travail. L’exécution du script prend quelques minutes.
Vérifiez les machines virtuelles. Une fois le script terminé, vérifiez qu’il s’est terminé correctement en répertoriant les machines virtuelles dans le groupe de ressources :
az vm list -o table
Vous devriez voir trois machines virtuelles, chacune avec un nom unique et dans un groupe de ressources séparé.
Vous avez créé un script qui automatise la création de trois machines virtuelles, chacune dans un groupe de ressources spécifique, en vous assurant qu’elles sont prêtes pour des démonstrations quotidiennes au salon commercial. Bien que le script soit court et simple, il accélère considérablement un processus qui serait autrement fastidieux et sujet aux erreurs si effectué manuellement via le Portail Azure.