Cómo funciona Cloud Shell

Cuando inicia Cloud Shell, este aprovisiona una máquina virtual e2-small de Google Compute Engine que ejecuta un sistema operativo Linux basado en Debian. Las instancias de Cloud Shell se aprovisionan por usuario y por sesión. La instancia persiste mientras su sesión de Cloud Shell está activa. Después de una hora de inactividad, su sesión finaliza y su VM se descarta. Para obtener más información sobre las cuotas de uso, consulte 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 disco persistente

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. Su directorio $HOME es privado, por lo que otros usuarios no pueden acceder a él.

Autorización

En Cloud Shell, se te autentica de forma automática como la Cuenta de Google con la que accediste al navegador. Esto significa que tendrás acceso completo a los recursos de Google Cloud a los que tu cuenta tiene acceso normalmente. Esto equivale a ejecutar gcloud auth login y especificar tu Cuenta de Google.

Variables de entorno preconfiguradas

Cuando se inicia Cloud Shell, el proyecto activo en la consola se propaga a su configuración de gcloud dentro de Cloud Shell para su uso inmediato. GOOGLE_CLOUD_PROJECT, la variable de entorno usada por la asistencia de la biblioteca de credenciales predeterminadas de la aplicación a fin de definir el ID del proyecto, también se configura para apuntar a los proyectos activos en Console.

Selección de zona

Cloud Shell se distribuye de forma global en varias regiones de Google Cloud Platform. Cuando te conectes por primera vez a Cloud Shell, se te asignará de forma automática a la región geográfica más cercana que esté disponible. No puedes elegir tu propia región y, en el caso de que Cloud Shell no seleccione la región más óptima, intentará migrar tu VM de Cloud Shell a una región más cercana cuando no esté en uso.

Para ver tu 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 del contenedor de Cloud Shell se actualiza semanalmente para garantizar que las herramientas ya preparadas se mantengan actualizadas. Esto significa que Cloud Shell siempre viene con las últimas versiones del SDK de Cloud, Docker y todas sus otras herramientas.

Usuario raíz

Cuando configuras una sesión de Cloud Shell, obtienes una cuenta de usuario de 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 tu VM asignada y, incluso, 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
SDK y herramientas de Google SDK de Google App Engine
SDK de Google Cloud, incluida la herramienta de línea de comandos 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 MySQL
compilador de gRPC
TensorFlow

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 preinstalada con los siguientes lenguajes:

Idioma Versión
Java JRE/JDK 1.8 y 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 y 2.1.502
Entornos de ejecución de Core 2.0.0 y 2.1.6

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

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

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

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

Puedes ignorar cualquier mensaje de error sobre no poder cambiar las versiones de algunos objetos binarios. El cambio de versión persistirá hasta que se finalice la instancia de máquina virtual de Cloud Shell. Si desea cambiar permanentemente a Java 1.11, agregue el primer comando incluido más arriba a su archivo .bashrc.

Modo mejorado

El modo mejorado aumenta temporalmente la potencia de su VM de Cloud Shell, desde la opción predeterminada de tipo de máquina e2-small hasta una instancia de VM e2-medium. Este modo es útil si desea seguir trabajando en Cloud Shell y necesita más recursos de CPU o memoria por un período relativamente breve.

Para activar el modo mejorado, busca la opción “Habilitar modo mejorado” en la opción “Más” del menú (es el ícono de tres puntos en la parte superior derecha de Cloud Shell). Cuando se active, todas las sesiones se mejorarán durante las próximas 24 horas. Si habilitas el modo mejorado, Cloud Shell se reiniciará y finalizará inmediatamente tu sesión. Después, te aprovisionaremos una nueva VM, aunque esto puede tardar algunos minutos. Los datos de su directorio principal se conservarán, pero todos los procesos en ejecución se perderán.

El modo mejorado se encuentra sujeto a límites de uso comunes. En la actualidad, esta característica es experimental y es posible que se implementen límites adicionales en el futuro.

Modo seguro

Cloud Shell se cerrará inmediatamente después de la conexión si hay un problema en tus archivos .bashrc o .tmux.conf. Para resolver esto, abre Cloud Shell en modo seguro agregando cloudshellsafemode=true a la URL. Esto reiniciará Cloud Shell y accederás a ella con permisos de administrador, lo que te permitirá corregir cualquier problema en los archivos.

Si prefiere eliminar permanentemente todos los archivos en su directorio principal y restablecer su directorio principal de Cloud Shell a un estado inicial, puede restablecer completamente su VM de Cloud Shell.