Skip to content

RafaelRodriguezSanz/proyecto-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform AWS Docker Python Make CodePipeline ECS Fargate

GitHub Repo stars

Proyecto Cloud

Deploy Automático en AWS con Terraform

Este proyecto es una demo completa que permite desplegar una aplicación en AWS de forma automatizada utilizando Terraform, Docker, AWS CLI y CodePipeline. Proporciona tanto ejecución local como dentro de un contenedor.


✨ ¿Qué hace este proyecto?

  • Clona el código fuente desde un repositorio remoto.
  • Usa AWS CodeBuild para generar una imagen Docker.
  • Despliega la aplicación con AWS CodePipeline en Amazon ECS (Fargate).
  • Crea automáticamente:
    • Red VPC
    • Subnets públicas/privadas
    • Security Groups
    • Load Balancer (ALB)
  • Devuelve la URL del Load Balancer donde se puede acceder a la aplicación desplegada.
  • Permite destruir toda la infraestructura cuando ya no se necesita.

⚙️ Precondiciones

Antes de ejecutar este proyecto, asegurate de tener instaladas:


🚀 Cómo ejecutar

▶️ Ejecución local

make local

Esto ejecuta la app directamente en tu entorno local.


🐳 Ejecución en Docker

Debes pasar las variables de entorno necesarias:

make run AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY=yyy AWS_DEFAULT_REGION=us-east-1

Internamente, ejecuta:

docker run -e AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) \
           -e AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) \
           -e AWS_DEFAULT_REGION=$(AWS_DEFAULT_REGION) \
           -p 8080:80 \
           proyecto-cloud

🧹 Destruir la infraestructura

Puedes eliminar todos los recursos creados con se puede relizar mediante el frontend de la aplicación o ejecutando:

cd terraform && terraform destroy -auto-approve

📌 Notas

  • Este proyecto es solo una demo y no debe usarse tal cual en producción sin revisiones de seguridad.
  • Se recomienda eliminar la infraestructura cuando no se use para evitar costos innecesarios.

🧑‍💻 Autor

Rafael Rodríguez
GitHub: @RafaelRodriguezSanz

Joaquin Cuitiño

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors