Choisir le bon outil de ligne de commande Azure
Pour la gestion d’Azure, vous disposez de nombreuses options. Cet article compare Azure CLI et le langage Azure PowerShell et offre un comparatif des environnements de shell sur lesquels ils s’exécutent.
Azure CLI, Azure PowerShell et Azure Cloud Shell ont des fonctionnalités qui se recoupent. Chacun fonctionne différemment et il peut parfois y avoir confusion entre le langage et l’environnement. Utilisez ce guide pour déterminer l’outil qui vous convient.
Quel est l’avantage d’utiliser un outil en ligne de commande Azure ?
Azure s’exécute sur automatisation. Chaque action que vous effectuez dans le portail est traduite quelque part en code qui s’exécute pour lire, créer, modifier ou supprimer des ressources.
Le déplacement de votre charge de travail vers Azure enlève une partie du poids des tâches administratives, mais pas la totalité. Votre surcharge augmente en même temps que votre taux d’adoption avec Azure. Même si vous n’avez pas à vous soucier du centre de données, vous devez quand même corriger et dépanner les machines virtuelles Azure, basculer les bases de données et configurer les réseaux virtuels.
En utilisant l’automatisation existante qui exécute Azure, les outils en ligne de commande réduisent cette surcharge.
Qu’est-ce que les outils en ligne de commande Azure ?
Les outils en ligne de commande Azure automatisent les opérations de routine, standardisent les basculements de bases de données et extraient les données qui fournissent des insights importants. Les outils en ligne de commande vous permettent non seulement de mettre à l’échelle vos tâches dans Azure, mais également de les partager beaucoup plus facilement. Le partage d’un script est beaucoup plus facile qu’une longue page wiki avec des captures d’écran qui prennent du temps.
L’utilisation d’un outil en ligne de commande Azure n’est pas toujours nécessaire, mais c’est une compétence utile.
Azure CLI ou Azure PowerShell
Azure CLI et Azure PowerShell sont des outils en ligne de commande qui vous permettent de créer et de gérer des ressources Azure. Les deux sont multiplateformes et installables sur Windows, macOS et Linux.
Azure CLI
- Interface de ligne de commande multiplateforme, installable sur Windows, macOS, Linux
- S’exécute dans Windows PowerShell, Cmd ou Bash et autres shells UNIX.
Azure PowerShell
- Module PowerShell multiplateforme, s’exécute sur Windows, macOS, Linux
- Windows PowerShell ou PowerShell requis
Différents environnements de shell
Environnement de shell | Azure CLI | Azure PowerShell |
---|---|---|
Cmd | Oui | |
Bash | Oui | |
Windows PowerShell | Oui | Oui |
PowerShell | Oui | Oui |
Windows PowerShell, PowerShell, Cmd et Bash sont des environnements de shell. Votre environnement de shell non seulement détermine les outils que vous pouvez utiliser, mais aussi change votre expérience de ligne de commande.
Par exemple, pour le caractère de continuation de ligne, Bash utilise la barre oblique inverse (\
) alors que Windows PowerShell utilise l’accent grave (`
). Les différences dans l’environnement de shell ne changent pas la manière dont Azure CLI et Azure PowerShell fonctionnent. Par contre, ils changent votre expérience de ligne de commande.
Azure CLI dispose d’un programme d’installation qui rend ses commandes exécutables dans les quatre environnements de shell.
Azure PowerShell est un ensemble d’applets de commande empaquetées sous forme de module PowerShell appelé Az
, pas un exécutable. Windows PowerShell ou PowerShell doit être utilisé pour installer le module Az
.
Windows PowerShell est le shell de script standard qui vient préinstallé avec la plupart des systèmes d’exploitation Windows. PowerShell est une installation autonome qui utilise .NET Core comme runtime, ce qui permet de l’installer sur macOS, Linux et Windows.
Points essentiels :
- AzureRM est un module PowerShell qui est encore référencé pour l’administration d’Azure avec PowerShell. Toutefois, il a été remplacé par Azure PowerShell et sa date officielle de suppression est fixée au 29 février 2024.
Si vous utilisez AzureRM, vous pouvez migrer Azure PowerShell depuis AzureRM vers Az.
Qu’est-ce qu’Azure Cloud Shell ?
Azure Cloud Shell est un environnement de shell hébergé qui s’exécute sur un conteneur Ubuntu.
Cloud Shell fournit deux environnements de shell : Bash (avec Azure CLI préinstallé) et PowerShell (avec Azure PowerShell préinstallé). Une liste déroulante en haut de la fenêtre Cloud Shell vous permet de passer facilement d’un environnement à l’autre.
Cloud Shell est accessible dans un navigateur web et a des intégrations pour Windows Terminal et Visual Studio Code.
Remarque
Azure Cloud Shell peut ne pas toujours refléter immédiatement les versions les plus récentes d’Azure PowerShell et d’Azure CLI, car le calendrier de publication de ces trois outils est différent. Toutefois, Azure Cloud Shell est généralement censé contenir les versions les plus récentes des deux outils.
Quel outil en ligne de commande Azure vous convient ?
Quand vous choisissez le bon outil, prenez en compte votre expérience passée et votre environnement de travail actuel.
La syntaxe Azure CLI est similaire à celle des scripts Bash. Si vous travaillez principalement avec des systèmes Linux, Azure CLI vous semble plus naturel.
Azure PowerShell est un module PowerShell. Si vous travaillez principalement avec des systèmes Windows, Azure PowerShell vous semble plus naturel. Les commandes suivent un schéma de nommage verbe-nom et les données sont retournées en tant qu’objets.
Choisissez l’outil qui se sert de votre expérience et écourte votre courbe d’apprentissage. Tirez parti des formations Microsoft pour devenir expert en gestion d’Azure en utilisant la ligne de commande.
Cela étant dit, être ouvert d’esprit n’améliore que vos aptitudes. Utilisez un autre outil lorsque cela tombe sous le sens.
Points essentiels :
- La parité des fonctionnalités dans les services Azure n’existe pas toujours entre Azure CLI et Azure PowerShell.
Azure CLI et Azure PowerShell : comparaison des commandes
Commandes de connexion, d’abonnement et d’emplacement :
Commande | Azure CLI | Azure PowerShell |
---|---|---|
Se connecter avec un navigateur web | az login | Connect-AzAccount |
Obtenir les abonnements disponibles | az account list | Get-AzSubscription |
Définir un abonnement | az account set –subscription <SubscriptionId> | Set-AzContext -Subscription <SubscriptionID> |
Lister les emplacements Azure | az account list-locations | Get-AzLocation |
Rechercher des versions, obtenir de l’aide et afficher l’aide des commandes :
Commande | Azure CLI | Azure PowerShell |
---|---|---|
Rechercher une version | az --version | Get-InstalledModule -Name Az |
Obtenir de l’aide | az --help | Get-Help |
Afficher l’aide des commandes | az vm --help | Get-Help -Name New-AzVM |
Créer un groupe de ressources, une machine virtuelle et un compte de stockage :
Commande | Azure CLI | Azure PowerShell |
---|---|---|
Créer un groupe de ressources | az group create --name <ResourceGroupName> --location eastus | New-AzResourceGroup -Name <ResourceGroupName> -Location eastus |
Créer une machine virtuelle Azure | az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Password>' | New-AzVM -ResourceGroupName <ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential) |
Créer un compte de stockage Azure | az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 | New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2 |
Gérer les machines virtuelles Azure :
Commande | Azure CLI | Azure PowerShell |
---|---|---|
Lister une machine virtuelle | az vm list | Get-AzVM |
Redémarrer la machine virtuelle | az vm restart --name myVM --resource-group <ResourceGroupName> | Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Arrêter la machine virtuelle | az vm stop --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Arrêter et désallouer une machine virtuelle | az vm deallocate --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Démarrer une machine virtuelle | az vm start --name myVM --resource-group <ResourceGroupName> | Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Supprimer une machine virtuelle | az vm delete --name myVM --resource-group <ResourceGroupName> | Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Sélectionner des propriétés et changer les formats de sortie :
Commande | Azure CLI | Azure PowerShell |
---|---|---|
Afficher toutes les informations d’abonnement | az account list --all | Get-AzSubscription | Select-Object -Property * |
Sortir au format tableau | az account list -o table | Get-AzSubscription | Format-Table |
Sortir au format JSON | az account show | Get-AzSubscription | ConvertTo-Json |
Points essentiels :
- Par défaut, Azure CLI sort une chaîne JSON. Vous trouverez d’autres options de format dans Formats de sortie pour les commandes Azure CLI.
- Par défaut, Azure PowerShell sort des objets. Pour en savoir plus sur les formats dans PowerShell, consultez Utilisation des commandes de mise en forme pour modifier l’affichage d’une sortie.
Étapes suivantes
Azure CLI :
Azure PowerShell :