[Aula 04] RA: 6325053 - Matheus Gabriel Correa Braga Viana - #150
Conversation
🎯 Avaliação do Trabalho de Fixação — Aula 04Aluno: Matheus Gabriel Correa Braga Viana 📊 Resultado Final
✅ Pontos Fortes
|
| Requisito | Status | Observação |
|---|---|---|
| VPC (10.0.0.0/16) com DNS support | ✅ | Implementado corretamente |
| 4 Subnets (2 pub + 2 priv, 2 AZs) | ✅ | us-east-1a e us-east-1b |
| IGW + Route Tables | ✅ | Rota 0.0.0.0/0 → IGW nas públicas |
| Security Groups (API + DB) | ✅ | Menor privilégio aplicado |
| EC2 t2.micro com User Data | ✅ | Evidenciado funcionando |
| Instance Profile | ✅ | Usando LabInstanceProfile (Learner Lab) |
| Tags em todos recursos | ✅ | Via default tags + específicas |
| Outputs 8 valores | ✅ | Todos exportados corretamente |
| README + diagrama | ✅ | Completo e claro |
| Evidências (plan, curl, SSH) | ✅ | Entrega.md contém respostas |
terraform destroy |
✅ | Confirmado sem recursos pendentes |
📝 Parecer Pronto para o PR
## ✅ APROVADO
### Avaliação Completa
Excelente trabalho, Matheus! A entrega atende **todos os requisitos obrigatórios** da Aula 04.
#### ✅ Pontos Fortes
- **Arquitetura Multi-AZ corretamente implementada**: 4 subnets em 2 AZs (us-east-1a/b), separação público/privado bem definida
- **Terraform profissional**: código limpo, bem organizado, com data sources, variáveis e outputs completos
- **Security Groups com menor privilégio**: API exposta apropriadamente (22, 3000), BD isolado para a VPC interna apenas
- **Adaptação inteligente ao Learner Lab**: ao invés de forçar criação de IAM Role (bloqueada), usou `LabInstanceProfile` pré-existente e documentou a decisão
- **Evidências funcionais**: API respondendo em `/`, `/health`, `/orders`; SSH com `LabRole` confirmado
- **Documentação de qualidade**: README com diagrama ASCII-art clara, decisões técnicas explicadas, instruções passo-a-passo
- **.gitignore robusto**: nenhuma credencial ou chave privada versionada
- **Tags consistentes**: default tags no provider + tags específicas por recurso
#### ⚠️ Ressalvas Menores
1. **`user_data.sh` não consta da análise**: o arquivo é referenciado em `main.tf` mas não foi fornecido junto ao código. Confirmar se está no repositório `unifaat-devops-portfolio/aula-04/`. As evidências mostram que funcionou, então presume-se estar correto.
2. **`terraform-plan-output.txt`**: o `entrega.md` marca como entregue, mas não foi encontrado no repositório. Confirmar se foi anexado ao PR ou comentário.
3. **Chave SSH via `file()`**: requer `ssh-keygen` manual antes do apply. Está documentado, mas é um passo extra. Aceitável para dev.
#### 📊 Notas por Critério
| Critério | Nota | Máx |
|----------|------|-----|
| Infraestrutura funcional | 0,25 | 0,25 |
| Arquitetura Multi-AZ | 0,10 | 0,10 |
| Security Groups | 0,15 | 0,15 |
| User Data + EC2 | 0,10 | 0,10 |
| Tags e organização | 0,10 | 0,10 |
| Evidências | 0,05 | 0,05 |
| README + diagrama | 0,05 | 0,05 |
| **Subtotal (código verificável)** | **0,80** | **0,80** |
| AWS Academy | ⏳ | 0,20 |
| **Total (após verificação Academy)** | — | **1,50** |
#### ✅ Recomendação
**APROVADO** — Entrega completa e funcional. Aguardando verificação do professor no AWS Academy (Learner Lab) para validar a nota e percentual de execução do laboratório prático, que complementa os 20% finais da avaliação.
Excelente compreensão de networking AWS e Terraform!
---
**Revisado em:** 2026-09-18
**Avaliador:** DevOps Team🎓 Resumo Executivo
| Aspecto | Resultado |
|---|---|
| Código Terraform | ✅ Profissional, bem estruturado, funcional |
| Requisitos atendidos | ✅ 100% (10/10 obrigatórios) |
| Evidências | ✅ Completas e comprovadas |
| Documentação | ✅ Clara e detalhada |
| Decisões técnicas | ✅ Justificadas e apropriadas |
| Status | ✅ APROVADO |
Nota Automática: 0,80 / 1,5 (80% do critério verificável pelo PR)
AWS Academy: ⏳ Pendente de conferência do professor
Avaliacao automatica gerada por GitHub Actions. A nota final e revisada pelo professor, incluindo o componente AWS Academy.
No description provided.