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>
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.
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 queacc_<User>.img
à l’emplacementfileshare.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.
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 :
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.
- Exécutez
clouddrive unmount
. - 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 :
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.
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.
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
- Dans le portail Azure, accédez au partage de fichiers monté.
- Sélectionnez le fichier cible.
- Cliquez sur le bouton Télécharger.
Télécharger des fichiers dans Azure Cloud Shell
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.
Dans la boîte de dialogue Télécharger un fichier, entrez le chemin du fichier que vous souhaitez télécharger.
Vous pouvez uniquement télécharger les fichiers situés sous votre dossier
$HOME
.Cliquez sur le bouton Télécharger.
Charger des fichiers
- Accédez au partage de fichiers monté.
- Cliquez sur le bouton Charger.
- Sélectionnez le ou les fichiers que vous souhaitez charger.
- 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
- 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.
- 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.