Come funziona Cloud Shell

Per l'uso temporaneo, Cloud Shell esegue il provisioning di una macchina virtuale Compute Engine che esegue un sistema operativo Linux basato su Debian. Questa macchina virtuale è di proprietà di e gestita da Google Cloud, quindi non verrà visualizzata in nessuno dei tuoi progetti Google Cloud.

Il provisioning delle istanze di Cloud Shell viene eseguito in base agli utenti e alle sessioni. L'istanza persiste mentre la sessione di Cloud Shell è attiva; dopo un'ora di inattività, la sessione termina e la relativa VM viene disconnessa. Per ulteriori informazioni sulle quote di utilizzo, consulta la guida alle limitazioni.

Con l'esperienza Cloud Shell predefinita, ti viene allocata una VM temporanea e preconfigurata e l'ambiente con cui lavori è un container Docker in esecuzione su quella VM. Puoi anche personalizzare il tuo ambiente automaticamente all'avvio della VM per assicurarti che l'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 gratuito montato come directory $HOME nell'istanza della macchina virtuale. Questo spazio di archiviazione è disponibile per singoli utenti ed è disponibile in più progetti. A differenza dell'istanza stessa, questo spazio di archiviazione non scade in caso di inattività. Tutti i file archiviati nella directory home, inclusi il software installato, gli script e i file di configurazione utente, come .bashrc e .vimrc, vengono conservati tra una sessione e l'altra. La tua directory $HOME è privata e non è accessibile ad altri utenti.

Quando utilizzi Cloud Shell, non puoi espandere lo spazio di archiviazione su disco permanente. Per un maggiore controllo della persistenza dello spazio di archiviazione e per ulteriore spazio di archiviazione, puoi utilizzare Cloud Workstations.

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 sono 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 credenziali (come Google Cloud CLI) con Cloud Shell per la prima volta, Cloud Shell ti chiede di autorizzare. 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

All'avvio di Cloud Shell, il progetto attivo nella console Google Cloud viene propagato alla configurazione gcloud all'interno di Cloud Shell per l'uso immediato. Anche la variabile di ambiente GOOGLE_CLOUD_PROJECT utilizzata dall'assistenza per la libreria delle Credenziali predefinite dell'applicazione dell'applicazione per definire l'ID progetto è impostata in modo da puntare al progetto attivo nella console Google Cloud. La variabile di ambiente WEB_HOST punta al host della VM Cloud Shell che puoi utilizzare per effettuare richieste HTTPS all'ambiente.

Selezione della zona

Cloud Shell è distribuito a livello globale in diverse regioni Google Cloud. Quando ti connetti per la prima volta a Cloud Shell, ti viene assegnata automaticamente la regione disponibile più vicina. Non puoi scegliere la tua regione e, se Cloud Shell non sceglie quella più vicina, Cloud Shell tenta di eseguire la migrazione della tua 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 dell'immagine

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, ti viene assegnato un normale account utente Unix con un nome utente basato sul tuo indirizzo email. Con questo accesso, disponi di privilegi root completi sulla VM allocata e puoi anche eseguire comandi sudo, se necessario.

Strumenti disponibili

L'istanza di macchina virtuale Cloud Shell dispone dei seguenti strumenti preinstallati:

Tipo Strumento
Interpreti della shell di Linux bash
sh
Utilità Linux Utilità di sistema Debian standard
Interfaccia a riga di comando e strumenti gcloud SDK App Engine
Google Cloud CLI che include gcloud CLI
gsutil per Cloud Storage
Editor di testo Emacs
Vim
Nano
Crea e pacchettizza strumenti Gradle
Helm
Crea
Maven
Bazel
npm
nvm
pip
Composer
Strumenti di controllo del codice sorgente Git
Mercuriale
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à mantenuta al termine dell'istanza a meno che non installi il software nella directory $HOME o non crei un ambiente personalizzato.

Supporto dei linguaggi

L'istanza di macchina virtuale Cloud Shell fornisce supporto per i linguaggi preinstallati per quanto segue:

Lingua Versione
Java JRE/JDK 17.0.6 (OpenJDK)
Go 1.20.4
Python 3.9.2
Node.js v18.12.1
Ruby 2.7.8
PHP 7.4.33
.NET Core SDK 2.1, 3.1, 5.0 e 6.0
Runtime principali 2.1.30, 3.1.32, 5.0.17 e 6.0.16

La versione predefinita dell'ambiente Java è la 11. Per modificare la sessione attuale di Cloud Shell 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 all'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 subito dopo la connessione. La modalità provvisoria riavvia l'istanza di Cloud Shell e ti registra come utente root, in modo da risolvere eventuali problemi nei file.

Per aprire Cloud Shell in modalità provvisoria:

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

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