Práctica 4.1
Despliegue de Aplicaciones Web
Curso 2023/2024
1 Despliegue de WordPress en AWS con Ansible
En esta práctica tendrá que realizar el despliegue de la aplicación web WordPress en dos instancias EC2 de Amazon Web Services (AWS) haciendo uso de playbooks de Ansible. En una de las instancias deberá instalar Apache HTTP Server y los módulos necesarios de PHP y en la otra máquina deberá instalar MySQL Server.
Se recomienda utilizar los scripts de bash que desarrolló en la práctica de instalación de WordPress en dos niveles, para usarlos como referencia a la hora de crear los playbooks de Ansible.
Ansible es una herramienta que nos permite configurar, administrar y realizar instalaciones en sistemas cloud con múltiples nodos sin tener que instalar agentes software en ellos. Sólo es necesario instalar Ansible en la máquina principal desde la que vamos a realizar operaciones sobre el resto de nodos y ésta se conectará a los nodos a través de SSH.
Ansible utiliza archivos YAML para describir las configuraciones que queremos aplicar en cada uno de los nodos. Estos archivos de configuración se conocen como playbooks.
La arquitectura de esta aplicación estará formada por dos capas:
- Una capa de front-end, formada por un servidor web con [Apache HTTP Server][5].
- Una capa de back-end, formada por un servidor MySQL.
1.1 Arquitectura de dos niveles
1.2 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 durante todo el proceso.
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.
Playbook de Ansible utilizados para realizar el aprovisionamiento de las máquinas virtuales.
1.3 Entregables
Deberá crear un repositorio en GitHub con el nombre de la práctica y añadir al profesor como colaborador.
El repositorio debe tener el siguiente contenido:
- Un documento técnico con la descripción de todos los pasos que se han llevado a cabo.
- Los playbook de Ansible que se han utilizado para automatizar la instalación y configuración de la pila LAMP, así como de la aplicación web propuesta.
A continuación se muestra un ejemplo de cómo puede ser la estructura del repositorio:
.
├── README.md
├── templates
│ └── 000-default.conf
└── inventory
│ └── inventory
└── playbooks
│ ├── setup_letsencrypt_https.yml
│ ├── deploy.yml
│ ├── install_lamp_backend.yml
│ └── install_lamp_frontend.yml
└── vars
│ └── variables.yml
└── main.yml
1.3.1 Documento técnico
El documento técnico README.md
tiene que estar escrito
en Markdown y debe
incluir como mínimo los siguientes contenidos:
- Descripción del proceso de instalación de la instalación de la aplicación web propuesta utilizando una arquitectura de dos niveles.
2 Referencias
3 Licencia
Esta
página forma parte del curso
Despliegue 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.