Rendere persistenti i file in Azure Cloud Shell
Cloud Shell usa File di Azure per rendere persistenti i file tra le sessioni. All'avvio iniziale, Cloud Shell richiede di associare una condivisione file nuova o esistente a file persistenti tra sessioni.
Nota
Bash e PowerShell condividono la stessa condivisione file. È possibile associare una sola condivisione file al montaggio automatico in Cloud Shell.
Il firewall di archiviazione di Azure non è supportato per gli account di archiviazione cloud shell.
Creare una nuova risorsa di archiviazione
Quando si usano le impostazioni di base e si seleziona una sola sottoscrizione, Cloud Shell crea tre risorse per conto dell'utente nell'area di Azure supportata più vicina all'utente:
- Gruppo di risorse:
cloud-shell-storage-<region>
- Account di archiviazione:
cs<uniqueGuid>
- Fileshare:
cs-<user>-<domain>-com-<uniqueGuid>
La condivisione file viene montata come clouddrive
nella $HOME
directory. Si tratta di un'azione una sola volta e i montaggi di condivisione file vengono montati automaticamente nelle sessioni successive.
La condivisione file contiene anche un'immagine da 5 GB che mantiene automaticamente i dati nella $HOME
directory.
Questa condivisione file viene usata sia per Bash che per PowerShell.
Usare le risorse esistenti
Usando l'opzione avanzata, è possibile associare le risorse esistenti. Quando viene visualizzata la richiesta di installazione dell'archiviazione, selezionare Mostra impostazioni avanzate per visualizzare altre opzioni. Le opzioni di archiviazione popolate filtrano gli account di archiviazione con ridondanza locale, archiviazione con ridondanza geografica e archiviazione con ridondanza della zona.
Nota
L'uso degli account di archiviazione con ridondanza geografica o della zona è consigliato per aumentare la resilienza per la condivisione di file di backup. Il tipo di ridondanza dipende dagli obiettivi e dalla preferenza di prezzo. Altre informazioni sulle opzioni di replica per gli account di Archiviazione di Azure.
Protezione dell'accesso all'archiviazione
Per la sicurezza, ogni utente deve creare un proprio account di archiviazione. Per il controllo degli accessi in base al ruolo di Azure, gli utenti devono avere accesso ai collaboratori o superiore a livello di account di archiviazione.
Cloud Shell usa una condivisione file di Azure in un account di archiviazione, all'interno di una sottoscrizione specificata. A causa delle autorizzazioni ereditate, gli utenti con diritti di accesso sufficienti alla sottoscrizione possono accedere a tutti gli account di archiviazione e alle condivisioni file contenute nella sottoscrizione.
Gli utenti devono bloccare l'accesso ai file impostando le autorizzazioni all'account di archiviazione o al livello di sottoscrizione.
L'account di archiviazione Cloud Shell contiene file creati dall'utente Cloud Shell nella home directory, che può includere informazioni riservate, inclusi i token di accesso o le credenziali.
Aree di archiviazione supportate
Per trovare l'area corrente, è possibile eseguire env
in Bash e individuare la variabile ACC_LOCATION
o da PowerShell eseguire $env:ACC_LOCATION
. Le condivisioni file ricevono un'immagine da 5 GB creata automaticamente per mantenere persistente la directory $HOME
.
I computer Cloud Shell esistono nelle aree seguenti:
Area | Region |
---|---|
Americhe | Stati Uniti orientali, Stati Uniti centro-meridionali, Stati Uniti occidentali |
Europa | Europa settentrionale, Europa occidentale |
Asia Pacifico | India centrale, Asia sud-orientale |
È consigliabile scegliere un'area che soddisfi i requisiti.
Aree di archiviazione secondarie
Se viene usata un'area di archiviazione secondaria, l'account di archiviazione di Azure associato si trova in un'area diversa come Cloud Shell computer in cui vengono montati. Ad esempio, è possibile impostare l'account di archiviazione da individuare in Canada orientale, un'area secondaria, ma il computer Cloud Shell si trova ancora in un'area primaria. I dati inattivi si trovano in Canada, ma vengono elaborati nella Stati Uniti.
Nota
Se viene usata un'area secondaria, l'accesso ai file e l'ora di avvio per Cloud Shell potrebbero essere più lente.
Un utente può eseguire (Get-CloudDrive | Get-AzStorageAccount).Location
in PowerShell per visualizzare il percorso della condivisione file.
Limitare la creazione di risorse con i criteri delle risorse di Azure
Gli account di archiviazione creati in Cloud Shell vengono contrassegnati con ms-resource-usage:azure-cloud-shell
.
Se si vuole impedire agli utenti di creare account di archiviazione in Cloud Shell, creare criteri di risorsa di Azure per i tag attivati da questo tag specifico.
Come funziona l’archiviazione Cloud Shell
Cloud Shell rende persistenti i file tramite entrambe le modalità seguenti:
- Creazione di un'immagine del disco della directory
$HOME
per rendere persistenti tutti i contenuti della directory. L'immagine del disco viene salvata nella condivisione file specificata comeacc_<User>.img
infileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img
e sincronizza automaticamente le modifiche. - Montaggio della condivisione file specificata come
clouddrive
nella$HOME
directory per l'interazione diretta con condivisione file. Viene eseguito il mapping di/Home/<User>/clouddrive
afileshare.storage.windows.net/fileshare
.
Nota
Tutti i file nella $HOME
directory, ad esempio le chiavi SSH, vengono mantenuti nell'immagine del disco utente, archiviata nella condivisione file montata. Applicare le procedure consigliate quando si conservano le informazioni nella $HOME
directory e la condivisione file montata.
comandi di clouddrive
Usare il comando clouddrive
In Cloud Shell è possibile eseguire un comando denominato clouddrive
, che consente di aggiornare manualmente la condivisione file montata in Cloud Shell.
Elenco clouddrive
Per individuare quale condivisione file è montata come clouddrive
, eseguire il df
comando .
Il percorso del file in clouddrive mostra il nome dell'account di archiviazione e la condivisione file nell'URL. Ad esempio: //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
Montare una nuova clouddrive
Prerequisiti per il montaggio manuale
È possibile aggiornare la condivisione file associata a Cloud Shell usando il clouddrive mount
comando .
Nota
Se si monta una nuova condivisione file, viene creata una nuova immagine utente per la $HOME
directory. L'immagine precedente $HOME
viene mantenuta nella condivisione file precedente.
Eseguire il comando clouddrive mount
con i parametri seguenti:
clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName
Per visualizzare altri dettagli, eseguire clouddrive mount -h
, come illustrato di seguito:
Smontare l'unità clouddrive
È possibile smontare una condivisione file montata in Cloud Shell in qualsiasi momento. Poiché Cloud Shell richiede l'uso di una condivisione file montata, Cloud Shell richiede di creare e montare un'altra condivisione file nella sessione successiva.
- Eseguire
clouddrive unmount
. - Accettare e confermare i prompt.
La condivisione file smontata continua a esistere finché non viene eliminata manualmente. Dopo aver smontato, Cloud Shell non cerca più questa condivisione file nelle sessioni successive. Per visualizzare altri dettagli, eseguire clouddrive unmount -h
, come illustrato di seguito:
Avviso
Anche se l'esecuzione di questo comando non elimina risorse, eliminando manualmente un gruppo di risorse, un account di archiviazione o una condivisione file mappata a Cloud Shell cancella l'immagine $HOME
del disco della directory e tutti i file nella condivisione file. Questa azione non può essere annullata.
PowerShell - Comandi specifici
Elencare le condivisioni file di Azure clouddrive
Il Get-CloudDrive
cmdlet recupera le informazioni di condivisione file di Azure attualmente montate dall'oggetto clouddrive
in Cloud Shell.
Smontare clouddrive
È possibile smontare una condivisione file di Azure montata in Cloud Shell in qualsiasi momento. Il Dismount-CloudDrive
cmdlet smonta una condivisione file di Azure dall'account di archiviazione corrente.
Se si smonta clouddrive
, viene terminata la sessione corrente.
Se la condivisione file di Azure è stata rimossa, verrà richiesto di creare e montare una nuova condivisione file di Azure nella sessione successiva.
Trasferire file locali in Cloud Shell
La directory clouddrive
viene sincronizzata con il pannello di archiviazione del portale di Azure. Usare questo pannello per trasferire file locali da e verso la condivisione file. L'aggiornamento dei file dall'interno di Cloud Shell si riflette nell'interfaccia utente grafica di archiviazione file quando il pannello viene aggiornato.
Scaricare i file dal portale di Azure
- Nel portale di Azure passare alla condivisione file montata.
- Selezionare il file di destinazione.
- Selezionare il pulsante Scarica.
Scaricare file in Azure Cloud Shell
In una sessione di Azure Cloud Shell selezionare l'icona Carica/Scarica file e selezionare l'opzione Scarica.
Nella finestra di dialogo Scarica un file immettere il percorso del file da scaricare.
È possibile scaricare solo i file che si trovano nella
$HOME
cartella.Selezionare il pulsante Scarica.
Caricare i file
- Passare alla condivisione file montata.
- Selezionare il pulsante Carica.
- Selezionare uno o più file che si desidera caricare.
- Confermare il caricamento.
Si dovrebbe a questo punto vedere che è possibile accedere ai file nella directory clouddrive
in Cloud Shell.
Nota
se è necessario definire una funzione in un file e chiamarla dai cmdlet di PowerShell, l'operatore punto deve essere incluso. ad esempio . .\MyFunctions.ps1
Caricare file in Azure Cloud Shell
- In una sessione di Azure Cloud Shell selezionare l'icona Carica/Scarica file e selezionare l'opzione Carica. Il browser apre una finestra di dialogo file.
- Scegliere il file da caricare e quindi selezionare il pulsante Apri .
Il file viene caricato nella radice della $HOME
cartella. È possibile spostare il file dopo il caricamento.