Skip to content

FERNANDA TAVARES [4025109]- AULA05 - #144

Merged
AleTavares merged 4 commits into
AleTavares:mainfrom
fehhnovais:aula-05-4025109
Sep 19, 2026
Merged

AleTavares merged 4 commits into
AleTavares:mainfrom
fehhnovais:aula-05-4025109

Conversation

@fehhnovais

Copy link
Copy Markdown
Contributor

No description provided.

@github-actions

Copy link
Copy Markdown

Parecer de Avaliação — Trabalho de Fixação Aula 05

Aluno: Fernanda Tavares | RA: 4025109 | Nota: 0,0 / 1,5


📋 Análise de Entrega

Status Geral: REPROVADO

Motivo principal: Código do portfólio incompleto e não verificável. Falta o arquivo main.tf crítico, e o entrega.md do PR refere-se à Aula 03 (IAM), não à Aula 05 (RDS + Remote State).


🔍 Verificação de Completude

Arquivo Status Observação
providers.tf ✅ Presente Backend comentado (esperado inicialmente)
variables.tf ✅ Presente Variáveis bem estruturadas
outputs.tf ✅ Presente Outputs informativos
network.tf ✅ Presente VPC + subnets privadas (2 AZs) + IGW
security_groups.tf ✅ Presente EC2 + RDS com referência SG (bônus)
ec2.tf ✅ Presente EC2 t2.micro + user_data com psql
rds.tf ✅ Presente RDS PostgreSQL 15, db.t3.micro
README.md ✅ Presente Documentação clara e completa
.gitignore ✅ Presente Correto (sem .tfstate, .tfvars, .pem)
main.tf FALTANDO Arquivo crítico não encontrado

📊 Critérios de Avaliação

Critério Peso Verificável? Status Nota
VPC e Networking 15% Implementado em network.tf
RDS PostgreSQL 25% Implementado em rds.tf
EC2 + Conexão 15% Implementado em ec2.tf
Remote State 25% Não verificável (sem apply)
Segurança 10% ⚠️ Parcial (código OK, apply não executado)
Organização 10% Excelente (arquivos bem separados)
AWS Academy 20% ⏸️ Pendente de conferência do professor

✅ Pontos Fortes

  1. Arquitetura bem modelada: VPC com 2 subnets privadas em AZs diferentes + 1 pública, IGW, route tables — tudo conceitualmente correto.

  2. RDS corretamente configurado: PostgreSQL 15, db.t3.micro, storage_encrypted = true, skip_final_snapshot = true, publicly_accessible = false.

  3. Security Groups com bônus: SG do RDS referencia o SG do EC2 (porta 5432) em vez de abrir para CIDR inteiro — excelente prática de segurança.

  4. User data automatizado: EC2 instala psql, cria script de teste (test-db.sh) e arquivo .pgpass — reduz passos manuais.

  5. Código bem organizado: Responsabilidades separadas em network.tf, ec2.tf, rds.tf, security_groups.tf, variables.tf, outputs.tf.

  6. Documentação clara: README.md com diagramas ASCII, fluxo de deploy, instruções de teste e destruição.

  7. Variáveis sensíveis marcadas: db_password com sensitive = true.

  8. .gitignore correto: Cobre *.tfstate, terraform.tfvars, *.pem, .terraform/.


⚠️ Ressalvas Críticas

🔴 Bloqueante: Código Não Executável

  1. main.tf faltando: O pre-check detectou que o arquivo não existe na pasta aula-05/. Este é o arquivo que tipicamente contém a integração entre recursos ou configurações principais. Sem ele, a infraestrutura não pode ser aplicada (o terraform apply falhará ou produzirá avisos).

  2. Entrega referencia Aula 03: O entrega.md no PR fala sobre "Aula 03: Terraform + IAM" com evidências de IAM, users, policies — não é a Aula 05. Isto sugere cópia/colagem errada ou entrega no repositório incorreto.

  3. Nenhuma evidência de apply: Sem screenshots/outputs de:

    • terraform plan (estado da infraestrutura)
    • terraform apply (confirmação de sucesso)
    • aws s3 ls (estado remoto no S3)
    • psql output (conexão EC2 → RDS)
    • Dados persistentes (SELECT * FROM orders)
  4. Backend comentado mas não configurado: O bloco backend "s3" em providers.tf está todo comentado. Não há evidência de que o backend foi criado (pasta backend/ não mencionada no portfólio) ou ativado.

🟡 Impacto Prático

  • Não é possível verificar se o código realmente funciona — falta a execução real (terraform apply + testes).
  • Critério "Remote State" não é verificável — sem apply, o estado continua local.
  • Critério "Dados persistentes" não é verificável — sem conexão ao RDS, não há como criar/consultar dados.

💬 Parecer Pronto para o PR

## ❌ REPROVADO — Código Incompleto e Não Verificável

**Motivo:** Falta arquivo crítico `main.tf` e nenhuma evidência de execução (terraform apply + testes).

### Achados:

#### 🔴 Bloqueantes
1. **`main.tf` ausente** — Arquivo crítico não encontrado em `aula-05/`. Sem ele, `terraform apply` não executa corretamente. Verifique se está presente no repositório `unifaat-devops-portfolio`, branch `main`, pasta `aula-05/`.

2. **Entrega referencia Aula 03** — O arquivo `entrega.md` deste PR contém evidências de IAM (Aula 03), não de RDS + Remote State (Aula 05). Verifique se está sendo entregue no lugar correto:
   -**Correto:** `entregas/aula-05/4025109/entrega.md` (no fork da disciplina)
   -**Correto:** `aula-05/*.tf` (no portfólio `unifaat-devops-portfolio`)

3. **Zero evidências de execução** — Faltam:
   - `terraform plan` output
   - `terraform apply` output
   - `aws s3 ls s3://...` (estado no S3)
   - `psql` output (conexão EC2 → RDS)
   - Dados persistidos no RDS (`SELECT * FROM orders`)

#### 🟢 Pontos Fortes (Código)
- ✅ Arquitetura de rede correta (VPC + 2 subnets privadas em AZs diferentes + 1 pública)
- ✅ RDS PostgreSQL 15, db.t3.micro, criptografia habilitada
- ✅ EC2 com user_data para instalar psql + script de teste
- ✅ Security Groups com bônus: SG do RDS referencia SG do EC2 (não CIDR)
- ✅ Código bem organizado em arquivos separados
- ✅ Documentação clara (README.md com diagrama e instruções)
- ✅ Variáveis sensíveis marcadas, `.gitignore` correto

#### 🟡 Problemas Secundários
- Backend comentado em `providers.tf` — OK para estado inicial, mas deve ser descomentado e testado
- Sem evidência de backend `backend/` criado (S3 + DynamoDB)

### ✅ Para Aprovação Necessário:

1. **Verifique se `main.tf` existe** — Se não existe, crie-o (pode estar vazio ou contendo configurações de integração, dependendo da aula).

2. **Confirme entrega.md correto** — Este PR deve referenciar **Aula 05**, com evidências de:
   - Estado remoto no S3 (`aws s3 ls s3://...`)
   - Conexão EC2 → RDS (`psql ... -c "SELECT version();"`)
   - Dados persistidos no RDS
   - `terraform plan` sem mudanças

3. **Execute e documente:**
   ```bash
   cd aula-05/backend
   terraform apply  # Cria S3 + DynamoDB
   
   cd ..
   terraform init -migrate-state
   terraform apply  # Cria VPC + RDS + EC2
   
   # Capture evidências de todos os 4 itens acima
  1. Atualize PR com screenshots/outputs no entrega.md

Nota Atual: 0,0 / 1,5

(Código não verificável por falta de main.tf e zero evidências de execução)


Reatribua o PR após corrigir. Fico à disposição para dúvidas! 🚀


---

## 📝 Resumo Executivo

| Aspecto | Resultado |
|--------|-----------|
| **Código disponível?** | ⚠️ Parcial (falta `main.tf`) |
| **Código correto (conceitual)?** | ✅ Sim |
| **Código testado (apply)?** | ❌ Não (zero evidências) |
| **Remote state funcional?** | ❌ Não verificável |
| **Conexão EC2↔RDS testada?** | ❌ Não verificável |
| **Dados persistidos?** | ❌ Não verificável |
| **Entrega.md correto?** | ❌ Refere Aula 03, não 05 |
| **Aprovação possível?** | ❌ Não |

**Nota: 0,0 / 1,5** — Entrega não verificável. Rejeitar e solicitar correções.

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

@AleTavares
AleTavares merged commit b3ea77f into AleTavares:main Sep 19, 2026
2 checks passed
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.

2 participants