Funktionsweise von Cloud Shell

Beim Start von Cloud Shell wird eine virtuelle Maschine von Compute Engine bereitgestellt, auf der ein Debian-basiertes Linux-Betriebssystem ausgeführt wird. Cloud Shell-Instanzen werden pro Nutzer und Sitzung bereitgestellt. Die Instanz bleibt erhalten, während Ihre Cloud Shell-Sitzung aktiv ist. Nach einer Stunde Inaktivität wird die Sitzung beendet und die zugehörige VM verworfen. Weitere Informationen zu Nutzungskontingenten finden Sie in der Übersicht.

Mit der Standard-Cloud-Shell-Umgebung wird Ihnen eine sitzungsspezifische, vorkonfigurierte VM zugewiesen und die Umgebung, mit der Sie arbeiten, ist ein Docker-Container, der auf dieser VM ausgeführt wird. Sie können Ihre Umgebung auch beim VM-Start automatisch anpassen, um zu gewährleisten, dass Ihre Cloud Shell-Instanz Ihre bevorzugten Tools enthält.

Persistenter Festplattenspeicher

Cloud Shell bietet 5 GB kostenlosen nichtflüchtigen Speicher, der im Verzeichnis $HOME der VM-Instanz bereitgestellt wird. Dieser Speicherplatz wird pro Nutzer bereitgestellt und ist projektübergreifend verfügbar. Anders als bei der Instanz selbst kommt es nicht zur Zeitüberschreitung durch Inaktivität. Alle Dateien, die Sie in Ihrem Basisverzeichnis speichern, z. B. installierte Software, Skripte und Konfigurationsdateien, wie .bashrc und .vimrc, bleiben auch nach der Sitzung erhalten. Ihr $HOME-Verzeichnis ist privat und kann nicht von anderen Benutzern aufgerufen werden.

Cloud Shell bietet auch den flüchtigen Modus. Dieser ist die Cloud Shell-Umgebung ohne nichtflüchtigen Festplattenspeicher. Mit dem flüchtigen Modus beschleunigen Sie die Startzeiten, aber alle in Ihrer Sitzung erstellten Dateien gehen am Ende der Sitzung verloren.

Autorisierung

Wenn Sie zum ersten Mal einen Google Cloud API-Aufruf ausführen oder ein Befehlszeilentool verwenden, für das Anmeldedaten (z. B. die Google Cloud-Befehlszeile) erforderlich sind, werden Sie von Cloud Shell zum Dialog „'Cloud Shell' autorisieren“ aufgefordert. Klicken Sie auf Autorisieren, damit das Tool Ihre Anmeldedaten zum Aufrufen von Anrufen verwenden kann.

Weitere Informationen finden Sie unter Mit Cloud Shell autorisieren.

Vorkonfigurierte Umgebungsvariablen

Wenn Cloud Shell gestartet wird, wird das aktive Projekt in der Cloud Console sofort an Ihre gcloud-Konfiguration in Cloud Shell weitergegeben. GOOGLE_CLOUD_PROJECT ist die Umgebungsvariable, die von der Unterstützung der Application Default Credentials zur Definition der Projekt-ID verwendet wird. Sie ist außerdem so festgelegt, dass sie auf das aktive Projekt in der Cloud Console verweist. Die Umgebungsvariable WEB_HOST verweist auf den Hostnamen Ihrer Cloud Shell-VM, mit der Sie HTTPS-Anfragen an die Umgebung senden können.

Zonenauswahl

Cloud Shell ist global auf mehrere Google Cloud Platform-Regionen verteilt. Beim ersten Verbindungsaufbau zu Cloud Shell wird Ihnen automatisch die nächstgelegene verfügbare Region zugewiesen. Sie können Ihre eigene Region nicht auswählen. Wenn Cloud Shell nicht die nächstgelegene Region auswählt, versucht Cloud Shell, Ihre Cloud Shell-VM in eine Region zu migrieren, wenn Ihre Cloud Shell-VM nicht in Verwendung ist.

Führen Sie den folgenden Befehl in einer Cloud Shell-Sitzung aus, um Ihre aktuelle Region anzeigen zu lassen:

curl metadata/computeMetadata/v1/instance/zone

Image-Einführung

Das Container-Image von Cloud Shell wird wöchentlich aktualisiert, um vorgefertigte Tools auf dem neuesten Stand zu halten. Cloud Shell enthält also immer die aktuellen Versionen der gcloud-Befehlszeile, Docker und anderer Dienstprogramme.

Root-Nutzer

Wenn Sie eine Cloud Shell-Sitzung einrichten, erhalten Sie ein reguläres Unix-Nutzerkonto mit einem Nutzernamen, der auf Ihrer E-Mail-Adresse basiert. Mit diesem Zugriff haben Sie vollständige Root-Berechtigungen für die zugewiesene VM und können bei Bedarf sogar sudo-Befehle ausführen.

Verfügbare Tools

Die folgenden Tools sind in der VM-Instanz von Cloud Shell vorinstalliert:

Typ Tool
Linux Shell-Interpreter Bash
sh
Linux-Dienstprogramme Debian-basierte Standard-Systemdienstprogramme
gcloud-Befehlszeile und Tools App Engine SDK
Google Cloud-Befehlszeile, einschließlich gcloud-Befehlszeile
gsutil für Cloud Storage
Texteditoren Emacs
Vim
Nano
Build-Tools und Tools für Pakete Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
Composer
Tools zur Versionsverwaltung Git
Quecksilber
Weitere Tools Docker
iPython
MySQL-Client
BeyondCorp Compiler
TensorFlow
Terraform

Sie können zusätzliche Softwarepakete auf der Instanz der virtuellen Maschine installieren, die Installation wird jedoch nach dem Beenden der Instanz nicht fortgesetzt, es sei denn, Sie installieren die Software in Ihrem $HOME-Verzeichnis oder erstellen eine benutzerdefinierte Umgebung.

Sprachunterstützung

Auf der VM-Instanz von Cloud Shell ist die Unterstützung der folgenden Sprachen vorinstalliert:

Sprache Version
Java JRE/JDK 1.8 und 11
Go 1.13
Python 2.7.13
Node.js v10.14.2
Ruby 2.6.0
PHP 7.0.33
.NET Core SDKs 2.0.0 und 2.1.502
Core-Laufzeitumgebungen 2.0.0 und 2.1.6

Die Standardversion der Java-Umgebung ist Version 11. Wenn Sie die aktuelle Cloud Shell-Sitzung auf JRE und JDK der Version 1.8 umstellen möchten, geben Sie an der Cloud Shell-Eingabeaufforderung den folgenden Befehl ein:

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

So wechseln Sie zurück zu Version 11:

sudo update-java-alternatives -s java-1.11.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/jre

Abgesicherter Modus

Wenn in Ihren .bashrc- oder .tmux.conf-Dateien ein Problem auftritt, wird Cloud Shell nach der Verbindung sofort geschlossen. Um dieses Problem zu beheben, öffnen Sie Cloud Shell im abgesicherten Modus, indem Sie cloudshellsafemode=true an die URL anhängen. Dadurch wird Ihre Cloud Shell-Instanz neu gestartet und Sie werden als Standardnutzer angemeldet, sodass Sie Probleme in den Dateien beheben können.

Wenn Sie alle Dateien in Ihrem Basisverzeichnis dauerhaft löschen und Ihr Cloud Shell-Home-Verzeichnis in einem sauberen Zustand wiederherstellen möchten, können Sie Ihre Cloud Shell-VM zurücksetzen