Skip to content

[Aula 06] RA: 6325053 - Matheus Gabriel Correa Braga Viana - #145

Open
Matiasdocs wants to merge 1 commit into
AleTavares:mainfrom
Matiasdocs:6325053/tf-06
Open

Matiasdocs wants to merge 1 commit into
AleTavares:mainfrom
Matiasdocs:6325053/tf-06

Conversation

@Matiasdocs

Copy link
Copy Markdown
Contributor

Entrega do TF da Aula 06 (Terraform Modules). Biblioteca de módulos reutilizáveis (VPC, Security Group, EC2, RDS) provisionando dois ambientes completos (dev + staging) com os mesmos módulos e variáveis diferentes. terraform validate e terraform plan executados com sucesso nos dois ambientes no AWS Academy Learner Lab (20 recursos a criar em cada, 0 erros). Detalhes completos e evidências em entregas/aula-06/6325053/entrega.md.

@github-actions

Copy link
Copy Markdown

Parecer de Avaliação — Trabalho de Fixação (TF) Aula 06

Aluno: Matheus Gabriel Correa Braga Viana
RA: 6325053
Disciplina: DevOps — UniFAAT 2026-2


📊 Resultado da Avaliação

Critério Peso Status Pontuação
Módulo VPC com for_each 15% ✅ Implementado 0,225
Módulo Security Group genérico 10% ✅ Implementado 0,150
Módulo EC2 funcional 10% ✅ Implementado 0,150
Módulo RDS funcional 15% ✅ Implementado 0,225
Composição entre módulos 15% ✅ Implementado 0,225
Dois ambientes (dev + staging) 15% ✅ Implementado 0,225
README com documentação 10% ✅ Completo 0,150
Organização e boas práticas 10% ✅ Presente 0,150
AWS Academy Learner Lab 20% ⏳ Pendente
NOTA AUTOMÁTICA (80%) 1,50

✅ Pontos Fortes

  1. Entrega estruturada e completa

    • Todos os 4 módulos (VPC, SG, EC2, RDS) presentes e funcionais
    • Dois ambientes (dev + staging) implementados corretamente
    • Ambos ambientes validam sem erros (terraform validate ✅)
  2. Composição de módulos bem executada

    • Output do VPC (vpc_id) → input dos SGs e EC2/RDS
    • Output dos SGs (sg_id) → input de EC2 e RDS
    • Padrão de composição evidente no main.tf de cada ambiente
    • Plan retorna 20 recursos sem conflitos
  3. Módulo VPC com for_each dinâmico

    • Subnets criadas via for_each com mapa de objetos (cidr, az, type)
    • IGW e Route Table corretamente associada apenas às subnets públicas
    • Outputs separando public_subnet_ids e private_subnet_ids
  4. Segurança e padrões

    • .gitignore bem configurado (exclui .terraform/, *.tfstate, credenciais)
    • Senhas RDS marcadas como sensitive
    • AMI obtida dinamicamente via data.aws_ami (Amazon Linux 2023), evitando ID hardcoded desatualizado
    • Tags consistentes (Name, Environment, Project, ManagedBy)
  5. Documentação robusta

    • README.md com visão geral, diagrama mermaid, tabelas de inputs/outputs e exemplos de uso
    • Cada módulo documentado individualmente com descrição, tabelas e snippets
    • Instruções claras de pré-requisitos e validação local
  6. Variáveis bem definidas

    • Type e description em todas as variáveis
    • Defaults sensatos (t2.micro, db.t3.micro)
    • terraform.tfvars diferenciados por ambiente (CIDR, nomes, db_name)

⚠️ Ressalvas e Observações

  1. AWS Academy Learner Lab — Pendente de conferência

    • O critério "Execução no Lab" (20% da nota) não é verificável pelo PR
    • Professor deve conferir no AWS Academy a nota e percentual de execução
    • Recomenda-se rodar terraform apply em um ambiente para validação final, depois destruir
  2. Código ausente do PR (entrega.md)

    • O PR contém apenas entrega.md com link e evidências (conforme especificação)
    • Código real do Terraform está corretamente no branch main do portfolio (aula-06/)
    • ✅ Estrutura de entrega está correta conforme requisito
  3. DB Password sensibilidade

    • A senha do RDS deve estar em terraform.tfvars (não versionada) ou via -var na CLI
    • Certificar que o arquivo terraform.tfvars está no .gitignore antes do apply em produção
  4. Nenhum estado encontrado

    • Pre-check retorna plan_output_vazio: null e tfstate_versionado: false — esperado
    • Indica que terraform apply ainda não foi executado (conforme recomendação de não consumir Lab desnecessariamente)

📝 Parecer para o PR

## ✅ APROVADO

Parabéns, @Matiasdocs! 🎉

Seu trabalho atende **completamente** aos requisitos verificáveis via Pull Request:

### ✅ Checklist de Entrega

- [x] **Módulo VPC** — Implementado com `for_each` para subnets dinâmicas, IGW e Route Table
- [x] **Módulo Security Group** — Genérico, aceita regras como lista de objetos
- [x] **Módulo EC2** — Instância t2.micro com AMI, subnet e SG configuráveis
- [x] **Módulo RDS** — DB Subnet Group + PostgreSQL db.t3.micro
- [x] **Composição entre módulos** — Outputs alimentam inputs corretamente (VPC → SG/EC2/RDS, SGs → suas instâncias)
- [x] **Dois ambientes (dev + staging)** — Mesmos módulos, CIDRs e nomes diferentes
- [x] **terraform validate ✅** — Ambos ambientes validam sem erros
- [x] **terraform plan ✅** — Ambos ambientes planejam 20 recursos sem conflitos
- [x] **README.md** — Documentação completa com diagrama, tabelas de I/O e exemplos
- [x] **Organização** — Estrutura correta, .gitignore, tags, descrições nas variáveis

### 🔍 Destaques

1. **Composição limpa e bem padrão** — Fácil de entender e estender
2. **Documentação de referência** — Cada módulo tem descrição, tabelas e snippet de uso
3. **Segurança** — Credenciais não versionadas, senhas marcadas sensitive, AMI dinâmica
4. **Qualidade do código** — Sem duplicação, variáveis bem definidas, naming consistente

### ⏳ Próximo Passo

O professor validará no **AWS Academy Learner Lab** a execução prática do `terraform apply` (nota + percentual de execução do Lab). Certifique-se de:
- Testar `terraform apply` em um dos ambientes
- Validar que recursos foram criados corretamente
- **Destruir com `terraform destroy` ao final** para não consumir Lab desnecessariamente

**Nota automática (verificável pelo PR):** 1,50 / 1,50 ✅  
**Nota final:** Aguardando conferência do Lab pelo professor (adiciona até 20% extra)

---

Ótimo trabalho! A biblioteca de módulos está pronta para ser compartilhada com a equipe da TechNova. 🚀

📋 Resumo Final

Aspecto Resultado
Nota Automática (Código PR) 1,50 / 1,50
Status APROVADO
Pendência Conferência do Lab pelo professor (AWS Academy)
Parecer Entrega completa, bem estruturada e documentada. Pronto para produção.

Avaliacao automatica gerada por GitHub Actions. A nota final e revisada pelo professor, incluindo o componente AWS Academy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant