AWS - MunchiA/Tartuski GitHub Wiki
🗺 Topología
🔍 Explicación detallada
1. Región AWS y VPC
- Todo está dentro de una VPC (Virtual Private Cloud) en una región de AWS.
- La VPC se divide en dos Zonas de Disponibilidad (Zone A y Zone B) para mejorar la tolerancia a fallos.
2. Subredes públicas
- En cada zona hay una Public Subnet que contiene:
- Un NAT Gateway para permitir que las instancias en las subredes privadas salgan a Internet sin exponerse directamente.
- En la Zone A, un Bastion Host que sirve como punto de acceso SSH administrativo a las máquinas en las subredes privadas en nuestro caso solo permitimos el acceso a la web.
3. Puerta de enlace a Internet
- La Internet Gateway conecta la VPC con la red pública de AWS.
- Permite que el Load Balancer reciba tráfico desde Internet.
4. Balanceador de carga (Load Balancer)
- Distribuye el tráfico HTTP/HTTPS entrante entre múltiples instancias de aplicación desplegadas en subredes privadas de Zone A y Zone B.
- También hemos configurado un certificado SSL/TLS en ACM para habilitar HTTPS en el ALB
5. Capa de aplicación (Auto Scaling)
- Se usa un AMI (imagen de máquina) para lanzar instancias con nuestra web en un Auto Scaling Group dentro de subredes privadas.
- Gracias al Auto Scaling, el número de servidores se ajusta automáticamente según la demanda.
6. Capa de datos (MySQL primaria y réplica)
- Zone A: base de datos MySQL primaria.
- Zone B: base de datos MySQL de failover (réplica), lista para asumir si la primaria falla.
- La replicación entre ambas garantiza alta disponibilidad y resiliencia.
7. Replicación de objetos (S3)
- Patrón de replicación entre buckets de S3:
- Un bucket “Source” que replica objetos automáticamente a un bucket “Destination”.
📂 Archivos utilizados
[!NOTE] TERRAFORM