Utiliser Azure Cloud Shell
Introduction
Azure Cloud Shell est un terminal interactif accessible depuis un navigateur, notamment dans le portail Azure. Il permet d’administrer les ressources Azure en exécutant des commandes ou des scripts, sans installer les outils d’administration sur son ordinateur.
Microsoft fournit et maintient l’environnement d’exécution. La session est automatiquement authentifiée avec un compte Azure et les opérations exécutées restent soumises aux autorisations de ce compte.
Cloud Shell, Bash, PowerShell et outils Azure
Ces termes désignent des éléments complémentaires :
| Élément | Rôle |
|---|---|
| Azure Cloud Shell | Environnement hébergé donnant accès au terminal. |
| Bash | Interpréteur de commandes permettant notamment d’exécuter des scripts Bash. |
| PowerShell | Interpréteur et langage de script manipulant des objets. |
| Azure CLI | Outil d’administration Azure dont les commandes commencent par az. |
| Azure PowerShell | Ensemble de modules PowerShell dont les commandes comprennent notamment Get-AzResourceGroup. |
Ouvrir Cloud Shell
- Ouvrez le portail Azure.
- Sélectionnez l’icône Cloud Shell, représentée par un symbole de terminal, dans la barre supérieure.
- Au premier lancement, choisissez Bash ou PowerShell :

- Sélectionnez l’abonnement demandé et les options de stockage.
- Validez, puis attendez l’affichage de l’invite de commandes.
Cloud Shell est également accessible directement à l’URL https://shell.azure.com.
Choisir le mode de stockage
Sélection d'un compte de stockage
Session sans compte de stockage
L’option indiquant qu’aucun compte de stockage n’est nécessaire permet de démarrer une session éphémère. Les fichiers créés dans cette session ne sont pas conservés une fois la session terminée. Ce mode convient pour découvrir les commandes ou réaliser une opération ponctuelle.
A noter que la non conservation des fichiers de la session ne supprime pas les ressources Azure créées via des commandes dans cette session.
Session avec stockage persistant
Pour conserver vos fichiers entre les sessions, choisissez de monter un stockage existant ou d’en créer un. Cloud Shell utilise un partage Azure Files, hébergé dans un compte de stockage. Le répertoire personnel est conservé dans une image disque et est également accessible dans le dossier clouddrive de ce répertoire.
Avec Bash :
Avec PowerShell :
Ce stockage permet notamment de conserver des scripts et des fichiers de configuration.
Concernant la facturation
L’utilisation de la machine hébergeant Cloud Shell est gratuite.
Le stockage est facturé selon les tarifs du stockage utilisé. Les ressources créées ou utilisées par les commandes exécutées peuvent également entraîner des frais (machines virtuelles, comptes de stockage, etc.).
Vérifier l’abonnement actif
Vous devez avoir un abonnement actif pour ouvrir une session. Vous pouvez le sélectionner après avoir indiqué l'éventuel compte de stockage à utiliser.
Nous pouvons exécuter soit des commandes Azure CLI, soit des commandes PowerShell. Pour les premiers exemples, je donne les commandes pour les deux outils. Puis, préférant n'utiliser Azure CLI, je n'indiquer que les commandes le concernant.
Avec Azure CLI
Lister les abonnements accessibles :
Sélectionner un abonnement, en remplaçant la valeur d’exemple par son identifiant :
Afficher le contexte actif :
Avec Azure PowerShell
Azure CLI et Azure PowerShell gèrent chacun leur contexte. Si vous utilisez les deux outils, vérifiez l’abonnement actif dans chacun d’eux.
Consulter les groupes de ressources
Avec Azure CLI
Le paramètre --output table présente le résultat sous forme de tableau.
Pour sélectionner uniquement le nom et la région :
Le paramètre --query applique une expression JMESPath au résultat.
Avec Azure PowerShell
Le pipeline transmet les objets d’une commande à la suivante : nous sélectionnons les propriétés utiles, puis leur présentation.
Exercice : créer un groupe de ressources
Choisissez l’une des deux variantes. Utilisez un nom réservé à cet exercice et vérifiez qu’il ne désigne pas un groupe existant.
Avec Bash et Azure CLI
resource_group="rg-cloudshell-demo"
location="francecentral"
az group create --name "$resource_group" --location "$location"
az group show --name "$resource_group" --output table
Avec Azure CLI dans PowerShell
& {
$resource_group = "rg-cloudshell-demo"
$location = "francecentral"
az group create --name "$resource_group" --location "$location"
az group show --name "$resource_group" --output table
}
Avec Azure PowerShell
$resourceGroup = "rg-cloudshell-demo"
$location = "francecentral"
New-AzResourceGroup -Name $resourceGroup -Location $location
Get-AzResourceGroup -Name $resourceGroup
Actualisez la liste des groupes de ressources dans le portail pour retrouver le groupe créé.
La région d’un groupe de ressources correspond à l’emplacement de ses métadonnées. Elle n’impose pas que toutes ses ressources soient déployées dans cette région.
Nettoyer après l’exercice
Lorsque vous avez terminé, supprimez uniquement le groupe créé pour l’exercice.
Supprimer un groupe de ressources supprime également les ressources qu’il contient. Vérifiez son contenu avant de confirmer.
Avec Azure CLI :
Avec Azure PowerShell :
Ces exemples conservent la demande de confirmation.
Échanger des fichiers avec son ordinateur
Le menu de gestion des fichiers permet de :
- Charger un fichier de l’ordinateur vers Cloud Shell.
- Télécharger un fichier de Cloud Shell vers l’ordinateur.
Un fichier chargé est placé dans le répertoire personnel de la session. Sans stockage persistant, téléchargez les fichiers à conserver avant de terminer la session.
Le terminal distant n’accède pas directement aux chemins locaux de votre ordinateur. Il est nécessaire de transférer les fichiers.
Modifier et exécuter un script
Le bouton Éditeur de la barre d’outils ouvre l’éditeur intégré.
Pour un premier essai en PowerShell, créez un fichier nommé list-resource-groups.ps1 contenant :
Enregistrez-le dans le répertoire courant, puis exécutez :
Pour conserver ce script entre les sessions, utilisez le stockage persistant ou téléchargez-le.
Obtenir de l’aide
Avec Azure CLI :
Avec PowerShell :
Terminer une session
La commande suivante termine la session active :
Cloud Shell ferme également une session après 20 minutes sans interaction.
