Come funziona Cloud Shell

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Cloud Shell esegue il provisioning di una macchina virtuale di Compute Engine che esegue un sistema operativo Linux basato su Debian per il tuo utilizzo temporaneo. Questa macchina virtuale è di proprietà e gestita da Google Cloud, pertanto non verrà visualizzata in nessuno dei tuoi progetti GCP.

Il provisioning delle istanze di Cloud Shell viene eseguito sulla base di una singola sessione per utente. L'istanza persiste mentre la sessione di Cloud Shell è attiva; dopo un'ora di inattività, la sessione termina e la relativa VM viene ignorata. Per scoprire di più sulle quote di utilizzo, consulta la guida alle limitazioni.

Con l'esperienza predefinita di Cloud Shell, ti viene assegnata una VM preconfigurata e l'ambiente con cui lavori è un container Docker in esecuzione su tale VM. Puoi anche personalizzare automaticamente l'ambiente all'avvio della VM per assicurarti che la tua istanza di Cloud Shell includa i tuoi strumenti preferiti.

Archiviazione su disco permanente

Cloud Shell esegue il provisioning di 5 GB di spazio di archiviazione su disco permanente gratuita montata come directory $HOME sull'istanza della macchina virtuale. Questo spazio di archiviazione è su base per utente ed è disponibile per più progetti. A differenza dell'istanza stessa, questo spazio di archiviazione non scade per inattività. Tutti i file archiviati nella directory home, inclusi software installati, script e file di configurazione utente come .bashrc e .vimrc, vengono conservati tra le sessioni. La directory $HOME è riservata esclusivamente a te e non è accessibile ad altri utenti.

Cloud Shell offre anche la modalità temporanea, che è l'esperienza di Cloud Shell senza archiviazione su disco permanente. Con la modalità temporanea i tempi di avvio saranno più rapidi, ma tutti i file creati nella sessione andranno persi alla fine della sessione.

Autorizzazione

Quando effettui una chiamata API Google Cloud o utilizzi uno strumento a riga di comando che richiede le credenziali (come Google Cloud CLI) con Cloud Shell per la prima volta, Cloud Shell ti chiede di concedere l'autorizzazione. Fai clic su Autorizza per consentire allo strumento di utilizzare le tue credenziali per effettuare chiamate.

Per ulteriori dettagli, consulta Autorizzazione con Cloud Shell.

Variabili di ambiente preconfigurate

Quando Cloud Shell viene avviato, il progetto attivo nella console Google Cloud viene propagato alla configurazione gcloud all'interno di Cloud Shell per un utilizzo immediato. GOOGLE_CLOUD_PROJECT, la variabile di ambiente utilizzata dal supporto della libreria Credenziali predefinite dell'applicazione per definire l'ID progetto è impostata anche per puntare al progetto attivo nella console Google Cloud. La variabile di ambiente WEB_HOST rimanda al nome host della VM Cloud Shell, che puoi utilizzare per effettuare richieste HTTPS all'ambiente.

Selezione zona

Cloud Shell è distribuito a livello globale in più aree geografiche Google Cloud. Quando ti connetti per la prima volta a Cloud Shell, ti viene assegnato automaticamente l'area geografica più vicina disponibile. Non puoi scegliere la tua regione e, se Cloud Shell non sceglie la regione più vicina, Cloud Shell cerca di eseguire la migrazione della VM Cloud Shell a una regione più vicina quando la VM Cloud Shell non è in uso.

Per visualizzare la regione attuale, esegui questo comando da una sessione di Cloud Shell:

curl metadata/computeMetadata/v1/instance/zone

Implementazione delle immagini

L'immagine container di Cloud Shell viene aggiornata settimanalmente per mantenere aggiornati gli strumenti predefiniti. Ciò significa che Cloud Shell include sempre le versioni più recenti di gcloud CLI, Docker e altre utilità.

Utente root

Quando configuri una sessione di Cloud Shell, ottieni un normale account utente Unix con un nome utente in base al tuo indirizzo email. Grazie a questo accesso, disponi dei privilegi root completi per la VM allocata e puoi anche eseguire comandi sudo, se necessario.

Strumenti disponibili

L'istanza di macchina virtuale Cloud Shell include i seguenti strumenti preinstallati:

Tipo Strumento
Interpreti shell Linux bash
sh
Utilità Linux Utilità di sistema standard di Debian
Interfaccia a riga di comando gcloud e strumenti SDK App Engine
Google Cloud CLI che include gcloud CLI
gsutil per Cloud Storage
Editor di testo Emacs
Vim
Nano
Strumenti per la creazione e la pacchettizzazione Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
Scrivi
Strumenti di controllo del codice sorgente Git
Mercurio
Strumenti aggiuntivi Docker
iPython
Client MySQL
Compilatore gRPC
TensorFlow
Terraform

Puoi installare pacchetti software aggiuntivi sull'istanza della macchina virtuale, ma l'installazione non verrà eseguita dopo la fine dell'istanza a meno che non installi il software nella directory $HOME o crei un ambiente personalizzato.

Supporto dei linguaggi

L'istanza di macchina virtuale Cloud Shell fornisce il supporto preinstallato per la lingua per:

Lingua Versione
Java JRE/JDK 1.8 e 11
Go 1,13
Python 2,7,13
Node.js versione 10.14.2
Ruby 2,6
PHP 7,0,33
.NET Core SDK 2.0.0 e 2.1.502
Runtime principali 2.0.0 e 2.1.6

La versione predefinita dell'ambiente Java è 11. Per modificare la sessione Cloud Shell corrente in modo che utilizzi la versione 1.8 di JRE e JDK, inserisci quanto segue al prompt dei comandi di Cloud Shell:

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

Per tornare a 11:

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

Modalità provvisoria

Se si verifica un problema nei file .bashrc o .tmux.conf, Cloud Shell si chiude immediatamente dopo la connessione. La modalità provvisoria riavvia l'istanza di Cloud Shell e ti accede come root, permettendoti di risolvere eventuali problemi nei file.

Per aprire Cloud Shell in modalità provvisoria:

  • Aggiungi cloudshellsafemode=true all'URL.
  • In Cloud Shell, fai clic su , quindi su Modalità provvisoria e poi su Riavvia.

Per eliminare definitivamente tutti i file nella directory home e ripristinare lo stato pulito della home directory di Cloud Shell, puoi reimpostare la VM Cloud Shell.