Este repositorio contiene la infraestructura de AWS gestionada mediante Terraform. Los módulos incluidos permiten desplegar y configurar servicios como Amazon S3, CloudFront, API Gateway, Lambda, Cognito, RDS, ElastiCache, entre otros.
- modules/: Contiene módulos reutilizables para la infraestructura.
- s3_bucket/: Configuración de buckets S3.
- cloudfront/: Configuración de distribuciones de CloudFront.
- api_gateway_lambda/: Configuración de API Gateway y funciones Lambda.
- cognito/: Configuración de Cognito para la autenticación de usuarios.
- aurora/: Configuración de RDS Aurora y RDS Proxy.
- elasticache/: Configuración de ElastiCache para cacheo en memoria.
- eks/: Configuración de Amazon EKS para orquestación de contenedores.
- nlb/: Configuración de Network Load Balancer (NLB) para la distribución de tráfico.
- iam/: Configuración de roles IAM.
- vpc/: Configuración de la red VPC.
- security_group/: Configuración de grupos de seguridad.
- secrets_manager/: Configuración de AWS Secrets Manager para la gestión de secretos.
- Terraform v1.0+
- AWS CLI configurado con credenciales válidas
- ZIP (para empaquetar el código de Lambda)
-
Clonar el repositorio:
git clone https://github.com/Afelipe1599/IAC.git cd IAC
-
Inicializar Terraform:
terraform init
terraform plan
terraform apply
Configura y gestiona buckets S3 con versionado, cifrado, y políticas de acceso.
Despliega distribuciones de CloudFront que distribuyen contenido desde S3.
Configura un API Gateway que invoca funciones Lambda para el backend de la aplicación.
Gestión de autenticación de usuarios mediante Amazon Cognito.
Despliega bases de datos Aurora junto con RDS Proxy para mejorar la seguridad y el rendimiento.
Configura clusters de ElastiCache para cacheo en memoria.
Configura un clúster de Amazon EKS para la orquestación de contenedores con integración a Fargate.
Configura un Network Load Balancer para distribuir el tráfico hacia el backend.
Gestión de roles y políticas IAM necesarias para los diferentes servicios.
Configuración de la Virtual Private Cloud (VPC), incluyendo subnets, tablas de rutas y gateways.
Configura los grupos de seguridad para controlar el tráfico de red.
Configura AWS Secrets Manager para gestionar y proteger secretos como contraseñas y claves API.
Esta arquitectura corresponde al siguiente diagrama: