Fonctionnement de Cloud Shell

Lorsque vous démarrez Cloud Shell, il provisionne une machine virtuelle e2-small Google Compute Engine exécutant un système d'exploitation Linux basé sur Debian. Les instances Cloud Shell sont configurées par utilisateur et par session. L'instance persiste pendant que votre session Cloud Shell est active; après une heure d'inactivité, votre session se termine et sa VM est supprimée. Pour plus d'informations sur les quotas d'utilisation, reportez-vous au guide limitations.

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.

Autorisation

Dans Cloud Shell, vous êtes automatiquement authentifié en tant que compte Google avec lequel vous êtes connecté au navigateur ; cela signifie que vous aurez un accès complet aux ressources Google Cloud auxquelles votre compte a normalement accès. Cela revient à exécuter gcloud auth login et à spécifier votre compte Google.

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é à l'échelle mondiale dans plusieurs régions de Google Cloud Platform. 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, mais si Cloud Shell ne sélectionne pas la région la plus proche, il migrera vers une région plus proche à la fin de la session.

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 Google App Engine
SDK Google Cloud y compris l'outil de ligne de commande 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
iPython
MySQL client
gRPC compiler
TensorFlow

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 les langages suivants :

Langage Version
Java JRE/JDK 1.8 et 1.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

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

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

Pour revenir à la version 1.8.0, procédez comme suit :

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

Vous pouvez ignorer les messages d'erreur indiquant qu'il est impossible de modifier les versions de certains fichiers binaires. Le changement de version persistera jusqu'à ce que l'instance de machine virtuelle Cloud Shell soit arrêtée. Si vous souhaitez passer définitivement à Java 1.11, ajoutez la première commande ci-dessus à votre fichier .bashrc.

Mode Boost

Le mode Boost augmente temporairement la puissance de votre machine virtuelle Cloud Shell - de l'offre de type de petite machine e2 par défaut à une instance de machine virtuelle e2. Cette fonctionnalité peut être utile si vous souhaitez continuer à travailler sur Cloud Shell et que vous avez besoin de davantage de ressources processeur ou mémoire pendant un laps de temps relativement court.

Pour activer le mode Boost, recherchez l'option "Activer le mode Boost" dans le menu "Plus" (l'icône à trois points en haut à droite de Cloud Shell). Son activation booste toutes les sessions pendant 24 heures. L'activation du mode Boost redémarre Cloud Shell et met immédiatement fin à votre session. Une nouvelle VM est alors provisionnée, ce qui peut prendre quelques minutes. Notez que, dans ce cas, les données de votre répertoire d'accueil sont conservées, mais que tous les processus en cours d'exécution sont perdus.

L'utilisation de Cloud Shell en mode Boost est soumise à des limites d'utilisation régulière. Cette fonctionnalité est à l'état expérimental, et d'autres restrictions peuvent s'appliquer à l'avenir.

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. Cela redémarrera votre Cloud Shell et vous connectera en tant qu'utilisateur racine, vous permettant de résoudre tout problème dans les fichiers.

Si vous préférez supprimer définitivement tous les fichiers de votre répertoire d'accueil et restaurer votre répertoire personnel Cloud Shell dans un état propre, vous pouvez réinitialiser complètement votre machine virtuelle Cloud Shell.