Páginas

terça-feira, 28 de abril de 2026

 

Infraestrutura AWScom Node.js+PostgreSQL na AWS com Terraform e Docker, e Automacao via GitHub Actions 

 

Este projeto consiste em uma pipeline de CI/CD totalmente automatizada utilizando GitHub Actions, Terraform e Docker para provisionamento e deploy de uma aplicação Node.js na AWS.

A infraestrutura é gerenciada como código (IaC), garantindo reprodutibilidade, escalabilidade e facilidade de destruição e recriação do ambiente.

 

O que o projeto faz

O sistema automatiza todo o ciclo de vida da aplicação:

  1. Build da aplicação
    • A aplicação Node.js é empacotada em uma imagem Docker.  
  2. Publicação da imagem
    • A imagem é enviada para o Docker Hub automaticamente.
  3. Provisionamento de infraestrutura
    • O Terraform cria toda a infraestrutura na AWS, incluindo:
      • EC2 (servidor da aplicação)
      • RDS (banco de dados)
      • Security Groups
      • Dependências de rede
  4. Deploy automatizado
    • A EC2 baixa a imagem Docker e executa a aplicação.
  5. Destruição sob demanda
    • Um workflow separado permite destruir toda a infraestrutura com um clique.

 

Tecnologias utilizadas

  • GitHub Actions → CI/CD pipeline
  • Terraform → Infraestrutura como código (IaC)
  • AWS (EC2, RDS, VPC, Security Groups) → Cloud provider
  • Docker → Containerização da aplicação
  • Docker Hub → Registry de imagens
  • Node.js → Aplicação backend

 

Imagens do repositório 

 


 

 
 


Checar se aplicação se conectou corretamente

 ( Seu IP da EC2 conectando na porta 3000 )


 

Checar se o docker está rodando na EC2

( Entrar na maquina com sua chave .pem criada ssh -i my-key.pem ec2-user@SEU_IP_EC2, e la dentro emitir um docker ps )



Checar se a aplicação está conectando com o banco

( Use os comandos abaixo pra confirmar

docker exec -it node-app printenv | grep DB_HOST
docker logs node-app
nslookup app-db.cclwyemq4f8s.us-east-1.rds.amazonaws.com
cat /home/ec2-user/db_debug.txt
getent hosts app-db.cclwyemq4f8s.us-east-1.rds.amazonaws.com )  

 


 

Link do repositório https://github.com/RafaelFerreiraNeves/Infraestrutura-AWS-Node.js-PostgreSQL-na-AWS-com-Terraform-e-Docker-e-Automacao-via-GitHub-Actions.git

Nenhum comentário:

Postar um comentário