Despliegue de Aplicaciones Web
José Juan Sánchez Hernández
Curso 2023/2024
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:
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.
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:
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
El documento técnico README.md
tiene que estar escrito
en Markdown y debe
incluir como mínimo los siguientes contenidos:
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.