Práctica 2.2
Implantación de Aplicaciones Web
Curso 2023/2024
1 Balanceador de carga con Nginx
En esta práctica vamos a configurar Nginx para que trabaje como un balanceador de carga. Se recomienda la lectura del artículo Nginx Load Balancing - HTTP Load Balancer.
1.1 Infraestructura necesaria
La infraestructura propuesta consta de cuatro máquinas virtuales, una para el balanceador de carga (Load Balancer), dos como frontales web (Front-End) y una como servidor de base de datos MySQL (Back-End).
- Balanceador.
- Frontal Web 1.
- Frontal Web 2.
- Servidor de Base de Datos MySQL.
1.2 Breve descripción de los requisitos
Tiene que utilizar máquinas virtuales EC2 de Amazon Web Services (AWS), con la última versión de Ubuntu Server.
El balanceador y los dos frontales tendrán instalado el servidor Nginx.
Las dos máquinas que actúan como frontales web tendrán que estar configuradas para servir páginas PHP con acceso a una base de datos MySQL.
La instancia EC2 que hace de balanceador tiene que utilizar una dirección IP elástica de AWS.
Registre un nombre de dominio en algún proveedor de nombres de dominio gratuito. Por ejemplo, puede hacer uso de Freenom o No-IP.
Configure los registros DNS del proveedor de nombres de dominio para que el nombre de dominio de ha registrado pueda resolver hacia la dirección IP elástica que ha asociado con su instancia EC2 de AWS.
Instale y configure el cliente ACME Certbot en su instancia EC2 de AWS que hace balanceador para que pueda aceptar tráfico HTTPS. Siga los pasos de la documentación oficial.
1.3 Arquitectura de una aplicación web en tres niveles
1.4 Entregables
En esta práctica habrá que entregar un documento técnico con la descripción de los pasos que se han llevado a cabo.
El documento debe incluir como mínimo lo siguientes contenidos:
URL del repositorio de GitHub donde se ha alojado el documento técnico escrito en Markdown.
Scripts de bash utilizados para crear la infraestructura necesaria con AWS CLI.
Scripts de bash utilizados para realizar el aprovisionamiento de las máquinas virtuales.
Tenga en cuenta que el aprovisionamiento de las máquinas virtuales se realizará mediante un script de bash. Cada máquina usará su propio script. El contenido de cada uno de los scripts deberá ser incluido en el documento y deberá describir qué acciones se han ido realizando en cada uno de ellos.
URL del sitio web con HTTPS habilitado.
2 Referencias
- Balanceador de carga en Wikipedia
- Nginx Load Balancing - HTTP Load Balancer
- Simple Load Balancing
- Load Balancing Techniques and Optimizations. Jason Potter.
3 Licencia
Esta
página forma parte del curso
Implantación de Aplicaciones
Web de José Juan Sánchez
Hernández y su contenido se distribuye bajo una
licencia
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0
Internacional.