Este é o setup único da disciplina. Você executa uma vez e tem tudo pronto para os laboratórios. Depois deste setup, antes de cada aula, siga o ritual rápido do 01.1 - Início de toda aula.
Warning
Pré-requisitos — confira antes de começar:
- Conta no github.com ativa (se não tem, crie agora — leva 1 minuto).
- Acesso ao email institucional
rm<SEU_RM>@fiap.com.brvia webmail.fiap.com.br. - Navegador moderno (Chrome, Firefox ou Edge — evite Safari no macOS para o Codespaces).
O que você vai fazer: fazer fork do repositório, criar um Codespaces conectado a ele, ativar a conta do AWS Academy Learner Lab, criar um bucket S3 permanente e copiar credenciais da AWS para dentro do Codespaces. Tempo estimado: 30 minutos (15-20 min ociosos esperando o Codespaces terminar de criar).
Você vai combinar duas ferramentas ao longo da disciplina:
- Conta AWS via AWS Academy — conta provisionada pela FIAP com $50 de crédito, renovada a cada 4 horas de sessão.
- GitHub Codespaces — IDE online idêntica para todos os alunos, com Terraform, Docker e AWS CLI já instalados.
Os laboratórios assumem esse par funcionando. Sem o setup completo, os comandos do primeiro lab já falham.
- Por que usar Codespaces em vez de configurar o ambiente local (reprodutibilidade e suporte em sala).
- Como funciona o ciclo de 4 horas das credenciais da AWS Academy.
- Por que o bucket
base-config-<SEU_RM>é permanente e os demais recursos são efêmeros.
Um Codespaces rodando com credenciais AWS ativas, bucket S3 permanente criado, e o comando aws s3 ls respondendo sem erro. A partir daí, você está pronto para o Lab 02.1 - Network File System (EFS).
Tip
Os blocos <details><summary>💡 Clique para entender</summary> aprofundam conceitos. Pule se estiver com pressa.
| # | Parte | O que acontece | Tempo |
|---|---|---|---|
| 1 | GitHub Codespaces | Fork do repo e criação do Codespaces (2-core, region US East). | ~10 min (espera) |
| 2 | Conta AWS Academy | Ativar email FIAP, aceitar convite, iniciar o Learner Lab. | ~10 min |
| 3 | Bucket S3 permanente | Criar base-config-<SEU_RM> no console AWS. |
~2 min |
| 4 | Credenciais no Codespaces | Copiar credenciais temporárias para ~/.aws/credentials. |
~5 min |
💡 Por que tanta ferramenta só para um lab AWS? (abra se quiser entender a escolha)
O par Codespaces + AWS Academy resolve três problemas simultâneos:
- Reprodutibilidade. Todo aluno tem o mesmo Ubuntu, mesmo Terraform, mesmo AWS CLI, mesma versão de Docker. Zero "funciona na minha máquina".
- Custo zero fora da sala. AWS Academy dá uma conta com $50 de crédito e janelas de 4 horas; Codespaces tem 120h/mês gratuitas para estudantes. Nenhum cartão de crédito em lugar nenhum.
- Suporte prático. Quando algo quebra, o professor consegue reproduzir exatamente o que o aluno está vendo — rodando o mesmo repo no mesmo ambiente. Isso acelera MUITO debugar erros.
Alternativas (máquina local, conta AWS pessoal, cloud shell da AWS) funcionam, mas não têm esse balanço de custo + reprodutibilidade + suporte.
Um Codespaces chamado fiap-cloud-engineering rodando na sua conta, com o repositório já clonado e um terminal pronto.
-
Acesse o repositório da disciplina: fiap-cloud-engineering.
-
Clique no botão
Forkno canto superior direito para copiar o repositório para a sua conta.
- Na tela de criação do fork, deixe
Copy the main branch onlymarcado e clique emCreate Fork.
💡 Por que fork em vez de clonar?
O fork te dá uma cópia independente que pode receber seus commits sem afetar o original. Durante a disciplina você vai editar arquivos (
state.tf, scripts) dentro desse fork. No início de cada aula, o ritual do Inicio-de-aula.md sincroniza o seu fork com o repo original para você pegar novos labs — sem perder suas alterações locais.
- Acesse github.com/codespaces e clique em
Get Started for free(se for sua primeira vez) ou emNew codespace.
- Clique em
New codespaceno canto superior direito.
- Preencha o formulário exatamente como abaixo e clique em
Create Codespace:
| Campo | Valor |
|---|---|
| Repository | fiap-cloud-engineering |
| Branch | main |
| Dev container configuration | FIAP Lab |
| Region | US East |
| Machine type | 2-core |
Note
A criação do Codespaces demora de 10 a 15 minutos na primeira vez — ele precisa baixar o dev container (FIAP Lab), Terraform, Docker e AWS CLI. Nas próximas vezes, reabrir o mesmo Codespaces leva menos de 1 minuto.
- Enquanto o Codespaces constrói, clique em
Building codespaceno canto inferior direito para acompanhar os logs.
Tip
Deixe a aba do Codespaces aberta e avance para a Parte 2 em paralelo — os 10 minutos de build são tempo ocioso que você pode usar para configurar a AWS Academy.
- Fork criado na sua conta GitHub.
- Codespaces
fiap-cloud-engineeringem estadoRunning(ou aindaBuilding— ok para seguir).
Conta AWS Academy ativa com o Learner Lab iniciado e a bolinha verde ao lado de "AWS" no topo da tela.
-
Se ainda não tem conta no AWS Academy:
- Acesse seu email FIAP em webmail.fiap.com.br. Seu endereço é
rm<SEU_RM>@fiap.com.bre a senha é a mesma dos portais. - Procure um email de convite do Academy na caixa de entrada e siga as instruções.
- Ao entrar no Academy, aparecerá uma turma chamada
AWS Academy Learner Lab. Clique emEnrollpara aceitar.
- Acesse seu email FIAP em webmail.fiap.com.br. Seu endereço é
-
Para entrar em uma conta já existente, acesse awsacademy.com/LMS_Login.
-
Dentro da plataforma, clique em
Cursosna lateral esquerda e selecione o curso da disciplina atual.
- Dentro do curso, clique em
Módulosna lateral esquerda.
- Clique em
Iniciar os laboratórios de aprendizagem da AWS Academy.
- No primeiro acesso, vão aparecer dois termos de consentimento para aceitar. Role até o fim de cada um e clique em
I agree. Se você já tinha aceito em aulas anteriores, pule para o passo 15.
- Clique no link que começa com
Academy-CURpara acessar a conta AWS. Se pedir consentimento adicional, clique emI agreee repita.
- Esta é a tela de sessão: cada sessão dura 4 horas. Após esse tempo, você precisa iniciar uma sessão nova — mas os recursos criados na conta AWS persistem até o final do curso. Clique em
Start Lab.
- Aguarde a bolinha ao lado de "AWS" no canto superior esquerdo ficar verde. Depois clique em
AWSpara abrir o console em uma nova aba.
- Conta AWS Academy ativa com o Learner Lab iniciado.
- Bolinha
AWSverde no topo da página. - Console AWS aberto em uma nova aba.
⚠ Se der erro: a bolinha fica amarela por mais de 5 minutos
Clique em `End Lab` e depois em `Start Lab` novamente. Às vezes a primeira tentativa falha silenciosamente. Se persistir depois de 3 tentativas, abra uma issue no GitHub com o screenshot da tela.
Um bucket base-config-<SEU_RM> criado no S3, em us-east-1, vazio.
Este bucket é permanente durante toda a disciplina — ele guarda o estado do Terraform dos laboratórios. Criá-lo uma vez aqui evita reprovisionar a cada lab.
-
No console AWS (aberto no passo 16), abra o serviço S3.
-
Clique em
Criar bucket.
- Preencha apenas o nome do bucket como
base-config-<SEU_RM>(substitua<SEU_RM>pelo seu RM, sem caracteres especiais ou espaços). Deixe todo o resto no padrão e clique emCriar.
Important
Use exatamente o formato base-config-<RM> — todos os scripts dos labs detectam o bucket pelo prefixo base-config- via aws s3 ls | awk '/base-config-/'. Um nome diferente quebra todos os labs subsequentes.
- Bucket
base-config-<SEU_RM>aparece na lista do S3. - Região do bucket é
us-east-1 (N. Virginia).
Arquivo ~/.aws/credentials preenchido dentro do Codespaces, e aws s3 ls listando o bucket que você criou na Parte 3.
-
Volte para a aba do Codespaces. Se ele terminou de construir, você verá uma interface parecida com VS Code online.
-
Abra o terminal se não estiver visível (
Terminal→New Terminalna barra superior). -
Abra o arquivo de credenciais do AWS CLI:
code ~/.aws/credentialsEle vai abrir vazio — é isso mesmo. O Codespaces não tem credenciais AWS por padrão.
- Na aba do AWS Academy (onde você fez
Start Lab), clique emAWS Detailsno canto superior direito e depois emShowna seçãoAWS CLI.
- Copie o conteúdo das credenciais (selecione tudo,
Ctrl+CouCmd+C).
- Volte ao Codespaces, cole no arquivo
credentialsaberto e salve (Ctrl+SouCmd+S).
- Teste a configuração — este comando é o checkpoint final do setup inteiro:
aws s3 lsSaída esperada: pelo menos uma linha com o bucket base-config-<SEU_RM> que você criou na Parte 3.
Warning
As credenciais da AWS Academy duram 4 horas e precisam ser recopiadas em cada aula. Se você fechar o Codespaces e abrir de novo dias depois, o aws s3 ls vai falhar com erro de autenticação — basta repetir os passos 23-25 para renovar.
Caution
SEMPRE DESLIGUE o Codespaces ao final da aula para não consumir as 120h/mês gratuitas. Acesse github.com/codespaces, clique nos 3 pontinhos ao lado do ambiente e selecione Stop Codespace.
-
~/.aws/credentialspreenchido. -
aws s3 lsresponde sem erro e lista o bucketbase-config-<SEU_RM>.
Você agora tem três peças funcionando juntas: fork do repositório com os labs, Codespaces construído com todas as ferramentas, e credenciais AWS válidas por 4 horas. A partir daqui, cada início de aula é um ritual curto de 2-3 minutos (sync do fork + renovação de credenciais) descrito em 01.1 - Início de toda aula.
Siga direto para o Lab 02.1 - Network File System (EFS). Ele é o primeiro laboratório prático da disciplina e usa o bucket base-config-<SEU_RM> que você acabou de criar.
💡 Glossário rápido
Termo O que é Fork Cópia independente de um repositório Git na sua conta, que pode receber seus commits. Codespaces IDE cloud do GitHub baseada em VS Code, com ambiente pré-configurado via dev container. Dev container Definição Docker do ambiente de desenvolvimento, versionada no próprio repositório. AWS Academy Programa educacional da AWS que dá acesso a uma conta real por período limitado. Learner Lab Tipo de laboratório do Academy com sessão de 4 horas e $50 de crédito. ~/.aws/credentialsArquivo padrão onde o AWS CLI busca chaves temporárias/permanentes. Bucket S3 Container raiz de objetos no S3, identificado por nome globalmente único. us-east-1Região AWS em N. Virginia, a mais comum para laboratórios (preço e disponibilidade).
💡 Como pedir ajuda se travou
Antes de abrir issue ou chamar o professor, colete:
- Em qual parte (1, 2, 3 ou 4) travou e em qual passo.
- A mensagem de erro literal (copie e cole, não resuma).
- Screenshot da tela onde o erro apareceu.
- Sistema operacional e navegador que está usando.
Canais, em ordem:
- Issues deste repositório — preferido, cria histórico pesquisável.
- Email do professor com os 4 itens acima.
- Na sala de aula, durante a próxima aula.



















