Como o Cloud Shell funciona

Quando você inicia o Cloud Shell, ele provisiona uma máquina virtual e2-small do Google Compute Engine executando um sistema operacional Linux baseado no Debian. Instâncias do Cloud Shell são provisionadas por usuário e por sessão. A instância persiste enquanto sua sessão do Cloud Shell estiver ativa; após uma hora de inatividade, a sessão é encerrada e sua VM, descartada. Para mais informações sobre cotas de uso, consulte o guia limitações.

Com a experiência padrão do Cloud Shell, você recebe a alocação de uma VM efêmera pré-configurada e o ambiente com o qual trabalha é um contêiner do Docker em execução nessa VM. Você também pode personalizar seu ambiente automaticamente na inicialização da VM para garantir que a instância do Cloud Shell inclua suas ferramentas preferidas.

Armazenamento em disco permanente

O Cloud Shell fornece 5 GB de armazenamento em disco permanente gratuito, montado como seu diretório $HOME na instância da máquina virtual. Esse armazenamento é fornecido por usuário e está disponível ao longo dos projetos. Diferente da própria instância, esse armazenamento não é encerrado devido a inatividade. Todos os arquivos armazenados no diretório inicial, incluindo softwares instalados, scripts e arquivos de configuração do usuário, como .bashrc e .vimrc, permanecem entre as sessões. Seu diretório $HOME é privado para você e não pode ser acessado por outros usuários.

autorização

No Cloud Shell, você é autenticado automaticamente como a conta do Google com a qual está conectado ao navegador; isso significa que você terá acesso total aos recursos do Google Cloud aos quais sua conta normalmente tem acesso. Isso equivale a executar gcloud auth login e especificar sua conta do Google.

Variáveis de ambiente pré-configuradas

Quando o Cloud Shell é iniciado, o projeto ativo no Console é propagado para sua configuração gcloud no Cloud Shell para uso imediato. A variável ambiental GOOGLE_CLOUD_PROJECT, usada pelo suporte da biblioteca do Application Default Credentials para definir o ID do projeto, também é definida para apontar para o projeto ativo no Console.

Seleção de zona

O Cloud Shell é distribuído globalmente em várias regiões do Google Cloud Platform. Ao se conectar pela primeira vez ao Cloud Shell, você recebe automaticamente a região geográfica mais próxima disponível. Não será possível escolher sua própria região. Caso o Cloud Shell não escolha a região mais ideal, ele tentará migrar a VM do Cloud Shell para uma região mais próxima quando ela não estiver em uso.

Para visualizar sua região atual, execute o seguinte comando em uma sessão do Cloud Shell:

curl metadata/computeMetadata/v1/instance/zone

Lançamento da imagem

A imagem do contêiner do Cloud Shell é atualizada semanalmente para garantir que as ferramentas pré-configuradas sejam mantidas atualizadas. Isso significa que o Cloud Shell sempre vem com as versões mais recentes do Cloud SDK, Docker e todos os outros utilitários.

Usuário raiz

Ao configurar uma sessão do Cloud Shell, você recebe uma conta de usuário comum do Unix com um nome de usuário com base no seu endereço de email. Com esse acesso, você tem privilégios de root completos na VM alocada e pode até executar comandos sudo, se necessário.

Ferramentas disponíveis

A instância de máquina virtual do Cloud Shell tem as seguintes ferramentas pré-instaladas:

Tipo Ferramenta
Intérpretes de comando shell para Linux bash
sh
Recursos para Linux Recursos padrão do sistema Debian
SDKs e ferramentas do Google SDK do Google App Engine
SDK do Google Cloud incluindo a ferramenta de linha de comando gcloud
gsutil para armazenamento em nuvem
Editores de texto Emacs
Vim
Nano
Ferramentas de desenvolvimento e criação de pacote Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
Composer
Ferramentas de controle de origem Git
Mercurial
Mais ferramentas Docker
iPython
MySQL client
gRPC compiler
TensorFlow

É possível instalar pacotes de software adicionais na instância da máquina virtual, mas a instalação não permanecerá após o término da instância, a menos que você instale o software no diretório $HOME ou crie um ambiente personalizado.

Suporte ao idioma

A instância de máquina virtual do Cloud Shell oferece suporte de linguagem pré-instalado para as seguintes linguagens:

Linguagem Versão
Java JRE/JDK 1.8 e 1.11
Go 1.13
Python 2.7.13
Node.js v10.14.2
Ruby 2.6.0
PHP 7.0.33
.NET Core SDKs 2.0.0 e 2.1.502
Ambientes de execução principais 2.0.0 e 2.1.6

A versão padrão do ambiente Java é a 1.8. Para alterar a sessão atual do Cloud Shell e usar a versão 1.11 do JRE e JDK, insira o código a seguir no prompt de comando do Cloud Shell:

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

Para voltar à versão 1.8.0:

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

Ignore mensagens de erro informando que não é possível alterar as versões de alguns binários. A mudança de versão permanecerá até que a instância de máquina virtual do Cloud Shell seja encerrada. Se você quer mudar permanentemente para o Java 1.11, adicione o primeiro comando acima ao seu arquivo .bashrc.

modo de otimização

O modo de otimização aumenta temporariamente o poder da sua VM do Cloud Shell - da oferta padrão de tipo de máquina e2-small a uma instância de VM e2-medium. Isso é útil quando você quer continuar trabalhando no Cloud Shell e precisa de mais recursos de CPU ou memória por um período relativamente curto.

Para ativar o modo de otimização, encontre a opção "Ativar o modo de otimização" no menu "Mais" (o ícone de três pontos no canto superior direito do Cloud Shell). Quando o modo é ativado, todas as sessões são otimizadas pelas próximas 24 horas. A ativação dele reinicia seu Cloud Shell e encerra sua sessão imediatamente. Em seguida, uma nova VM é provisionada para você, o que pode levar alguns minutos. Os dados no seu diretório principal permanecerão, mas todos os processos em execução serão perdidos.

O modo de otimização está sujeito a limites de uso regulares. No momento, esse recurso é experimental. Limites adicionais podem ser implementados no futuro.

Modo de segurança

O Cloud Shell será fechado imediatamente após a conexão se houver um problema nos arquivos .bashrc ou .tmux.conf. Para resolver isso, abra o Cloud Shell no modo de segurança anexando cloudshellsafemode=true ao URL. Isso reiniciará o Cloud Shell e você será conectado como root, permitindo que você corrija quaisquer problemas nos arquivos.

Se você preferir excluir permanentemente todos os arquivos do seu diretório inicial e restaurar o diretório inicial do Cloud Shell para um estado limpo, é possível redefinir completamente sua VM do Cloud Shell.