
Useful Info : Si vous n’avez pas encore consulté les 3 premiers HowTo Azure CLI 2.0, ceux-ci sont disponibles aux URLs ci-après:
HowTo #N°1 : Connecter l’interface Azure CLI 2.0 à votre abonnement Azure
HowTo #N°2 : Créer et gérer les groupes de ressources Azure
HowTo #N°3 Créer et gérer les réseaux virtuels Azure (VNET : Virtual Network)
Introduction
Azure VM (Virtual Machine) est l’une des offres IaaS (Infrastructure-as-a–Service) proposée par Microsoft sur sa Public Cloud Platform : Microsoft Azure.
Azure VM vous permet de créer et gérer des machines virtuelles Windows ou Linux hautement disponibles, Scalables et sécurisées.
Microsoft propose son offre Azure VM pour les deux modèles de déploiement : ASM (Azure Service Manager) et ARM : Azure Resource Manager.
Note : L’interface Azure CLI 2.0 étant disponible uniquement pour l’ARM, le mode ASM ne sera pas traité dans le présent article.
La création d’une VM Azure (ARM mode) peut se faire via :
Le nouveau portail Azure : portal.azure.com
Windows PowerShell : utilisation du module PS Azure
Azure CLI 2.0 : via l’utilisation de la commande az vm
Nous allons découvrir à travers cet article la troisième méthode qu’est l’utilisation de l’interface Azure CLI 2.0
Now let’s create & manage our Azure V(irtual) M(achine) via Azure CLI 2.0__O
HowTo : Créer et gérer les VMs Azure via Azure CLI 2.0
- Ouvrez une Session Windows sur votre machine d’administration sur laquelle Azure CLI 2.0 a été installée
- Lancez l’invite de commande (CMD.exe) en tant qu’Administrateur et saisissez az pour vérifier la disponibilité de l’interface Azure CLI 2.0
- Après avoir saisi et exécuté la commande az, le Menu suivant vous est retourné :

- La commande qui nous intéresse est VM. En effet, l’interface az dans le contexte VM vous permet de créer et gérer les Machines Virtuelles Azure (Windows ou Linux)
- Pour afficher toutes les commandes & sous-commandes liés à la création et gestion de VMs Azure, saisissez la commande : az vm -h

#1. Lister toutes les VMs disponibles au niveau de votre abonnement Azure
az vm list –output table
ou simplement
az vm list –out table

Note importante : si le compte connecté à l’interface Azure CLI 2.0 dispose d’un accès à plusieurs abonnements Azure, vous devez d’abord, sélectionner (définir) un abonnement avant de pouvoir lister les VMs qui y sont hébergées Pour ce faire, exécutez la commande az account list –out table comme montré ci-dessous, et définissez ensuite un abonnement Azure « comme étant ‘Actif' », via l’utilisation de la commande az account set -s ID_de_votre_abonnement

Astuce : si vous souhaitez lister que les VMs membres d’un groupe de ressources spécifique, exécutez la même commande utilisée précédemment suivie du paramètre -g « Nom_Groupe_de_Ressource » > e.g : az vm list -g hk-dev-rg –out table
#2. Démarrer une VM Azure
Dans l’exemple suivant, la VM « hk-dev-dc1 » faisant parti du groupe de ressources « hk-dev-rg » sera démarré :
az vm start -n hk-dev-dc1 -g hk-dev-rg


Astuce : vous pouvez utiliser le paramètre –no-wait pour lancer l’opération en « Background » et ne pas attendre la fin de celle-ci pour récupérer la main sur l’interface CLI, voir Screenshot ci-dessous :

#3. Obtenir des informations sur une VM Azure spécifique
Dans l’exemple suivant, nous allons collecter et afficher des informations sur la VM démarrée précédemment (hk-dev-dc1) :
az vm show –show-details -n hk-dev-dc1 -g hk-dev-rg –out table

#4. Arrêter une VM Azure
Dans l’exemple suivant, nous allons arrêter la VM « hk-dev-dc1 »
az vm stop -n hk-dev-dc1 -g hk-dev-rg

Comme pour la commande az vm start, vous n’êtes pas obligé d’attendre la fin de l’opération, vous pouvez utiliser le paramètre –no-wait à la fin de la commande :

#5. Redémarrer une VM Azure
Dans l’exemple suivant, la VM « hk-dev-tfs1 » sera redémarrée :
az vm restart -n hk-dev-tfs1 -g hk-dev-rg –no-wait

#6. Désallouer une VM Azure
Pour libérer les ressources consommées par une VM, la commande az vm deallocate est utilisée.
Dans l’exemple suivant, nous allons désallouer la VM hk-dev-sql1 faisant parti du groupe de ressources « hk-dev-rg »
az vm deallocate -n hk-dev-sql1 -g hk-dev-rg

La VM est désormais « Deallocated », ses ressources sont donc libérées et ne sont plus facturées :

#7. Lister toutes les tailles de VMs disponibles sur une région Azure spécifique
Dans l’exemple suivant, nous allons lister tous les Size de VM disponible au niveau de la région Azure « Europe de l’Ouest » > « WestEurope ».
az vm list-sizes –location WestEurope –output table
ou simplement
az vm list-sizes -l WestEurope -o table

#8. Lister toutes les tailles de VMs vers lesquelles une VM spécifique peut être Upgradée
Dans l’exemple suivant, nous allons lister toutes les tailles de VMs vers lesquelles la VM « hk-dev-dc1 » pour être Resizée :
az vm list-vm-resize-options -n hk-dev-dc1 -g hk-dev-rg –out table

#9. Changer la taille (capacité) d’une VM Azure
Nous avons listé précédemment toutes les VMs vers lesquelles la VM « hk-dev-dc1 » peut être upgradée.
Nous allons maintenant utilisée la commande az vm resize pour upgrader les capacités de cette VM vers la VM size « Standard_A3 ». Pour ce faire, la commande suivante est utilisée :
az vm resize –size Standard_A3 -n hk-dev-dc1 -g hk-dev-rg

Si vous vous rendez sur le (New) Portail Azure, et cliquez sur la VM en question, vous pouvez déjà constater que la taille (le Flag au niveau Propriétés de la VM) est déjà changé, et que la VM a été rebootée pour que l’augmentation des capacités soit prise en compte :

Une fois l’upgrade effectué, le message suivant vous est retourné :

#10. Mettre à jour (Updater) les propriétés d’une VM Azure
Dans l’exemple suivant, les propriétés de la VM « hk-dev-dc1 » seront updatées :
az vm update -n hk-dev-dc1 -g hk-dev-rg

Cette commande est à exécuter après chaque changement /modification des propriétés et objets associés à une VM Azure.
#11. Supprimer une VM Azure
Dans l’exemple suivant, la VM « hk-dev-dc2 » sera supprimé : az vm delete -n hk-dev-dc2 -g hk-dev-rg –no-wait
Un message de confirmation vous est retourné, saisissez « Y » comme « Yes » pour confirmer la suppression :

Astuce : vous pouvez bypasser cette option de confirmation en utilisant le paramètre –yes ou -y. La commande devient donc : az vm delete -n hk-dev-dc2 -g hk-dev-rg -y –no-wait

#12. Créer une VM Azure (Windows ou autre)
Dans l’exemple suivant, une VM Azure exécutant Windows Server 2016 (Edition Datacenter) sera provisionnée:
az vm create -n hk-dev-ws2016 -g hk-dev-rg –image Win2016Datacenter
Note : vous êtes invité à saisir le mot de passe du compte Administrateur

Pour provisionner une VM Azure CentOS, la commande suivante est utilisée :
az vm create -n hk-dev-cos -g hk-dev-rg –image CentOS
Si vous voulez provisionner une nouvelle VM Windows Server 2012 R2 Edition Datacenter de taille « Standard_A3 » et lui attacher un nouveau vDisk (Virtual Hard Drive) de données de 50GB, exécutez la commande ci-dessous :
az vm create -n hk-dev-ws2012R2 -g hk-dev-rg –image Win2012R2Datacenter –data-disk-sizes-gb 50 –size Standard_A3

Plusieurs dizaines de paramètres sont fournis avec la commande az vm create, n’hésitez pas à consulter le « Help » pour en savoir plus sur les autres sous-commandes /paramètres : az vm create -h
#13. Redéployer une VM Azure
Dans l’exemple suivant, la VM « hk-dev-dc1 » sera redéployé : az vm redeploy -n hk-dev-dc1 -g hk-dev-rg

Note importante : Une VM dont les ressources ont été désallouées ne peut être redéployée (clonée), vous devez donc vous assurer que la VM que vous souhaitez redéployer est bien démarrée, sinon le message d’erreur suivant vous est retourné :

#14. Générer un Template d’une VM Azure
Si vous voulez créer un VM Template à partir d’une VM Azure spécifique, eh bien vous devez utiliser la commande az vm capture.
La capture de la VM se fait en trois étapes :
- Désallouer la VM
- Généraliser la VM
- Capturer la VM
Dans l’exemple suivant, nous allons générer une VM Template à partir de la VM « hk-dev-dc1 », les commandes à exécuter sont donc :
az vm deallocate -n hk-dev-dc1 -g hk-dev-rg
az vm generalize -n hk-dev-dc1 -g hk-dev-rg
az vm capture -n hk-dev-dc1 -g hk-dev-rg –vhd-name-prefix dc-template

Si vous parcourez le compte de stockage hébergeant les fichiers (VHDs) de votre VM « Source », vous constaterez l’apparition de deux nouveaux fichiers : fichier .vhd et son fichier .json associé. Ces deux fichiers se trouvent dans : Compte de stockage > Conteneurs > System > Microsoft.Compute > Images > vhds

Le fichier dc-template-vmTemplate.XXXXXXXX peut désormais être utilisé pour provisionner de nouvelles VMs Azure.
#15. Ouvrir un port spécifique sur une VM azure
Si votre VM fera (par exemple) office de Serveur Web, et que vous avez besoin d’ouvrir le port 80 (HTTP), la commande suivante est à exécuter : az vm open-port -n hk-dev-iis1 -g hk-dev-rg –port 80
Plusieurs HowTo Azure CLI 2.0 sont en cours de finalisation, so stay connected dear friends :).
