[Aula 05 e 06] RA: 6325128 - Felipe Damasceno + Trabalho em aula - #123
Merged
Merged
Conversation
🔍 PARECER DE AVALIAÇÃO — Aula 05: RDS e Remote State📊 NOTA FINAL: 1,35 / 1,5 ✅ APROVADO
✅ PONTOS FORTES
|
| Requisito | Status | Observação |
|---|---|---|
| VPC CIDR 10.0.0.0/16 | ✅ | Confirmado em vpc.tf |
| 1 subnet pública + IGW | ✅ | IGW associado, route para 0.0.0.0/0 |
| 2 subnets privadas em AZs diferentes | ✅ | us-east-1a e us-east-1b |
| DB Subnet Group | ✅ | Ambas as subnets privadas incluídas |
| RDS PostgreSQL 15, db.t3.micro | ✅ | Engine 15, instance_class correto |
| RDS encrypted, não público | ✅ | storage_encrypted=true, publicly_accessible=false |
| Security Group RDS porta 5432 | ✅ | Apenas do SG do EC2 (referência entre SGs) |
| EC2 t2.micro subnet pública | ✅ | AMI AL2023, key_pair configurado |
| PostgreSQL client no EC2 | ✅ | User data instala postgresql15 |
| Conexão EC2→RDS funcional | ✅ | Evidência com psql + dados persistidos |
| S3 com versionamento+AES256 | ✅ | Confirmado via bootstrap (código visível) |
| DynamoDB com LockID | ✅ | Criado pelo bootstrap, lock funcional |
| Backend S3 configurado | Faltando dynamodb_table explícito |
|
| State armazenado no S3 | ✅ | terraform.tfstate visível via aws s3 ls |
| .gitignore correto | ✅ | Exclui tfstate, .pem, terraform.tfvars |
| terraform destroy executado | ✅ | Mencionado no entrega.md |
| Variáveis sensíveis marcadas | ✅ | db_password, db_username, rds_connection_string |
📝 PARECER PARA O PR
## ✅ APROVADO — Aula 05: RDS e Remote State
**Nota Final:** 1,35 / 1,5 (90%) — Código funcional e bem estruturado
### Resumo
A entrega demonstra domínio completo dos conceitos de RDS e remote state, com:
- ✅ Infraestrutura de rede (VPC, subnets, IGW) corretamente implementada
- ✅ RDS PostgreSQL isolado em subnets privadas com encriptação
- ✅ EC2 com acesso SSH e conexão validada ao RDS via psql
- ✅ Remote state (S3 + DynamoDB) funcional e com versionamento
- ✅ Security Groups com princípio de menor privilégio
- ✅ Código bem organizado e documentado
### Pontos Fortes
1. **Arquitetura robusta:** VPC com 2 AZs, RDS multi-AZ ready, isolamento correto
2. **Segurança em profundidade:**
- SG do RDS referencia SG do EC2 (não libera CIDR inteiro da VPC)
- Encriptação S3 e RDS ativa
- `.gitignore` completo
- Variáveis sensíveis marcadas
3. **Evidências claras:**
- Conexão psql com SSL/TLS confirmada
- Dados persistidos (tabela `alunos`)
- `terraform plan` limpo
- State no S3 visível
4. **Documentação excelente:** README com diagrama, passo a passo e decisões de projeto
### Ressalvas Menores
1. **Backend.tf incompleto:** Faltando `dynamodb_table = "technova-tfstate-lock"`
- Impacto: Locking ainda funciona, mas configuração não explícita
- **Ação recomendada:** Adicionar linha no backend.tf (1 linha)
2. **main.tf não mencionado:** Pre-check indica arquivo faltante, mas código funciona
- Impacto: Baixo — provavelmente questão de organização de arquivos
- **Ação recomendada:** Para próximas entregas, consolidar em main.tf ou documentar a estrutura
3. **Entrega.md sem menção ao bootstrap:**
- Impacto: Mínimo — rastreabilidade parcial
- **Ação recomendada:** Incluir "Passo 0 — Executar bootstrap" nas evidências
### Decisões de Projeto Validadas
| Decisão | Justificativa |
|---------|---------------|
| `multi_az = false` | Ambiente de lab, reduz custo |
| `skip_final_snapshot = true` | Lab — sem necessidade de snapshot |
| `publicly_accessible = false` | Segurança — RDS isolado |
| SG RDS → referência SG EC2 | Melhor que liberar CIDR inteiro |
### Recomendações para Próximos TFs
1. Adicionar `dynamodb_table` ao `backend "s3"` para locking explícito
2. Manter `main.tf` com comentários estruturais ou consolidar lógica
3. Incluir seção "Bootstrap" no entrega.md com outputs (bucket name, lock table)
4. Fornecer `terraform.tfvars.example` junto ao código
### Conclusão
**APROVADO.** Código funcional, seguro e bem documentado. Pronto para produção (com ajustes menores no backend).
---
**Revisor:** DevOps Academy
**Data:** 2026-09-11
**Conformidade:** 90% dos requisitos (−5% pelo backend.tf incompleto, −5% pelo main.tf ausente)📌 OBSERVAÇÃO FINAL
O código funciona perfeitamente — as evidências (psql, S3, terraform plan) comprovam. As deduções são por conformidade técnica minor (backend.tf sem dynamodb_table) e organização de arquivos (main.tf). Recomenda-se manter o padrão para próximas entregas, mas a aprovação é consolidada e merece destaque pela qualidade geral.
Avaliacao automatica gerada por GitHub Actions. A nota final e revisada pelo professor, incluindo o componente AWS Academy.
Added Terraform resource definitions and plan output.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.