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 le asigna una máquina virtual efímera y preconfigurada, y el entorno con el que trabaja es un contenedor Docker que se ejecuta en esa máquina virtual. También puede personalizar su entorno automáticamente en el arranque de VM para asegurarse de que su instancia de Cloud Shell incluya sus 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 autentica automáticamente como la cuenta de Google con la que inició sesión en el navegador. Esto significa que tendrá acceso completo a los recursos de Google Cloud a los que normalmente tiene acceso su cuenta. Esto es equivalente a ejecutar gcloud auth login y especificar su 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 globalmente en múltiples regiones de Google Cloud Platform. Cuando se conecte por primera vez a Cloud Shell, se le asignará automáticamente la región geográfica disponible más cercana. No puede elegir su propia región, pero en el caso de que Cloud Shell no elija la región más cercana, migrará a una región más cercana al final de la sesión.

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

curl metadata/computeMetadata/v1/instance/zone

Despliegue 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 configura una sesión de Cloud Shell, obtiene una cuenta de usuario normal de Unix con un nombre de usuario basado en su dirección de correo electrónico. Con este acceso, tiene todos los privilegios raíz en su VM asignada e incluso puede 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.

Lenguajes 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 sus archivos .bashrc o .tmux.conf. Para resolver esto, abra Cloud Shell en modo seguro y agregue cloudshellsafemode=true a la URL. Esto reiniciará su Cloud Shell e iniciará sesión como usuario raíz, lo que le permitirá solucionar 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.