Skip to content

Leonardo1202/Projeto_DevOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto_DevOps


🏗️ Enterprise AWS Infrastructure — Terraform Modular Architecture

Infraestrutura como Código (IaC) provisionando ambiente AWS production-ready utilizando:

  • Terraform modularizado
  • Remote State (S3 + DynamoDB)
  • Separação por ambientes
  • Tagging padrão organizacional
  • Estrutura escalável e reutilizável
  • ECR para integração com pipeline de containers

Projeto estruturado com mentalidade enterprise e foco em boas práticas DevOps.


🧠 Arquitetura do Ambiente

Componentes provisionados

  • VPC customizada
  • 2 Subnets públicas (multi-AZ)
  • Internet Gateway
  • Route Table pública
  • Security Group com regras explícitas
  • EC2 (camada de compute)
  • ECR (armazenamento de imagens Docker)
  • Backend remoto com S3
  • Locking state com DynamoDB

📌 Sobre o Projeto

Este projeto demonstra a construção de uma infraestrutura em AWS provisionada via Infrastructure as Code (Terraform), com deploy de aplicação containerizada utilizando Docker e Amazon ECR.

O objetivo foi simular um cenário real de produção, aplicando boas práticas de:

  • Modularização Terraform
  • Remote State com S3
  • Lock de estado com DynamoDB
  • Containerização com Docker
  • Deploy automatizado em EC2
  • Separação por ambientes (dev/prod)

🎯 Objetivo Técnico

Criar uma arquitetura escalável e organizada que permita:

  • Provisionar toda a infraestrutura via código
  • Armazenar estado remoto com controle de concorrência
  • Publicar imagens Docker no ECR
  • Executar containers em EC2
  • Aplicar tagging estratégica para governança

📂 Estrutura do Projeto

Infraestrutura/
│
├── bootstrap/
│   ├── main.tf              # S3 + DynamoDB backend
│
├── envs/
│   ├── dev/
│   └── prod/
│       ├── main.tf
│       ├── variables.tf
│       ├── terraform.tfvars
│       └── backend.tf
│
├── modules/
│   ├── vpc/
│   ├── security-group/
│   ├── ec2/
│   └── ecr/
│
└── provider.tf

🧩 Design Patterns Aplicados

🔹 Modularização

Cada componente da infraestrutura é isolado em módulo:

  • VPC
  • Security Group
  • EC2
  • ECR

Permite:

  • Reuso
  • Testabilidade
  • Evolução isolada
  • Escalabilidade

🔹 Remote State Strategy

Backend remoto com:

  • S3 para armazenamento seguro
  • DynamoDB para state locking

Benefícios:

  • Evita corrupção de state
  • Permite colaboração
  • Estrutura pronta para times

🔹 Environment Isolation

Separação de ambientes:

envs/dev
envs/prod

Possibilita:

  • Diferentes variáveis
  • Diferentes configurações
  • Estratégia multi-environment

🔐 Segurança Aplicada

  • Security Group com regras explícitas
  • SSH restrito por CIDR
  • Separação de variáveis sensíveis
  • Remote state isolado
  • Tagging para governança

🚀 Execução

Bootstrap Backend

cd Infraestrutura/bootstrap
terraform init
terraform apply

Provisionamento Ambiente

cd Infraestrutura/envs/prod

terraform init -reconfigure
terraform plan
terraform apply

📦 Integração com Docker e ECR

Provisionamento automático de ECR.

Build multi-arch:

docker buildx build \
--platform linux/amd64 \
-t <ACCOUNT_ID>.dkr.ecr.us-east-1.amazonaws.com/website-prod:v1.0 \
--push .

📈 Evolução para V2 — CI/CD Completo

Agora entramos no nível avançado.

🎯 Objetivo da V2

Criar pipeline automatizado para:

Infraestrutura

  • terraform fmt
  • terraform validate
  • terraform plan
  • terraform apply (aprovado via workflow)

Aplicação

  • Build Docker
  • Push para ECR
  • Deploy automático

🎖️ Diferencial Técnico do Projeto

✔ Estrutura modular ✔ Remote state profissional ✔ Multi-environment ✔ Integração com containers ✔ Preparado para CI/CD

✔ Arquitetura evolutiva ✔ Organização enterprise-ready


👨‍💻 Autor

Leonardo Custodio
Cloud & DevOps Engineer

Engenheiro focado em automação de infraestrutura, orquestração de containers e construção de pipelines de entrega contínua em ambientes AWS.

Especialização em:

  • Kubernetes (cluster, deploy, networking e workloads)
  • Infrastructure as Code (Terraform)
  • AWS (arquitetura, redes e serviços essenciais)
  • CI/CD para infraestrutura e aplicações
  • Docker e ambientes containerizados
  • Boas práticas DevOps e automação

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors