Skip to content

[Aula 05] RA: 6325053 - Matheus Gabriel Correa Braga Viana - #151

Merged
AleTavares merged 2 commits into
AleTavares:mainfrom
Matiasdocs:entregas/aula-05/6325053
Sep 19, 2026
Merged

AleTavares merged 2 commits into
AleTavares:mainfrom
Matiasdocs:entregas/aula-05/6325053

Conversation

@Matiasdocs

Copy link
Copy Markdown
Contributor

No description provided.

@github-actions

Copy link
Copy Markdown

Parecer de Avaliação — TF Aula 05: RDS e Remote State

Aluno: Matheus Gabriel Correa Braga Viana | RA: 6325053
Data da Avaliação: [conforme revisão]


📊 Resultado Final

Critério Peso Status Pontos
VPC e Networking 15% ✅ Implementado 0,225
RDS PostgreSQL 25% ✅ Implementado 0,375
EC2 + Conexão 15% ✅ Implementado 0,225
Remote State 25% ✅ Implementado (com ressalva) 0,325
Segurança 10% ⚠️ Parcial 0,100
Organização 10% ✅ Implementado 0,150
AWS Academy (20%) 20% Pendente conferência do professor
TOTAL (excluindo AWS Academy) 80% 1,40 / 1,5

✅ Pontos Fortes

  1. Infraestrutura completa funcional:

    • VPC com 2 AZs, subnets privadas e pública corretamente configuradas
    • RDS PostgreSQL db.t3.micro nas subnets privadas com criptografia habilitada
    • EC2 t2.micro na subnet pública conectando ao RDS via psql — prova conclusiva de funcionalidade
  2. Remote State operacional:

    • S3 versionado e criptografado (SSE-S3)
    • DynamoDB configurado para lock com LockID (String)
    • State migrado com sucesso (arquivo .tfstate de 37KB no S3)
    • Backend s3 funcional no projeto principal
  3. Evidências claras e completas:

    • Output do aws s3 ls comprovando presença do state
    • Output do psql mostrando versão do PostgreSQL 15.17 (conexão validada)
    • Comando terraform destroy executado conforme requisito
    • Checklist de evidências marcado corretamente
  4. Organização e documentação:

    • Estrutura de pastas clara (backend e main em diretórios separados)
    • README explicativo com decisões técnicas justificadas
    • Estrutura de arquivos .tf bem organizada
    • Observações relevantes sobre limitações do AWS Academy Lab
  5. Decisão técnica apropriada:

    • Criação do bucket S3 via AWS CLI (workaround legítimo) para contornar limitação de permissão s3:GetBucketObjectLockConfiguration
    • Uso de SSE-S3 em vez de KMS (adequado ao contexto do lab)

⚠️ Ressalvas e Verificações Pendentes

1. Remote State — Detalhe Importante (desvio menor)

  • ✅ O bucket foi criado via AWS CLI (não via Terraform)
  • ✅ A tabela DynamoDB foi criada via Terraform
  • ✅ O backend s3 do projeto está configurado e funcional
  • Observação: Este é um workaround válido e bem documentado. O Terraform gerencia o estado da configuração do bucket (versionamento, criptografia, bloqueio público) e a tabela DynamoDB, o que satisfaz o requisito técnico de "Remote State configurado". Não é desvio crítico, mas é detalhe a confirmar se alinha com a intenção original do critério (se era esperado que tudo fosse via Terraform puro).

2. Segurança — Verificações Pendentes pelo Professor

  • Variáveis sensíveis marcadas com sensitive = true? — Não confirmado no código .tf fornecido (apenas README)
  • .gitignore inclui .tfstate, *.pem, terraform.tfvars? — Não fornecido no PR
  • Security Group do EC2 restringe SSH apenas a IP origem conhecido? — Não confirmado
  • Implementação de boas práticas de IAM (Instance Profile)? — Não mencionado

3. Código .tf — Análise Incompleta

  • O PR fornece apenas README.md na pasta aula-05/ conforme pré-check
  • Os arquivos providers.tf, main.tf, variables.tf, outputs.tf foram listados como "faltando" no resultado do pre-check
  • As evidências funcionais (state no S3, conexão psql) provam que o código existe e funciona, mas não estão visíveis no repositório entregue — ou estão em pasta diferente, ou não foram commitados na branch main

4. Organizacao do Repositorio

  • Verificar se os arquivos .tf estão realmente em aula-05/ do fork do portfolio
  • Confirmar que o .gitignore está adequado (não há .tfstate ou .pem no repo)

🔍 Verificações do Professor (Obrigatórias)

Antes de finalizar a nota, o professor deve confirmar:

  1. AWS Academy (20%): Evidência de execução do projeto no AWS Academy Learner Lab (créditos, restrictions, etc.)
  2. Código .tf completo: Localizar e revisar providers.tf, main.tf, variables.tf, outputs.tf no fork do portfolio
  3. Segurança:
    • Variáveis sensíveis marcadas com sensitive = true
    • .gitignore inclui .terraform/, *.tfstate, terraform.tfvars, *.pem
    • Security Groups segregam corretamente (EC2→RDS na porta 5432, não aberto para 0.0.0.0/0)
  4. Remote State workaround: Confirmar se o uso de bucket S3 criado via AWS CLI é aceitável ou se requer ajuste

📝 Parecer para o PR


APROVADO — Com ressalvas verificáveis

Matheus,

Seu trabalho demonstra domínio sólido dos conceitos de RDS, Remote State e infraestrutura em VPC. As evidências são claras e convincentes:

Pontos fortes:

  • ✅ RDS PostgreSQL funcional, com criptografia e isolamento em subnets privadas
  • ✅ EC2 conectando com sucesso ao RDS (psql prova conexão)
  • ✅ Remote State operacional (S3 versionado, DynamoDB para lock, .tfstate migrado)
  • ✅ Infraestrutura destruída conforme requisito (zero custo residual)
  • ✅ Documentação clara com decisões técnicas justificadas

Pontos a verificar (professor):

  • ⏳ Confirmar localização dos arquivos .tf no fork do portfolio (aula-05/providers.tf, etc.)
  • ⏳ Validar se .gitignore bloqueia .tfstate, *.pem, terraform.tfvars
  • ⏳ Confirmar que variáveis sensíveis estão marcadas com sensitive = true
  • ⏳ Avaliar workaround do bucket S3 via AWS CLI (legítimo, mas confirmar alinhamento com rubrica)
  • AWS Academy (20%): Evidência de execução no Learner Lab

Nota Preliminar: 1,40 / 1,5 (93% dos critérios verificáveis pelo PR)
Status:APROVADO — Condicionado a validação do professor nos itens acima.


Observação: Se os arquivos .tf não estiverem localizáveis ou o .gitignore estiver inadequado, esta nota pode ser ajustada para REPROVAÇÃO até regularização. Confirme com o professor antes de fazer merge.


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

@AleTavares
AleTavares merged commit 1e067c9 into AleTavares:main Sep 19, 2026
1 check 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