Recursos

O Google Cloud Shell é um ambiente shell interativo para o Google Cloud Platform. Ele facilita o gerenciamento dos seus projetos e recursos sem que você tenha que instalar o SDK do Google Cloud e outras ferramentas no seu sistema. Com o Cloud Shell, a ferramenta de linha de comando gcloud e outros recursos necessários do SDK do Cloud estão sempre disponíveis.

Sessão do Cloud Shell

O Cloud Shell oferece os seguintes recursos:

Instância de máquina virtual

Quando você inicia o Cloud Shell, ele provisiona uma máquina virtual g1-small do Google Compute Engine que executa um sistema operacional Linux baseado em 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 e é encerrada após uma hora de inatividade.

Acesso de linha de comando

Com o Cloud Shell, você tem acesso de linha de comando à instância de máquina virtual em uma janela de terminal aberta no Console do Google Cloud Platform. Você pode abrir diversas conexões shell na mesma instância. A instância permanece entre sessões. Além de acessar a ferramenta de linha de comando gcloud e outros recursos do SDK do Cloud pela linha de comando, é possível usar o comando cloudshell para iniciar tutoriais, abrir o editor de código e fazer o download de arquivos. Execute cloudshell help para mais informações.

Editor de código

A versão Beta do editor de código do Cloud Shell executando o Theia (em inglês) já está disponível para uso.

É possível usar o editor de código para acessar diretórios de arquivos, além de ver e editar arquivos, e ter acesso permanente ao Cloud Shell. Por padrão, o editor está disponível para todas as instâncias do Cloud Shell.

Para acessar o editor de código da barra de ferramentas, clique no ícone de lápis.

Sessão do Cloud Shell e do editor

Como alternativa, você pode abrir um arquivo existente, como README-cloudshell.txt do ambiente acima, no editor de código. Basta executar o comando cloudshell no Console do Cloud:

cloudshell edit README-cloudshell.txt

Armazenamento em disco permanente

O Cloud Shell provisiona 5 GB de armazenamento em disco permanente gratuito, que é ativado como seu diretório $HOME na instância de 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 que você armazena no seu diretório principal, incluindo softwares instalados, scripts e arquivos de configuração de usuário como .bashrc e .vimrc, permanecem entre sessões. Seu diretório $HOME é privado e não pode ser acessado por outros usuários.

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 Cloud Storage
Editores de texto Emacs
Vim
Nano
Ferramentas de desenvolvimento e criação de pacote Gradle
Make
Maven
Bazel
npm
nvm
pip
Composer
Ferramentas de controle de origem Git
Mercurial
Ferramentas adicionais Docker
iPython
MySQL client
gRPC compiler
TensorFlow

Você pode adicionar pacotes adicionais de software na instância de máquina virtual, mas a instalação não permanecerá depois do encerramento da instância, a menos que você instale o software no seu diretório $HOME.

Suporte de linguagem

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.11
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ê quiser alterar permanentemente para o Java 1.11, adicione o primeiro comando acima ao seu arquivo .bashrc.

Visualização da Web

O Cloud Shell oferece recursos de visualização da Web que permitem executar aplicativos da Web na instância da máquina virtual e visualizá-los no Console do GCP. Os aplicativos da Web precisam receber solicitações HTTP nas portas dentro do intervalo permitido de 2000 a 65000. Essas portas estão disponíveis apenas para o serviço de proxy seguro do Cloud Shell, que restringe o acesso HTTPS apenas à sua conta de usuário.

Para se conectar a um aplicativo da Web executado em uma instância, clique no botão Visualização da Web Botão de visualização da Web acima da janela do terminal do Cloud Shell no Console do GCP. Em seguida, selecione o número da porta no menu exibido. Essa ação abre um URL de visualização no serviço de proxy do Cloud Shell em uma nova janela do navegador.

Modo de otimização

O modo de otimização aumenta temporariamente a capacidade da sua VM do Cloud Shell, de uma oferta de tipo de máquina g1-small padrão para uma instância de VM n1-standard-1. 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.

Autorização

O Cloud Shell oferece autorização interna para acesso a projetos e recursos hospedados no Google Cloud Platform. Você não precisa executar etapas de autorização adicionais para acessar o recurso da plataforma por meio da ferramenta de linha de comando gcloud do SDK do Cloud.

Suporte tmux

O Cloud Shell usa tmux por padrão, o que melhora a persistência em todas as sessões das guias do navegador. Por exemplo, se você atualizar o Console do GCP em uma guia ou se conectar ao Cloud Shell a partir de uma máquina diferente, o estado da sessão não será perdido.

O Cloud Shell é compatível com as teclas de atalho tmux (em inglês) padrão. Por exemplo, se você pressionar Ctrl + b e depois %, o tmux separará a janela da sessão atual em um painel à direita e um à esquerda, o que pode ser útil para a depuração.

Para desativar o tmux no Cloud Shell, clique no botão Configurações Botão "Configurações", selecione Configurações do tmux e desmarque a opção Ativar integração do tmux.

Estatísticas de uso do terminal

O Cloud Shell coleta estatísticas anônimas de uso em comandos executados no terminal do Cloud Shell. Apenas coletamos estatísticas de uso em comandos pré-instalados no Cloud Shell. Não coletamos métricas de informações de identificação pessoal, como argumentos enviados a esses comandos. Essas métricas não podem ser relacionadas à sua conta. Para desativar a coleta, selecione Estatísticas de uso nas Configurações do Cloud Shell, usando o ícone do menu de três pontos.

Observação: esses dados são independentes das estatísticas de uso do gcloud, que são ativadas por padrão no Cloud Shell.

Modo de segurança

O Cloud Shell fechará imediatamente após a conexão se houver problemas nos seus arquivos .bashrc ou .tmux.conf. Para resolver isso, abra o Cloud Shell no modo de segurança adicionando cloudshellsafemode=true ao URL. Isso reinicializará o Cloud Shell e fará seu login como usuário raiz. Assim, você poderá resolver qualquer problema nos arquivos.

Teclado

O Cloud Shell permite que você altere quais teclas são enviadas para o terminal. No menu Configurações do terminal, selecione Preferências do terminal > Teclado para ver as seguintes opções:

  • Alt é Meta: define se a tecla Alt atua como tecla meta ou como uma tecla Alt diferente.
  • AltGr-mode: seleciona uma heurística de detecção AltGr.

Ambiente personalizado do Cloud Shell

Seu ambiente do Cloud Shell é um contêiner do Docker. Com o recurso de ambiente personalizado atualmente em versão Alfa, você pode modificar esse contêiner editando um Dockerfile. Isso permite que você instale ferramentas personalizadas em seu ambiente do Cloud Shell que permanecem entre as sessões. A página de configuração do ambiente pode ser encontrada neste link.

Com um clique em "Criar imagem personalizada" na tela de configuração, você inicia um tutorial sobre a criação de uma imagem do Docker personalizada para usar como seu ambiente do Cloud Shell. Em seguida, é possível editar seu ambiente do Cloud Shell para fazer referência a essa imagem recém-criada.

Esse tutorial cria automaticamente quatro recursos:

  • Um repositório do Cloud Source Repositories contendo seu Dockerfile
  • Dois acionadores de versão do Cloud Build: um acionado em qualquer atualização do repositório do Cloud Source Repositories e outro acionado em alterações de imagem de base do Cloud Shell
  • A imagem criada do Docker hospedada no Google Container Registry

Para fazer uma limpeza após o tutorial, será necessário excluir esses recursos do Cloud Source Repositories, do Cloud Build e do Container Registry.

Limitações do ambiente personalizado

  • A imagem personalizada precisa ter como base a imagem padrão do Cloud Shell: gcr.io/cloudshell-images/cloudshell
  • Variáveis especificadas pelo ENV no seu Dockerfile não serão propagadas para a sessão SSH. Para propagá-las para a sessão SSH, configure essas variáveis no arquivo /etc/environment: RUN echo "$MY_VAR=$DESIRED_VALUE" >> /etc/environment
  • Não é possível substituir o ENTRYPOINT do Dockerfile.
  • Coloque os scripts que você gostaria de executar no início da sessão em /google/devshell/bashrc.google.d/. O script a ser executado no final da sessão pode ser colocado em /google/devshell/bash_exit.google.d/.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…