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 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 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 offre également le mode éphémère, qui est l'expérience Cloud Shell sans stockage sur disque persistant. Le mode éphémère vous permet de démarrer plus rapidement, 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 qui nécessite des identifiants (comme la CLI Google Cloud) avec Cloud Shell pour la première fois, Cloud Shell vous invite à utiliser la boîte de dialogue "Autoriser Cloud Shell". Cliquez sur Authorize (Autoriser) afin d'autoriser l'outil à utiliser vos identifiants pour effectuer des appels.

Pour plus d'informations, reportez-vous à la page Autoriser avec Cloud Shell.

Variables d'environnement préconfigurées

Lorsque Cloud Shell est lancé, le projet actif dans Cloud Console est propagé à l'intérieur de votre configuration gcloud dans Cloud Shell pour une utilisation immédiate. GOOGLE_CLOUD_PROJECT, la variable d'environnement utilisée par la bibliothèque d'identifiants par défaut de l'application pour définir l'ID de projet est également définie pour pointer vers le projet actif dans Cloud Console. La variable d'environnement WEB_HOST pointe vers le nom d'hôte de votre VM Cloud Shell que vous pouvez utiliser pour envoyer des requêtes HTTPS à l'environnement.

Sélectionner la zone

Cloud Shell est distribué à l'échelle mondiale dans plusieurs régions de Google Cloud. Lors de votre première connexion à Cloud Shell, la région la plus proche disponible vous est automatiquement attribuée. Vous ne pouvez pas choisir votre propre région. Si Cloud Shell ne choisit pas la région la plus proche, il tente de migrer votre VM Cloud Shell vers une région plus proche lorsque votre VM Cloud Shell n'est pas en cours d'utilisation.

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 maintenir à jour les outils préinstallés. Cela signifie que Cloud Shell est toujours fourni avec les dernières versions de la CLI gcloud, de Docker et d'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
CLI gcloud et outils SDK App Engine
CLI Google Cloud avec la CLI 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
Mercure
Outils complémentaires Docker
iPython
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 les langages 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

L'environnement Java par défaut est la version 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 version 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é

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

Pour 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 votre VM Cloud Shell.