Conserver des fichiers dans Azure Cloud Shell

Cloud Shell utilise Azure Files pour conserver les fichiers entre les sessions. Lors du premier démarrage, Cloud Shell vous invite à associer un partage de fichiers nouveau ou existant afin de conserver les fichiers entre les sessions.

Remarque

Bash et PowerShell utilisent le même partage de fichiers. Un seul partage de fichiers peut être associé à un montage automatique dans Cloud Shell.

Le pare-feu de stockage Azure n’est pas pris en charge pour les comptes de stockage Cloud Shell.

Créer un stockage

Lorsque vous utilisez des paramètres de base et sélectionnez uniquement un abonnement, Cloud Shell crée trois ressources pour vous dans la région prise en charge la plus proche de vous :

  • Groupe de ressources : cloud-shell-storage-<region>
  • Compte de stockage : cs<uniqueGuid>
  • Partage de fichiers : cs-<user>-<domain>-com-<uniqueGuid>

Capture d’écran du choix de l’abonnement pour votre compte de stockage.

Le partage de fichiers est monté en tant que clouddrive dans votre répertoire $HOME. Cette opération n’a lieu qu’une seule fois, car le partage de fichiers est automatiquement monté dans les sessions suivantes.

Le partage de fichiers contient également une image de 5 Go qui conserve automatiquement les données dans votre répertoire $HOME. Ce partage de fichiers est utilisé pour Bash et PowerShell.

Utiliser les ressources existantes

L’option Avancé vous permet d’associer des ressources existantes. Quand l’invite de configuration du stockage s’affiche, sélectionnez Afficher les paramètres avancés pour visualiser d’autres options. Les options de stockage renseignées filtrent les comptes de stockage localement redondant (LRS), de stockage géoredondant (GRS) et de stockage redondant interzone (ZRS).

Notes

Il est recommandé d’utiliser des comptes de stockage GRS ou ZRS afin d’offrir une résilience supplémentaire pour votre partage de fichiers de sauvegarde. Le type de redondance dépend de vos objectifs et de votre budget. En savoir plus sur les options de réplication pour les comptes de Stockage Azure.

Capture d’écran de la configuration de votre compte de stockage.

Sécurisation de l’accès au stockage

Pour la sécurité, chaque utilisateur doit créer son propre compte de stockage. Pour le contrôle d’accès en fonction du rôle Azure (RBAC Azure), les utilisateurs doivent avoir un accès contributeur ou supérieur au niveau du compte de stockage.

Cloud Shell utilise un partage de fichiers Azure dans un compte de stockage, au sein d’un abonnement spécifié. En raison des autorisations héritées, les utilisateurs disposant de droits d’accès suffisants à l’abonnement peuvent accéder à tous les comptes de stockage ainsi qu’aux partages de fichiers contenus dans l’abonnement.

Les utilisateurs doivent verrouiller l’accès à leurs fichiers en définissant des autorisations au niveau du compte de stockage ou de l’abonnement.

Le compte de stockage Cloud Shell contient les fichiers créés par l’utilisateur Cloud Shell dans son répertoire d’accueil, qui peut inclure des informations sensibles, notamment des jetons d’accès ou des informations d’identification.

Régions de stockage prises en charge

Pour déterminer votre région actuelle, vous pouvez exécuter env dans Bash et localiser la variable ACC_LOCATION, ou exécuter $env:ACC_LOCATION à partir de PowerShell. Les partages de fichiers reçoivent une image de 5 Go créée pour conserver votre répertoire $HOME.

Les machines Cloud Shell existent dans les régions suivantes :

Domaine Région
Amérique USA Est, USA Centre Sud, USA Ouest
Europe Europe Nord, Europe Ouest
Asie-Pacifique Inde Centre, Asie Sud-Est

Vous devez choisir une région qui répond à vos exigences.

Régions de stockage secondaires

Si une région de stockage secondaire est utilisée, le compte de stockage Azure associé réside dans une autre région que la machine Cloud Shell sur laquelle vous les montez. Par exemple, vous pouvez choisir d’installer votre compte de stockage dans la région secondaire Canada Est, alors que votre machine Cloud Shell est restée dans une région primaire. Vos données au repos sont stockées au Canada, mais elles sont traitées aux États-Unis.

Notes

Si une région secondaire est utilisée, l’accès aux fichiers et le démarrage de Cloud Shell peuvent être ralentis.

Un utilisateur peut exécuter (Get-CloudDrive | Get-AzStorageAccount).Location dans PowerShell pour voir l’emplacement des partages de fichiers.

Restreindre la création de ressources avec une stratégie de ressource Azure

Les comptes de stockage créés dans Cloud Shell sont identifiés à l’aide de la balise ms-resource-usage:azure-cloud-shell. Si vous souhaitez interdire aux utilisateurs de créer des comptes de stockage dans Cloud Shell, créez une stratégie de ressource Azure pour les étiquettes déclenchée par cette étiquette spécifique.

Fonctionnement du stockage Cloud Shell

Cloud Shell conserve les fichiers à l’aide des deux méthodes suivantes :

  • Création d’une image disque de votre répertoire $HOME pour conserver la totalité du contenu figurant dans le répertoire. Cette image disque est enregistrée dans votre partage de fichiers spécifié en tant que acc_<User>.img à l’emplacement fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img et synchronise automatiquement les modifications.
  • Montage du partage de fichiers spécifié en tant que clouddrive dans votre répertoire $HOME pour l’interaction directe avec le partage de fichiers. /Home/<User>/clouddrive est mappé à fileshare.storage.windows.net/fileshare.

Notes

Tous les fichiers figurant dans votre répertoire $HOME, tels que les clés SSH, sont conservés dans l’image disque utilisateur qui est stockée dans votre partage de fichiers monté. Appliquez les bonnes pratiques lors de la conservation d’informations dans votre répertoire $HOME et votre partage de fichiers monté.

Commandes CloudDrive

Utiliser la commande clouddrive

Dans Cloud Shell, vous pouvez exécuter une commande appelée clouddrive, qui vous permet de mettre à jour manuellement le partage de fichiers qui est monté dans Cloud Shell.

Capture d’écran de l’exécution de la commande clouddrive dans bash.

Liste clouddrive

Pour découvrir le partage de fichiers monté en tant que clouddrive, exécutez la commande df.

Le chemin de fichier vers clouddrive affiche le nom de votre compte de stockage et le partage de fichiers dans l’URL. Par exemple : //storageaccountname.file.core.windows.net/filesharename

justin@Azure:~$ df
Filesystem                                          1K-blocks   Used  Available Use% Mounted on
overlay                                             29711408 5577940   24117084  19% /
tmpfs                                                 986716       0     986716   0% /dev
tmpfs                                                 986716       0     986716   0% /sys/fs/cgroup
/dev/sda1                                           29711408 5577940   24117084  19% /etc/hosts
shm                                                    65536       0      65536   0% /dev/shm
//mystoragename.file.core.windows.net/fileshareName 5368709120    64 5368709056   1% /home/justin/clouddrive

Monter un nouveau clouddrive

Prérequis pour le montage manuel

Vous pouvez mettre à jour le partage de fichiers qui est associé à Cloud Shell en utilisant la commande clouddrive mount.

Notes

Si vous montez un nouveau partage de fichiers, une image utilisateur est créée pour votre répertoire $HOME. L’image précédente $HOME est conservée dans le partage de fichier précédent.

Exécutez la commande clouddrive mount avec les paramètres suivants :

clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName

Pour afficher plus de détails, exécutez clouddrive mount -h, comme illustré ici :

Capture d’écran de l’exécution de la commande clouddrive mount dans bash.

Démontage de clouddrive

Vous pouvez démonter un partage de fichiers monté sur Cloud Shell à tout moment. Dans la mesure où Cloud Shell nécessite l’utilisation d’un partage de fichiers monté, il vous invite à créer et monter un autre partage de fichiers lors de la prochaine session.

  1. Exécutez clouddrive unmount.
  2. Acceptez et confirmez les invites.

Le partage de fichiers non monté continue d’exister jusqu’à ce que vous le supprimiez manuellement. Après le démontage, Cloud Shell ne recherche plus ce partage de fichiers dans les sessions suivantes. Pour afficher plus de détails, exécutez clouddrive unmount -h, comme illustré ici :

Capture d’écran de l’exécution de la commande clouddrive unmount dans bash.

Avertissement

L’exécution de cette commande ne supprime pas de ressources. Toutefois, la suppression manuelle d’un groupe de ressources, d’un compte de stockage ou d’un partage de fichiers mappé à Cloud Shell efface votre image disque du répertoire $HOME ainsi que tous les autres fichiers présents dans votre partage de fichiers. Cette action ne peut pas être annulée.

Commandes PowerShell spécifiques

Répertorier les partages de fichiers Azure clouddrive

L’applet de commande Get-CloudDrive récupère les informations du partage de fichiers Azure monté par le clouddrive dans Cloud Shell.

Capture d’écran de l’exécution de la commande Get-CloudDrive dans PowerShell.

Démonter clouddrive

Vous pouvez démonter un partage de fichiers Azure monté sur Cloud Shell à tout moment. L’applet de commande Dismount-CloudDrive démonte un partage de fichiers Azure à partir du compte de stockage actuel. Le démontage du clouddrive met fin à la session active.

En cas de suppression du partage de fichiers Azure, vous êtes invité à créer et à monter un partage de fichiers Azure lors de la prochaine session.

Capture d’écran de l’exécution de la commande Dismount-CloudDrive dans PowerShell.

Transférer des fichiers locaux vers Cloud Shell

Le répertoire clouddrive se synchronise dans le panneau Stockage du portail Azure. Utilisez ce panneau pour échanger des fichiers avec votre partage de fichiers. La mise à jour des fichiers à partir de Cloud Shell se reflète dans l’interface graphique du stockage de fichiers quand vous actualisez le panneau.

Télécharger les fichiers à partir du portail Azure

Capture d’écran listant les fichiers locaux dans le portail Azure.

  1. Dans le portail Azure, accédez au partage de fichiers monté.
  2. Sélectionnez le fichier cible.
  3. Cliquez sur le bouton Télécharger.

Télécharger des fichiers dans Azure Cloud Shell

  1. Dans une session Azure Cloud Shell, sélectionnez l’icône Charger/télécharger des fichiers, puis sélectionnez l’option Télécharger.

  2. Dans la boîte de dialogue Télécharger un fichier, entrez le chemin du fichier que vous souhaitez télécharger.

    Capture d’écran de la boîte de dialogue de téléchargement dans Cloud Shell.

    Vous pouvez uniquement télécharger les fichiers situés sous votre dossier $HOME.

  3. Cliquez sur le bouton Télécharger.

Charger des fichiers

Capture d’écran montrant comment charger des fichiers dans le portail Azure.

  1. Accédez au partage de fichiers monté.
  2. Cliquez sur le bouton Charger.
  3. Sélectionnez le ou les fichiers que vous souhaitez charger.
  4. Confirmez le chargement.

Vous devriez à présent voir les fichiers accessibles dans votre répertoire clouddrive dans Cloud Shell.

Remarque

Si vous devez définir une fonction dans un fichier et l'appeler à partir des cmdlets PowerShell, l’opérateur point doit être inclus. Par exemple : . .\MyFunctions.ps1

Charger des fichiers dans Azure Cloud Shell

  1. Dans une session Azure Cloud Shell, sélectionnez l’icône Charger/télécharger des fichiers, puis sélectionnez l’option Charger. Votre navigateur ouvre une boîte de dialogue de fichier.
  2. Choisissez le fichier que vous voulez charger, puis sélectionnez le bouton Ouvrir.

Le fichier est chargé à la racine de votre dossier $HOME. Vous pouvez déplacer le fichier après son chargement.

Étapes suivantes