AWS CloudShell: terminal gratuito e seguro direto no navegador
Dá para operar a sua conta da AWS por linha de comando só com o navegador, sem gerar credencial e sem instalar nada. O AWS CloudShell abre um terminal com AWS CLI, Git, Python e Node dentro do console, e daí você ainda entra numa EC2 sem chave PEM.
O que é o AWS CloudShell
O CloudShell é um terminal que a AWS oferece dentro do console, gratuito para quem tem uma conta, como eu disse na aula (em abril de 2023). Condições e limites mudam: confira na página oficial do AWS CloudShell antes de depender dele.
A vantagem que mais pesa: você não gera credencial nem configura o AWS CLI. Ele usa a credencial da conta em que você está logado no console.
Se você trabalha numa máquina Windows e não tem um ambiente de shell script para operar a AWS, esse ambiente resolve.
1Abrir o CloudShell
Na barra superior do console da AWS, ao lado do sino de notificações, fica o ícone do CloudShell. Clique nele. O terminal carrega na parte de baixo da tela, na região em que você está, e já abre pronto para usar.
2Entender onde ficam os seus arquivos
Esse é o ponto que mais pega, então entenda antes de guardar qualquer coisa ali:
- Cada região tem o seu CloudShell. Comparei o de Ohio com o da Virgínia e as pastas eram diferentes. Trabalhou numa região, os dados ficam nela.
- São 1 GB de armazenamento por região, o valor que citei na aula. Confira na página oficial se continua assim.
- Os dados ficam por 120 dias de inatividade. Enquanto você não passar 120 dias sem acessar aquela região, o que está lá continua lá.
- Fechar não apaga. Se eu fecho e abro de novo, ele carrega do ponto em que parou. Se eu saio da conta e volto, as pastas estão como deixei.
Dá para zerar o ambiente quando quiser. No botão Actions há o Restart AWS CloudShell, que uso quando ele trava ou quando quero começar limpo, e o Delete AWS CloudShell home directory, que apaga os dados guardados.

3Ver o que já vem instalado
Não instalei nada antes de rodar os comandos abaixo. Já vêm prontos:
- Git
- AWS CLI
- ECS CLI
- EB CLI (Elastic Beanstalk)
- Node
- Python
git --version
aws --version
ecs-cli --version
eb --version
node --version
python3 --version
Cada comando mostra a versão instalada. Na gravação, em abril de 2023, apareceram Git 2.39.2, AWS CLI 2.11.11, ECS CLI 1.21.0, EB CLI 3.20.5, Node 16.19.1 e Python 3.7.16. Hoje as versões podem ser outras: rode os comandos e veja as suas.

Nas preferências do terminal dá para aumentar a fonte, o que ajuda quando você grava ou compartilha a tela. E pelo menu Actions você abre uma aba nova, divide o terminal em linhas ou colunas, baixa e envia arquivo.
4Usar a sua conta sem configurar nada
Com o terminal aberto, rode:
aws s3 ls
Ele listou os buckets da minha conta. Não configurei o AWS CLI, não gerei credencial e não criei chave para o meu usuário: ele pegou as mesmas permissões que eu tenho no console.

Isso já é um ganho de segurança só por usar o CloudShell. Ali você faz o que o seu usuário faz no console, nem mais, nem menos. Eu estava numa conta root e por isso tinha acesso a tudo; na sua, o alcance depende das permissões do seu usuário.
Como o Git também está instalado, eu clonei o projeto que uso nos meus eventos:
git clone <url-do-repositório>
ls
Troque a URL pela do seu repositório. O ls mostrou os fontes do projeto (API, config, Dockerfile e outras pastas) dentro do CloudShell.
5Entrar na EC2 pelo Session Manager
Para acessar uma EC2 por linha de comando, o caminho comum é abrir a máquina para a internet, o que não é seguro, ou gerar uma chave PEM, liberar o SSH e conectar com ela. A terceira forma é o Session Manager, e o CloudShell já tem o AWS CLI com as suas permissões para usá-lo.
Eu tinha deixado a instância preparada antes da aula: o agente configurado nela e as permissões na conta. Pegue o ID da instância no console (a minha era a bia-local) e rode:
aws ssm start-session --target <id-da-instancia>
A sessão abriu e eu estava dentro da EC2, sem chave PEM e sem abrir a máquina. Para sair e voltar ao CloudShell, exit. A configuração do agente e das permissões, passo a passo, está em Conectar na EC2 pelo navegador.
6Editar arquivos e instalar o que falta
No CloudShell o nano não estava instalado (na instância, estava). Rodei um sudo yum update -y, que não tinha nada para atualizar, e instalei o editor:
sudo yum install nano -y
Com ele instalado, abri um Dockerfile, tirei uma linha e salvei:
nano Dockerfile
Você pode instalar o que precisar no seu CloudShell. O que ficar na home continua ali na próxima abertura, na mesma região.
O caminho, resumido:
Checklist
- Clique no ícone do CloudShell na barra superior do console.
- Rode
aws s3 lse confirme que ele já enxerga a sua conta, sem configurar credencial. - Confira as versões de Git, AWS CLI, Python e Node com
--version. - Lembre que o armazenamento é de 1 GB por região e fica por 120 dias de inatividade (confira na página oficial se ainda vale).
- Use o Restart AWS CloudShell para zerar o ambiente quando ele travar.
- Para entrar numa EC2, deixe o agente e as permissões prontos e use
aws ssm start-session --target <id-da-instancia>. - Antes de apagar o home directory, salve o que importa.
O CloudShell tira de você o trabalho de configurar credencial e abrir porta para operar a AWS por terminal. Abra o terminal, digite aws s3 ls e veja a sua conta responder.
O que os alunos dizem

“A Formação AWS me mostrou o caminho, me deu prática de verdade e mudou minha vida.”
Rodrigo Raspinola, Analista Cloud / SRE
Ver depoimento
“Eu queria voltar para a área técnica, mas aprender AWS sozinho só me deixava frustrado.”
William Santos, Tech Lead
Ver depoimento
“Só quando coloquei a mão na massa com a Formação AWS é que avancei de verdade. Essa prática me levou ao próximo nível”
Caio, Desenvolvedor (Dev)
Ver depoimento
Formação AWS
Aprenda AWS e IA na prática, com projeto real e acompanhamento. Converse com o time sobre a Formação AWS.
Agende uma conversaPrefere assistir?
A aula completa (15 min) está no canal Domine AWS. O vídeo toca aqui mesmo.

