Como o Cloud Shell funciona

O Cloud Shell provisiona uma máquina virtual do Compute Engine que executa um sistema operacional Linux baseado em Debian para uso temporário. Essa máquina virtual é de propriedade e é gerenciada pelo Google Cloud, portanto, não aparece em nenhum dos seus projetos do Google Cloud.

As 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 a VM é descartada. Para mais informações sobre cotas de uso, consulte o guia de 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 e não pode ser acessado por outros usuários.

Ao usar o Cloud Shell, não é possível expandir o espaço de armazenamento de disco permanente. Para ter mais controle da persistência de armazenamento e mais espaço, use as estações de trabalho do Cloud.

O Cloud Shell também oferece o modo temporário, que é a experiência do Cloud Shell sem armazenamento em disco permanente. Com o modo temporário, o tempo de startup é mais rápido, mas todos os arquivos criados na sessão são perdidos quando ela termina.

Autorização

Quando você faz uma chamada à API do Google Cloud ou usa uma ferramenta de linha de comando que requer credenciais (como a Google Cloud CLI) com o Cloud Shell pela primeira vez, o Cloud Shell solicita a autorização. Clique em Autorizar para permitir que a ferramenta use suas credenciais para fazer chamadas.

Consulte Como autorizar com o Cloud Shell para mais detalhes.

Variáveis de ambiente pré-configuradas

Quando o Cloud Shell é iniciado, o projeto ativo no console do Google Cloud é propagado para sua configuração gcloud no Cloud Shell para uso imediato. GOOGLE_CLOUD_PROJECT, a variável de ambiente usada pelo suporte da biblioteca Application Default Credentials para definir o ID do projeto, também é definida para apontar para o projeto ativo no Console do Google Cloud. A variável de ambiente WEB_HOST aponta para o nome do host da VM do Cloud Shell, que pode ser usada para fazer solicitações HTTPS ao ambiente.

Seleção de zona

O Cloud Shell é distribuído globalmente em várias regiões do Google Cloud. Quando você se conecta ao Cloud Shell pela primeira vez, você é automaticamente atribuído à região mais próxima disponível. Não é possível escolher sua própria região. Se o Cloud Shell não escolher a região mais próxima, o Cloud Shell tentará migrar a VM do Cloud Shell para uma região mais próxima quando a VM do Cloud Shell não for 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 manter as ferramentas prontas atualizadas. Isso significa que o Cloud Shell sempre vem com as versões mais recentes da CLI gcloud, do Docker e de 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
CLI gcloud e ferramentas SDK do App Engine
Google Cloud CLI, incluindo a CLI gcloud
gsutil para o Cloud Storage
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
Terraform

É 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 17 (OpenJDK)
Go Mais recentes
Python 3.12
Node.js LTS
Ruby 3.2
PHP 8,3
.NET Core SDKs 6.0, 7.0 e 8.0

A versão padrão do ambiente Java é a 17. 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 17:

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

Modo de segurança

Se houver um problema nos arquivos .bashrc ou .tmux.conf, o Cloud Shell será fechado imediatamente após a conexão. O modo de segurança reinicia a instância do Cloud Shell e faz login com acesso root, permitindo que você corrija quaisquer problemas nos arquivos.

Para abrir o Cloud Shell no modo de segurança:

  • Anexe cloudshellsafemode=true ao URL.
  • No Cloud Shell, clique em , Modo de segurança e Reiniciar.

Para excluir permanentemente todos os arquivos do diretório principal e restaurar o diretório inicial do Cloud Shell para um estado limpo, redefina a VM do Cloud Shell.