Fonctionnement de Cloud Shell

Lorsque vous démarrez Cloud Shell, il provisionne une machine virtuelle Compute Engine exécutant un système d'exploitation Linux basé sur Debian. Les instances Cloud Shell sont provisionnées par utilisateur et par session. L'instance persiste lorsque votre session Cloud Shell est active. Après une heure d'inactivité, votre session prend fin et sa VM est supprimée. Pour plus d'informations sur les quotas d'utilisation, reportez-vous au guide sur les limites.

Avec l'expérience Cloud Shell par défaut, une machine virtuelle éphémère pré-configurée vous est attribuée et l'environnement avec lequel vous travaillez est un conteneur Docker exécuté sur cette machine virtuelle. Vous pouvez également personnaliser votre environnement automatiquement au démarrage de la machine virtuelle pour vous assurer que votre instance Cloud Shell inclut vos outils préférés.

Stockage sur disque persistant

Cloud Shell fournit gratuitement 5 Go de stockage sur disque persistant monté en tant que répertoire $HOME sur l'instance de machine virtuelle. Cet espace stockage est fourni pour chaque utilisateur et est disponible pour tous les projets. Contrairement à l'instance elle-même, le stockage n'a pas de délai d'inactivité. Tous les fichiers que vous stockez dans votre répertoire d'accueil, y compris les logiciels installés, les scripts et les fichiers de configuration utilisateur tels que .bashrc et .vimrc, persistent entre les sessions. Votre répertoire $HOME est personnel et n'est pas accessible aux autres utilisateurs.

Cloud Shell propose également le mode Éphémère, qui correspond à l'expérience Cloud Shell sans stockage sur disque persistant. Le mode Éphémère permet un démarrage plus rapide, mais tous les fichiers que vous créez dans votre session sont perdus à la fin de la session.

Autorisation

Lorsque vous effectuez un appel d'API Google Cloud ou utilisez un outil de ligne de commande nécessitant des identifiants (comme l'outil de ligne de commande gcloud) avec Cloud Shell pour la première fois, Cloud Shell vous présente la boîte de dialogue "Autoriser Cloud Shell". Cliquez sur Autoriser pour autoriser l'outil à utiliser vos identifiants pour effectuer des appels.

Pour en savoir plus, consultez la page Autoriser avec Cloud Shell.

Variables d'environnement préconfigurées

Lorsque Cloud Shell est démarré, le projet actif dans la console est propagé à votre configuration gcloud dans Cloud Shell pour une utilisation immédiate. La variable d'environnement GOOGLE_CLOUD_PROJECT, utilisée par le service d'identifiants par défaut de l'application pour définir l'ID de projet, est également définie afin de pointer vers le projet actif dans la console.

Sélectionner la zone

Cloud Shell est distribué dans le monde entier sur plusieurs régions Google Cloud. Lors de votre première connexion à Cloud Shell, la zone géographique disponible la plus proche vous sera automatiquement attribuée. Vous ne pouvez pas choisir votre propre région. En outre, si Cloud Shell ne choisit pas la région optimale, il tentera de migrer votre VM Cloud Shell vers une région plus proche lorsqu'elle n'est pas utilisée.

Pour afficher votre région actuelle, exécutez la commande suivante à partir d'une session Cloud Shell :

curl metadata/computeMetadata/v1/instance/zone

Déployer une image

L'image du conteneur Cloud Shell est mise à jour chaque semaine pour garantir la mise à jour des outils préemballés. Cela signifie que Cloud Shell est toujours fourni avec les dernières versions de Cloud SDK, Docker et tous ses autres utilitaires.

Utilisateur racine

Lorsque vous configurez une session Cloud Shell, vous obtenez un compte utilisateur Unix standard avec un nom d'utilisateur basé sur votre adresse e-mail. Avec cet accès, vous disposez de tous les privilèges racine sur votre machine virtuelle allouée et pouvez même exécuter des commandes sudo, si vous en avez besoin.

Outils disponibles

L'instance de machine virtuelle Cloud Shell comprend les outils pré-installés suivants :

Type Outil
Interpréteurs shell Linux bash
sh
Utilitaires Linux Utilitaires système Debian standards
SDK et outils Google SDK App Engine
SDK Cloud, y compris l'outil gcloud
gsutil pour Cloud Storage
Éditeurs de texte Emacs
Vim
Nano
Outils de compilation et d'empaquetage Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
Composer
Outils de gestion des versions Git
Mercurial
Outils complémentaires Docker
Python
Client MySQL
Compilateur gRPC
TensorFlow
Terraform

Vous pouvez installer des packages logiciels supplémentaires sur l'instance de machine virtuelle, mais l'installation ne persistera pas une fois l'instance terminée, sauf si vous installez le logiciel dans votre répertoire $HOME ou créez un environnement personnalisé.

Langues acceptées

L'instance de machine virtuelle Cloud Shell est compatible avec le langage préinstallé pour les éléments suivants:

Langage Version
Java JRE/JDK 1.8 et 11
Go 1.13
Python 2.7.13
Node.js v10.14.2
Ruby 2.6.0
PHP 7.0.33
.NET Core SDK 2.0.0 et 2.1.502
Environnements d'exécution Core 2.0.0 et 2.1.6

La version par défaut de l'environnement Java est 11. Pour modifier la session Cloud Shell actuelle afin qu'elle utilise la version 1.8 de JRE et JDK, saisissez les informations suivantes dans l'invite de commande Cloud Shell :

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

Pour revenir à la valeur 11, procédez comme suit:

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

Mode sécurisé

Cloud Shell se fermera immédiatement après la connexion en cas de problème dans vos fichiers .bashrc ou .tmux.conf. Pour résoudre ce problème, ouvrez Cloud Shell en mode sans échec en ajoutant cloudshellsafemode=true à l'URL. Cette opération redémarre Cloud Shell et vous connecte en tant qu'utilisateur racine, ce qui vous permet de résoudre les éventuels problèmes dans les fichiers.

Si vous préférez supprimer définitivement tous les fichiers du répertoire d'accueil et restaurer le répertoire d'accueil de Cloud Shell dans un état propre, vous pouvez réinitialiser votre VM Cloud Shell.