Exercice : créer une ressource Azure de manière interactive avec Azure CLI
Dans le scénario d’origine, vous devez créer des machines virtuelles pour tester votre logiciel de Gestion des relations client (CRM). Quand une nouvelle build est disponible, vous devez créer rapidement une machine virtuelle afin de pouvoir tester l’expérience d’installation complète à partir d’une image propre. Une fois le test terminé, vous pouvez supprimer la machine virtuelle.
Essayons les commandes pour créer une machine virtuelle.
Note
Cet exercice est facultatif. Si vous souhaitez effectuer cet exercice, vous devez créer un abonnement Azure avant de commencer. Si vous n’avez pas de compte Azure ou si vous ne souhaitez pas en créer un à ce stade, vous pouvez lire les instructions pour comprendre les informations qui sont présentées.
Note
Vous devez utiliser un groupe de ressources pour effectuer les étapes de cet exercice. Vous pouvez utiliser un groupe de ressources que vous avez déjà créé, ou vous pouvez créer un groupe de ressources spécifiquement pour cet exercice. Si vous choisissez de créer un groupe de ressources, cela facilite le nettoyage des ressources que vous créez lorsque vous effectuez l’exercice. Si vous n’avez pas de groupe de ressources existant ou si vous souhaitez en créer un spécifiquement pour cet exercice, vous pouvez suivre les étapes décrites dans Utiliser le portail Azure et Azure Resource Manager pour gérer les groupes de ressources pour créer un groupe de ressources à l’aide du portail Azure, ou vous pouvez suivre les étapes décrites dans Gérer les groupes de ressources Azure à l’aide d’Azure CLI pour créer un groupe de ressources à l’aide de l’interface Azure CLI.
Exercice : créer une machine virtuelle Linux avec Azure CLI
Voici comment créer une machine virtuelle Azure avec Azure CLI :
Ouvrez Azure Cloud Shell via le portail Azure ou à l’aide du bouton Ouvrir Cloud Shell situé en haut à droite de nombreux blocs de code Azure CLI.
Utilisez la commande
az vm createpour créer la machine virtuelle.- Spécifiez le nom de votre groupe de ressources. Remplacez myResourceGroupName dans l’exemple suivant par le nom d’un groupe de ressources existant ou le nom du groupe de ressources que vous avez créé pour cet exercice.
- Nommez la machine virtuelle en suivant les normes d’affectation de noms de votre organisation.
- Choisissez un emplacement proche de vous dans la liste des emplacements Azure disponibles.
- Utilisez l’image Linux :
Ubuntu2204. - Attribuez un nom d’utilisateur administrateur suivant les normes d’affectation de noms de votre organisation.
#!/bin/bash # Create variables with values of your choice. rgName="myResourceGroupName" vmName="msdocs-vm-01" vmLocation="westus" vmImage="Ubuntu2204" vmAdminUserName="myAzureUserName" # Create the VM az vm create \ --resource-group $rgName \ --name $vmName \ --location $vmLocation \ --image $vmImage \ --public-ip-sku Standard \ --admin-username $vmAdminUserName \ --generate-ssh-keysConseil
Avez-vous simplement utilisé le bouton Copier et notez que tous les caractères de continuation de ligne ont été supprimés ? Ce comportement est normal. Étant donné qu’Azure CLI peut être exécuté dans de nombreux environnements avec des caractères de continuation de ligne différents, le bouton copier les supprime. Si vous préférez copier un script mis en forme, utilisez votre souris pour sélectionner et copier le contenu du bloc de code.
Pour coller dans Azure Cloud Shell, cliquez avec le bouton droit sur une nouvelle ligne dans le terminal Cloud Shell et sélectionnez Coller, ou utilisez le raccourci clavier Maj+Inser (⌘+V sur macOS).
Si votre script n’a pas été copié correctement et que le terminal Cloud Shell attend une entrée supplémentaire, utilisez CTRL + Z pour revenir à une invite de commandes et réessayez.
Attendez la création de la machine virtuelle Linux :
Le processus de création de la machine virtuelle prend quelques minutes.
Obtenir des informations sur la machine virtuelle
Une fois terminé, Azure CLI retourne des informations sur la machine virtuelle au format JSON. Utilisez les commandes
az vm listetaz vm showpour obtenir des informations spécifiques sur la machine virtuelle. Voici quelques exemples :Plusieurs de ces scripts utilisent des noms de variables et des valeurs stockés dans les étapes précédentes.
Obtenez la liste de toutes les machines virtuelles au format de tableau.
az vm list --output tableObtenez des informations sur une seule machine virtuelle au format JSON.
Certaines de ces sorties s’affichent après la création d’une machine virtuelle. Toutefois, il est utile de retourner plus d’informations lorsque vous recherchez des noms de propriétés imbriquées à référencer dans un script. Les noms de propriété respectent la casse.
az vm show --resource-group $rgName --name $vmNameObtenez des informations sur les propriétés de machine virtuelle.
# Get the time the VM was created az vm show --resource-group $rgName --name $vmName --query "timeCreated" # Get the OS disk storage account type az vm show --resource-group $rgName --name $vmName --query "storageProfile.osDisk.managedDisk.storageAccountType"Stockez une propriété d’une machine virtuelle dans une variable.
Azure CLI propose plusieurs types de sortie. JSON est la valeur par défaut, mais lors du stockage de valeurs dans des variables, supprimez la mise en forme supplémentaire avec
--output tsv.#!/bin/bash # Store the VM id vmID=$(az vm show --resource-group $rgName --name $vmName --query id --output tsv) echo $vmID # Store the public IP address publicIP=$(az vm list-ip-addresses \ --resource-group $rgName \ --name $vmName \ --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv) echo $publicIPConnectez-vous à la machine virtuelle.
#!/bin/bash az ssh vm --private-key-file \path\to\private\key \ --resource-group $rgName \ --name $vmName \ --local-user $vmAdminUserNameDéconnectez-vous en tapant quitter.
En savoir plus sur les options de machine virtuelle
Lorsque vous utilisez des ressources Azure sur la ligne de commande, vous n’utilisez pas le portail Azure, ce qui vous donne souvent une liste de choix d’options de propriété. Par exemple, une liste d’emplacements disponibles et de tailles de machine virtuelle. Azure CLI dispose de plusieurs commandes dans la plupart de ses groupes de commandes qui fournissent ces informations. Voici quelques exemples pour les machines virtuelles :
Conseil
Le format Azure CLI --output table ne retourne pas 100 % des informations disponibles, mais il rend souvent les résultats de commande volumineux plus faciles à lire. Utilisez le paramètre --query pour spécifier les informations qui vous intéressent le plus.
Obtenir les tailles de machine virtuelle disponibles pour un emplacement :
az vm list-sizes --location westus --output tableObtenir les références SKU disponibles pour un emplacement :
Selon le
--locationque vous sélectionnez, Azure CLI peut prendre une ou deux minutes avant de retourner une liste complète des références SKU.# virtual machines az vm list-skus --location westus --resource-type virtualMachines --output table # disks az vm list-skus --location westus --resource-type disks --output tableObtenir les options de redimensionnement disponibles pour une machine virtuelle existante :
az vm list-vm-resize-options --resource-group $rgName --name $vmName --output tableAfficher les détails de toutes les machines virtuelles d’un groupe de ressources.
Si vous avez choisi de travailler dans votre environnement local et que vous disposez de plusieurs machines virtuelles dans votre abonnement, interrogez les machines virtuelles qui répondent à un critère de filtre.
#!/bin/bash # details of all VMs in a specified resource group az vm show --show-details --ids $(az vm list --resource-group $rgName --query "[].id" -o tsv) # list of all VMs created in the last 7 days createDate=$(date +%F -d "-7days") az vm list --resource-group $rgName \ --query "[?timeCreated >='$createDate'].{Name:name, admin:osProfile.adminUsername, DiskSize:storageProfile.osDisk.diskSizeGb}" \ --output table # list all VMs whose disks are of a certain type # first get a list of the disk types or organization is using az vm list --resource-group $rgName --query "[].{Name:name, osDiskSize:storageProfile.osDisk.diskSizeGb, managedDiskTypes:storageProfile.osDisk.managedDisk.storageAccountType}" --output table diskType="Premium_LRS" az vm list --resource-group $rgName \ --query "[?storageProfile.osDisk.managedDisk.storageAccountType =='$diskType'].{Name:name, admin:osProfile.adminUsername, osDiskSize:storageProfile.osDisk.diskSizeGb, CreatedOn:timeCreated, vmID:id}" \ --output table
Arrêter ou supprimer une machine virtuelle
Arrêtez la machine virtuelle :
Vous pouvez éteindre (arrêter) une machine virtuelle en cours d’exécution, bien que la machine virtuelle continue d’être facturée.
az vm stop --resource-group $rgName --name $vmNameEntrez Y, puis appuyez sur Entrée lorsque vous êtes invité à continuer.
Libérer une machine virtuelle :
Pour éviter d’être facturé pour une machine virtuelle arrêtée, vous pouvez la libérer. Libérer des machines virtuelles contient des ressources qui ne sont plus allouées (les frais ne s’appliquent plus). L’état de la machine virtuelle passe de Arrêtée à Arrêtée (libérée).
az vm deallocate --resource-group $rgName --name $vmNameSupprimer une machine virtuelle :
Une fois la machine virtuelle arrêtée, supprimez-la en exécutant la commande
az vm delete.az vm delete --resource-group $rgName --name $vmNameEntrez Y, puis appuyez sur Entrée lorsque vous êtes invité à continuer.
Bien que vous ayez exécuté ces commandes de manière interactive, une meilleure approche consiste à écrire un script Azure CLI. Les scripts vous permettent de réutiliser la logique de création ou de suppression d’une machine virtuelle à l’avenir.
Dans l’unité suivante, nous allons automatiser ces tâches à l’aide d’un script Azure CLI.