Beibehalten von Dateien in Azure Cloud Shell
Cloud Shell nutzt Azure Files, um Dateien sitzungsübergreifend beizubehalten. Beim ersten Start fordert Cloud Shell Sie auf, eine neue oder vorhandene Dateifreigabe zu verknüpfen, um Dateien sitzungsübergreifend beizubehalten.
Hinweis
Für Bash und PowerShell wird dieselbe Dateifreigabe verwendet. In Cloud Shell kann der automatischen Bereitstellung nur eine Dateifreigabe zugeordnet werden.
Die Azure Storage-Firewall wird für Cloud Shell-Speicherkonten nicht unterstützt.
Erstellen von neuem Speicher
Wenn Sie die grundlegenden Einstellungen verwenden und nur ein Abonnement auswählen, werden von Cloud Shell in der für Sie unterstützten nächstgelegenen Region drei Ressourcen erstellt:
- Ressourcengruppe:
cloud-shell-storage-<region>
- Speicherkonto:
cs<uniqueGuid>
- Dateifreigabe:
cs-<user>-<domain>-com-<uniqueGuid>
Die Dateifreigabe wird in Ihrem Verzeichnis $HOME
als clouddrive
eingebunden. Dies ist eine einmalige Aktion, und die Dateifreigabe wird in den nachfolgenden Sitzungen automatisch bereitgestellt.
Die Dateifreigabe enthält auch ein 5 GB-Image, das automatisch Daten in Ihrem $HOME
-Verzeichnis speichert.
Diese Dateifreigabe wird sowohl für Bash als auch für PowerShell verwendet.
Verwenden vorhandener Ressourcen
Sie können vorhandene Ressourcen zuordnen, indem Sie die erweiterte Option verwenden. Wenn Sie eine Cloud Shell-Region auswählen, müssen Sie ein unterstützendes Speicherkonto in derselben Region auswählen. Wenn die zugewiesene Region beispielsweise „USA, Westen“ lautet, müssen Sie eine Dateifreigabe zuordnen, die sich ebenfalls in „USA, Westen“ befindet.
Wählen Sie bei der Anzeige mit der Aufforderung zum Einrichten des Speichers die Option Erweiterte Einstellungen anzeigen, um weitere Optionen anzuzeigen. Die aufgefüllten Speicheroptionen werden nach Konten mit lokal redundantem Speicher (LRS), georedundantem Speicher (GRS) und zonenredundantem Speicher (ZRS) gefiltert.
Hinweis
Für zusätzliche Resilienz wird die Verwendung von GRS- oder ZRS-Speicherkonten für Ihre unterstützende Dateifreigabe empfohlen. Die Art der Redundanz hängt von Ihren Zielen und Preisvorstellungen ab. Erhalten Sie weitere Informationen zu Replikationsoptionen für Azure Storage-Konten.
Schützen des Speicherzugriffs
Aus Sicherheitsgründen sollte jeder Benutzer ein eigenes Speicherkonto erstellen. Für die rollenbasierte Zugriffssteuerung von Azure (Azure Role-Based Access Control, Azure RBAC) benötigen Benutzer zumindest die Berechtigungen eines Mitwirkenden auf Speicherkontoebene.
In Cloud Shell wird eine Azure-Dateifreigabe in einem Speicherkonto innerhalb eines angegebenen Abonnements verwendet. Aufgrund von geerbten Berechtigungen können Benutzer mit ausreichenden Zugriffsrechten für das Abonnement auf alle Speicherkonten und Dateifreigaben zugreifen, die im Abonnement enthalten sind.
Benutzer sollten den Zugriff auf ihre Dateien sperren, indem sie die Berechtigungen auf der Speicherkonto- oder Abonnementebene festlegen.
Das Cloud Shell-Speicherkonto enthält Dateien, die vom Cloud Shell-Benutzer im Basisverzeichnis erstellt werden. Hierbei kann es sich auch um vertrauliche Informationen handeln, z. B. Zugriffstoken oder Anmeldeinformationen.
Unterstützte Speicherregionen
Um die aktuelle Region zu suchen, können Sie env
in Bash ausführen und die Variable ACC_LOCATION
suchen oder in PowerShell $env:ACC_LOCATION
ausführen. Dateifreigaben erhalten ein für Sie erstelltes 5-GB-Image zum Beibehalten Ihres Verzeichnisses $HOME
.
Cloud Shell-Computer sind in folgenden Regionen vorhanden:
Bereich | Region |
---|---|
Amerika | USA, Osten; USA, Süden-Mitte; USA, Westen |
Europa | „Europa, Norden“, „Europa, Westen“ |
Asien-Pazifik | Indien, Mitte; Asien, Südosten |
Kunden sollten eine primäre Region auswählen, es sei denn, es gilt die Anforderung, dass ihre ruhenden Daten in einer bestimmten Region gespeichert werden müssen. Wenn eine solche Anforderung besteht, sollte eine sekundäre Speicherregion verwendet werden.
Sekundäre Speicherregionen
Wenn eine sekundäre Speicherregion verwendet wird, befindet sich das zugehörige Azure Storage-Konto in einer anderen Region als der Cloud Shell-Computer, auf dem Sie es einbinden. Sie können z. B. festlegen, dass sich Ihr Speicherkonto in „Kanada, Osten“, einer sekundären Region, befindet, während sich Ihr Cloud Shell-Computer jedoch weiterhin in einer primären Region befindet. Ihre ruhenden Daten befinden sich in Kanada, werden jedoch in den USA verarbeitet.
Hinweis
Wenn eine sekundäre Region verwendet wird, können der Dateizugriff und die Startzeit für Cloud Shell verlangsamt sein.
Ein Benutzer kann (Get-CloudDrive | Get-AzStorageAccount).Location
in PowerShell ausführen, um den Speicherort seiner Dateifreigabe anzuzeigen.
Beschränken der Ressourcenerstellung mit einer Azure-Ressourcenrichtlinie
Speicherkonten, die Sie in Cloud Shell erstellen, erhalten das Tag ms-resource-usage:azure-cloud-shell
. Wenn Sie nicht möchten, dass Benutzer Speicherkonten in Cloud Shell erstellen, können Sie eine Azure-Ressourcenrichtlinie für Tags erstellen, die durch das jeweilige Tag ausgelöst werden.
Funktionsweise von Cloud Shell-Speicher
Cloud Shell nutzt die beiden folgenden Methoden zum Beibehalten von Dateien:
- Es wird ein Datenträgerimage Ihres Verzeichnisses
$HOME
erstellt, um alle Inhalte im Verzeichnis beizubehalten. Das Datenträgerimage wird in der von Ihnen angegebenen Dateifreigabe alsacc_<User>.img
unterfileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img
gespeichert, und die Änderungen werden automatisch synchronisiert. - Ihre angegebene Dateifreigabe wird zur direkten Interaktion mit der Freigabe als
clouddrive
in Ihr Verzeichnis$HOME
eingebunden./Home/<User>/clouddrive
wirdfileshare.storage.windows.net/fileshare
zugeordnet.
Hinweis
Alle Dateien in Ihrem Verzeichnis $HOME
, z.B. SSH-Schlüssel, werden dauerhaft in Ihrem Benutzerdatenträgerimage beibehalten, das in der eingebundenen Dateifreigabe gespeichert ist. Nutzen Sie beim dauerhaften Speichern von Informationen in Ihrem Verzeichnis $HOME
und auf der eingebundenen Dateifreigabe die bewährten Methoden.
clouddrive-Befehle
Verwenden des Befehls clouddrive
In Cloud Shell können Sie den Befehl clouddrive
ausführen, mit dem Sie die in Cloud Shell bereitgestellte Dateifreigabe manuell aktivieren können.
Auflisten von clouddrive
Führen Sie den df
-Befehl aus, um zu ermitteln, welche Dateifreigabe als clouddrive
bereitgestellt wird.
Der Dateipfad zu „clouddrive“ zeigt den Namen Ihres Speicherkontos und die Dateifreigabe in der URL. Zum Beispiel, //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
Einbinden eines neuen clouddrive-Verzeichnisses
Voraussetzungen für die manuelle Bereitstellung
Sie können die Dateifreigabe aktualisieren, die Cloud Shell zugeordnet ist, indem Sie den Befehl clouddrive mount
verwenden.
Wenn Sie eine vorhandene Dateifreigabe einbinden, müssen sich die Speicherkonten in der ausgewählten Cloud Shell-Region befinden. Sie rufen den Standort durch Ausführen von env
und Überprüfen der ACC_LOCATION
ab.
Befehl clouddrive mount
Hinweis
Wenn Sie eine neue Dateifreigabe einbinden, wird für Ihr $HOME
-Verzeichnis ein neues Benutzerimage erstellt. Ihre vorheriges $HOME
-Image wird in Ihrer vorherigen Dateifreigabe gespeichert.
Führen Sie den Befehl clouddrive mount
mit den folgenden Parametern aus:
clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName
Führen Sie clouddrive mount -h
wie hier gezeigt aus, um weitere Details anzuzeigen:
Aufheben der Einbindung von clouddrive
Sie können die Bereitstellung einer Dateifreigabe in Cloud Shell jederzeit aufheben. Da Cloud Shell eine eingebundene Dateifreigabe benötigt, um verwendet werden zu können, fordert Cloud Shell Sie auf, bei der nächsten Sitzung eine weitere Dateifreigabe zu erstellen und einzubinden.
- Führen Sie
clouddrive unmount
aus. - Lesen und bestätigen Sie die Eingabeaufforderungen.
Die nicht eingebundene Dateifreigabe bleibt so lange bestehen, bis Sie sie manuell löschen. Nach dem Aufheben der Bereitstellung sucht Cloud Shell in nachfolgenden Sitzungen nicht mehr nach dieser Dateifreigabe. Führen Sie clouddrive unmount -h
wie hier gezeigt aus, um weitere Details anzuzeigen:
Warnung
Durch Ausführung dieses Befehls werden keine Ressourcen gelöscht. Wenn Sie aber eine Ressourcengruppe, ein Speicherkonto oder eine Dateifreigabe mit Zuordnung zu Cloud Shell manuell löschen, werden dadurch sowohl Ihr Datenträgerimage im Verzeichnis $HOME
als auch alle Dateien in Ihrer Dateifreigabe gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.
PowerShell-spezifische Befehle
Auflisten von clouddrive
-Azure-Dateifreigaben
Das Cmdlet Get-CloudDrive
ruft Informationen zu den derzeit von clouddrive
in Cloud Shell eingebundenen Azure-Dateifreigaben ab.
Aufheben der Bereitstellung von clouddrive
Sie können die Einbindung einer Azure-Dateifreigabe in Cloud Shell jederzeit aufheben. Das Cmdlet Dismount-CloudDrive
hebt die Einbindung einer Azure-Dateifreigabe für das aktuelle Speicherkonto auf.
Durch das Aufheben der Einbindung von clouddrive
wird die aktuelle Sitzung beendet.
Wenn die Azure-Dateifreigabe entfernt wurde, werden Sie in der nächsten Sitzung aufgefordert, eine neue Azure-Dateifreigabe zu erstellen und einzubinden.
Übertragen Sie lokale Dateien auf Cloud Shell
Das Verzeichnis clouddrive
wird mit dem Blatt „Storage“ im Azure-Portal synchronisiert. Verwenden Sie dieses Blatt, um lokale Dateien in Ihre oder aus Ihrer Dateifreigabe zu übertragen. Die Aktualisierung von Dateien aus Cloud Shell wird auf der GUI für die Dateispeicherung widergespiegelt, wenn Sie das Blatt aktualisieren.
Herunterladen von Dateien aus dem Azure-Portal
- Navigieren Sie im Azure-Portal zur bereitgestellten Dateifreigabe.
- Wählen Sie die Zieldatei aus.
- Wählen Sie die Schaltfläche Herunterladen.
Herunterladen von Dateien in Azure Cloud Shell
Wählen Sie in einer Azure Cloud Shell-Sitzung das Symbol Dateien hochladen/herunterladen und dann die Option Herunterladen aus.
Geben Sie im Dialogfeld Datei herunterladen den Pfad zu der Datei ein, die Sie herunterladen möchten.
Sie können nur Dateien herunterladen, die sich unter Ihrem Ordner
$HOME
befinden.Wählen Sie die Schaltfläche Herunterladen aus.
Hochladen von Dateien
- Navigieren Sie zu Ihrer bereitgestellten Dateifreigabe.
- Klicken Sie auf die Schaltfläche Hochladen.
- Wählen Sie die Dateien aus, die Sie hochladen möchten.
- Bestätigen Sie den Upload.
Nun sollten Sie die Dateien angezeigt werden, auf die Sie in Ihrem Verzeichnis clouddrive
in Cloud Shell zugreifen können.
Hinweis
Wenn Sie eine Funktion in einer Datei definieren und diese über die PowerShell-Cmdlets aufrufen müssen, muss der Punktoperator enthalten sein. Beispiel: . .\MyFunctions.ps1
Hochladen von Dateien in Azure Cloud Shell
- Wählen Sie in einer Azure Cloud Shell-Sitzung das Symbol Dateien hochladen/herunterladen und dann die Option Hochladen aus.
- Im Browser wird ein Dateidialogfeld geöffnet. Wählen Sie die Datei aus, die Sie hochladen möchten, und wählen Sie dann die Schaltfläche Öffnen aus.
Die Datei wird in den Stamm Ihres Ordners $HOME
hochgeladen. Sie können die Datei nach dem Upload verschieben.