Páginas

quarta-feira, 22 de abril de 2026

 

Infraestrutura AWS com Terraform (Arquitetura Modular) com uso de outputs, e Automação via GitHub Actions


Desenvolvi uma infraestrutura em nuvem na AWS utilizando Terraform, aplicando princípios de Infraestrutura como Código (IaC) e arquitetura modular para garantir escalabilidade, reutilização e fácil manutenção.

O projeto foi estruturado com módulos independentes de VPC, EC2 e S3, simulando um ambiente real de produção e seguindo boas práticas utilizadas em times de engenharia de plataforma e DevOps.

 

Principais entregas e responsabilidades

  • Projetei e implementei uma VPC customizada, garantindo isolamento de rede e base para workloads seguros
  • Automatizei o provisionamento de instâncias EC2, prontas para hospedar aplicações e serviços backend
  • Estruturei buckets S3 para armazenamento de dados, logs e possíveis integrações com aplicações
  • Organizei o código em módulos reutilizáveis, facilitando versionamento e escalabilidade da infraestrutura
  • Preparei o ambiente para uso com backend remoto (S3 + DynamoDB), permitindo controle de estado e lock em ambientes colaborativos
  • Estruturei o projeto para integração com pipelines CI/CD (GitHub Actions)
  •  

     

    Tecnologias e conceitos aplicados

    • AWS (VPC, EC2, S3)
    • Terraform (módulos, variáveis, outputs, state management)
    • Infraestrutura como Código (IaC)
    • Boas práticas de organização e reutilização de código
    • Conceitos de redes (subnets, isolamento, segurança)
    • Automação e CI/CD

     

     Imagen do repositório 

     

       Link do repositório https://github.com/RafaelFerreiraNeves/Infraestrutura-AWS-comInfraestrutura-AWS-Arquitetura-Modular-com-uso-de-outputs-e-Automacao-via-GitH.git

     

    quinta-feira, 16 de abril de 2026

     

     

    Implementação de um Cluster Kubernetes com Terraform e Automação via GitHub Actions

     

    Automação com Terraform Objetivo do projeto

    O objetivo é automatizar o processo de criação e manutenção do ambiente para execução dos projetos de Software

    Para o desenvolvimento do projeto, foram levantadas as seguintes premissas:

     

    Utilizar o Terraform como ferramenta de infraestrutura como código.
    O cluster Kubernetes deve ser criado utilizando o serviço Elastic Kubernetes Service (EKS) da AWS.
    O projeto deve ser o mais simples e reaproveitável possível.
    Toda vez que houver alteração no código Terraform na branch main do repositório, a pipeline deve ser executada.
    Só vai haver um ambiente Kubernetes (os ambientes de desenvolvimento, homologação e produção serão separados por namespace).

     

    AWS
        S3
        EKS
    AWS CLI
    Terraform
        AWS Provider
        AWS VPC Terraform module
        AWS EKS Terraform module
    GitHub
        GitHub Actions

     

     Motivações para o uso de cada tecnologia

     

    EKS - Requisito do projeto.
    S3 - Foi adotado para armazenar o estado atual do projeto Terraform. Foi definido o seu uso por ser um serviço da própria AWS e ter controle de versionamento dos arquivos.
    GitHub Actions - Requisito do projeto.

     

    Instruções para executar

     

    A pipeline de criação ou atualização do projeto é executada sempre que o código Terraform do projeto for alterado na branch main. Configurações

    As variáveis de configuração do projeto estão no arquivo terraform.tfvars, exceto as variáveis consideradas sensiveis que estão no gerenciador de secrets do GitHub Actions.

    Variáveis armazendas em secrets:

    AWS_ACCESS_KEY_ID => Access Key utilizada para configurar o AWS CLI.

    AWS_SECRET_ACCESS_KEY => Secret access Key utilizada para configurar o AWS CLI.

    Estrutura da solução

    Diagrama do projeto

    Explicação do Fluxo Possíveis evoluções do projeto

    Algumas evoluções que sugiro para o projeto:

     

    Separar ambientes dev, homolog e prod utilizando o Terraform Workspace ou Terraform Grunt para criação e gerenciamento desses ambientes.
    Usar o DynamoDB junto com o S3 para evitar execução paralela do Terraform. 

     

     Imagens do repositório

     

     

     
     
     
     

     

     Link do repositório https://github.com/RafaelFerreiraNeves/Infraestrutura-AWS-de-um-Cluster-Kubernetes-com-Terraform-e-Automa-o-via-GitHub-Actions.git

     

    Obs:  Sempre de fork no GitHub, isso serve para criar uma cópia pessoal de um repositório de terceiros na sua própria conta, permitindo que você experimente, altere e melhore o código livremente sem afetar o projeto original

    ATENÇÂO : O EKS não está incluído no AWS Free Tier, que é um programa que oferece acesso gratuito limitado a determinados serviços da AWS. Embora o Free Tier cubra determinados serviços como EC2 (horas limitadas), S3 e RDS, as cobranças do EKS se aplicam imediatamente após o uso, independentemente da elegibilidade do nível gratuito. As cobranças adicionais do EC2, VPC, KMS e CloudWatch também estão associadas à sua infraestrutura do EKS.