Cómo funciona Cloud Shell

Cloud Shell aprovisiona una máquina virtual de Compute Engine que ejecuta un sistema operativo Linux basado en Debian para tu uso temporal. Esta es una máquina virtual que es propiedad de Google Cloud, por lo que no aparecerá en ninguno de tus proyectos de GCP.

Las instancias de Cloud Shell se aprovisionan por usuario y por sesión. La instancia persiste mientras la sesión de Cloud Shell está activa; después de una hora de inactividad, la sesión finaliza y se descarta la VM. Para obtener más información sobre las cuotas de uso, consulta la guía de limitaciones.

Con la experiencia predeterminada de Cloud Shell, se te asignará una VM efímera y ya configurada y el entorno con el que trabajas es un contenedor de Docker que se ejecuta en esa VM. También puedes personalizar tu entorno de forma automática cuando se inicia la VM a fin de asegurarte de que la instancia de Cloud Shell incluya tus herramientas preferidas.

Almacenamiento en discos persistentes

Cloud Shell proporciona 5 GB de almacenamiento en disco persistente gratuito activado como su directorio $HOME en la instancia de máquina virtual. Este almacenamiento es por usuario y está disponible en todos los proyectos. A diferencia de la instancia en sí, con este almacenamiento no se agota el tiempo de espera en inactividad. Todos los archivos que almacena en su directorio principal, incluidos el software instalado, las secuencias de comandos y los archivos de configuración de usuario como .bashrc y .vimrc, persisten entre sesiones. El directorio $HOME es privado, por lo que otros usuarios no pueden acceder a él.

Cloud Shell también ofrece el modo efímero, que es la experiencia de Cloud Shell sin almacenamiento en disco persistente. Con el modo efímero, tendrás tiempos de inicio más rápidos, pero todos los archivos que crees en tu sesión se perderán al final de la sesión.

Autorización

Cuando realizas una llamada a la API de Google Cloud o usas una herramienta de línea de comandos que requiere credenciales (como Google Cloud CLI) con Cloud Shell por primera vez, se te solicita autorización. Haz clic en Autorizar a fin de permitir que la herramienta use tus credenciales para realizar llamadas.

Consulta Autoriza con Cloud Shell para obtener más detalles.

Variables de entorno preconfiguradas

Cuando se inicia Cloud Shell, el proyecto activo en Google Cloud Console se propaga a la configuración de gcloud dentro de Cloud Shell para su uso inmediato. GOOGLE_CLOUD_PROJECT, la variable de entorno que usa la biblioteca de credenciales predeterminadas de la aplicación para definir el ID del proyecto, también se configura con el fin de apuntar al proyecto activo en Google Cloud Console. La variable de entorno WEB_HOST apunta al nombre de host de tu VM de Cloud Shell, que puedes usar para realizar solicitudes HTTPS al entorno.

Selección de la zona

Cloud Shell se distribuye globalmente en varias regiones de Google Cloud. Cuando te conectas por primera vez a Cloud Shell, se te asigna automáticamente la región disponible más cercana. No puedes elegir tu propia región y, si Cloud Shell no elige la región más cercana, Cloud Shell intenta migrar tu VM de Cloud Shell a una región más cercana cuando no esté en uso.

Para ver la región actual, ejecuta el siguiente comando desde una sesión de Cloud Shell:

curl metadata/computeMetadata/v1/instance/zone

Lanzamiento de imagen

La imagen de contenedor de Cloud Shell se actualiza semanalmente para mantener actualizadas las herramientas ya preparadas. Esto significa que Cloud Shell siempre viene con las versiones más recientes de gcloud CLI, Docker y otras utilidades.

Usuario raíz

Cuando configuras una sesión de Cloud Shell, obtienes una cuenta de usuario Unix normal con un nombre de usuario basado en tu dirección de correo electrónico. Con este acceso, tienes privilegios raíz completos en la VM asignada y hasta puedes ejecutar comandos sudo, si es necesario.

Herramientas disponibles

La instancia de máquina virtual de Cloud Shell tiene preinstaladas las siguientes herramientas:

Tipo Herramienta
Intérpretes de shell de Linux Bash
sh
Herramientas de Linux Utilidades estándar del sistema Debian
CLI y herramientas de gcloud SDK de App Engine
CLI de Google Cloud, incluida la CLI de gcloud
gsutil para Cloud Storage
Editores de texto Emacs
Vim
Nano
Herramientas de empaquetado y compilación Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
Composer
Herramientas de control de código fuente Git
Mercurial
Herramientas adicionales Docker
iPython
Cliente de MySQL
Compilador de gRPC
TensorFlow
Terraform

Puede instalar paquetes de software adicionales en la instancia de máquina virtual, pero la instalación no continuará después de que la instancia finalice a menos que instale el software en su directorio $HOME o cree un entorno personalizado.

Idiomas admitidos

La instancia de máquina virtual de Cloud Shell proporciona compatibilidad de idiomas preinstalada para los siguientes lenguajes:

Idioma Versión
Java JRE/JDK 17.0.6 (OpenJDK)
Go 1.20.4
Python 3.9.2
Node.js Versión 18.12.1
Ruby 2.7.8
PHP 7.4.33
.NET Core SDK 2.1, 3.1, 5.0 y 6.0
Entornos de ejecución principales 2.1.30, 3.1.32, 5.0.17 y 6.0.16

La versión predeterminada del entorno de Java es 11 Para cambiar la sesión de Cloud Shell actual, a fin de usar la versión 1.8 de JRE y JDK, ingresa el siguiente comando en el símbolo de sistema de Cloud Shell:

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

Para volver a la versión 11, ingresa el siguiente comando:

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

Modo seguro

Si hay un problema en tus archivos .bashrc o .tmux.conf, Cloud Shell se cierra inmediatamente después de la conexión. El modo seguro reinicia tu instancia de Cloud Shell y te permite acceder con permisos de administrador, lo que te permite solucionar cualquier problema en los archivos.

Para abrir Cloud Shell en modo seguro, haz lo siguiente:

  • Agrega cloudshellsafemode=true a la URL.
  • En Cloud Shell, haz clic en , en Modo seguro y, luego, en Reiniciar.

Para borrar permanentemente todos los archivos de tu directorio principal y restablecer tu directorio principal de Cloud Shell a un estado limpio, puedes restablecer tu VM de Cloud Shell.