Fonctionnement de Cloud Shell

Cloud Shell provisionne une machine virtuelle Compute Engine exécutant un système d'exploitation Linux basé sur Debian pour votre utilisation temporaire. Cette machine virtuelle est détenue et gérée par Google Cloud. Par conséquent, elle n'apparaîtra dans aucun de vos projets Google Cloud.

Les instances Cloud Shell sont provisionnées par utilisateur et par session. L'instance persiste tant que votre session Cloud Shell est active. Après une heure d'inactivité, votre session se termine et sa VM est supprimée. Pour en savoir plus sur les quotas d'utilisation, consultez le guide des 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.

Pour mieux contrôler la persistance de votre stockage, vous pouvez utiliser Cloud Workstations.

Cloud Shell propose é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.

L'autorisation

Lorsque vous effectuez un appel d'API Google Cloud ou que vous utilisez un outil de ligne de commande nécessitant des identifiants (tels que la Google Cloud CLI) avec Cloud Shell pour la première fois, Cloud Shell vous invite à donner votre autorisation. 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 démarré, le projet actif dans la console Google Cloud est propagé vers votre configuration gcloud dans Cloud Shell pour une utilisation immédiate. GOOGLE_CLOUD_PROJECT, la variable d'environnement utilisée par les Identifiants par défaut de l'application de l'application pour définir l'ID de projet, est également définie pour pointer vers le projet actif dans la console Google Cloud. 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 gcloud CLI, 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
gcloud CLI et outils SDK App Engine
Google Cloud CLI, y compris la gcloud CLI
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
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 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 et 6.0
Environnements d'exécution principaux 2.1.30, 3.1.32, 5.0.17 et 6.0.16

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 dans vos fichiers .bashrc ou .tmux.conf, Cloud Shell se ferme immédiatement après la connexion. Le mode sans échec redémarre votre instance Cloud Shell et vous connecte en tant que racine, ce qui vous permet de résoudre les problèmes dans les fichiers.

Pour ouvrir Cloud Shell en mode sans échec, procédez comme suit:

  • Ajoutez cloudshellsafemode=true à l'URL.
  • Dans Cloud Shell, cliquez sur , puis sur Mode sans échec, puis sur Redémarrer.

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.