Escalado de la nivel web - Prácticas recomendadas para WordPress en AWS

Escalado de la nivel web

Para convertir su arquitectura de un solo servidor en una arquitectura escalable y de varios servidores, debe usar cinco componentes clave:

  • Instancias de Amazon EC2

  • Imágenes de Amazon Machine (AMI)

  • Equilibradores de carga

  • Escalado automático

  • Comprobaciones de estado

AWS ofrece una amplia variedad de tipos de instancias de EC2 de modo que puede elegir la mejor configuración de servidor en cuanto a rendimiento y coste. En términos generales, el tipo de instancia optimizado para computación (por ejemplo, C4) puede ser una buena opción para un servidor web de WordPress. Puede implementar sus instancias en varias zonas de disponibilidad dentro de una región de AWS para aumentar la fiabilidad de la arquitectura general.

Como tiene control completo de su instancia de EC2, puede iniciar sesión con acceso raíz para instalar y configurar todos los componentes del software requeridos para ejecutar el sitio web de WordPress. Una vez hecho esto, puede guardar esa configuración como una nueva AMI, que puede utilizar para lanzar nuevas instancias con todas las personalizaciones que ha realizado.

Para distribuir las solicitudes del usuario final a varios nodos de servidor web, necesita una solución de balanceador de carga. AWS proporciona esta capacidad a través de Elastic Load Balancing, un servicio de alta disponibilidad que distribuye el tráfico entre varias instancias de EC2. Como su sitio web entregará contenido a los usuarios a través de HTTP o HTTPS, recomendamos que use Application Load Balancer, un equilibrador de carga de capa de aplicación con enrutamiento de contenido y la capacidad de ejecutar varios sitios web de WordPress en distintos dominios de ser necesario.

Elastic Load Balancing admite la distribución de numerosas solicitudes en varias zonas de disponibilidad dentro de una región de AWS. También puede configurar una comprobación de estado de modo que Application Load Balancer detenga automáticamente el envío de tráfico a instancias individuales que han producido errores (por ejemplo, debido a un problema de hardware o bloqueo de software). AWS recomienda utilizar la página de inicio de sesión de administrador de WordPress (/wp-login.php) para la comprobación de estado, porque esta página confirma que el servidor web se está ejecutando y que está configurado para entregar correctamente archivos PHP.

Tiene la posibilidad de crear una página de comprobación de estado personalizada que compruebe otros recursos dependientes, como recursos de base de datos y caché. Para obtener más información, consulte Comprobaciones de estado de los grupos de destino en la Guía de Application Load Balancer.

La elasticidad es una característica clave de la nube de AWS. Puede lanzar más capacidad de computación (por ejemplo, servidores web) cuando la necesite y ejecutar menos cuando no la necesite. AWS Auto Scaling es un servicio de AWS que le ayuda a automatizar este aprovisionamiento para aumentar o reducir la capacidad de Amazon EC2 según las condiciones que defina sin necesidad de intervención manual. Puede configurar AWS Auto Scaling para que la cantidad de instancias de EC2 que utiliza aumente sin problemas durante los picos de demanda para mantener el rendimiento y que disminuya automáticamente cuando el tráfico se reduzca con el objetivo de minimizar los costes.

Elastic Load Balancing también admite adiciones dinámicas y la eliminación de hosts de Amazon EC2 de la rotación de equilibrio de carga. El propio Elastic Load Balancing también aumenta y disminuye dinámicamente la capacidad de equilibrio de carga para ajustarse a las demandas del tráfico sin ninguna intervención manual.