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