Mover Web en Drupal 6 a Amazon Web Services

radykal

Buenas,

Un amigo quiere mover una Web que tiene hecha en Drupal 6 de un dedicado que tiene actualmente hacia AWS.

Su idea inicial de la infraestructura a usar es esta:

  • 1 Elastic Load balancing (para albergar el grupo de auto-escalabilidad)
  • 1 Instancia EC2 para el Webserver (apache+php)
  • 1 Instancia RDS para el MySQL

Esa será la infreaestructura el 99% del tiempo pero en algunas situaciones (debido a algún tipo de post publicado o evento) la Web puede llegar a recibir una avalancha de visitas que actualmente tiran la máquina abajo haciendo impracticable la navegación para todos. De ahí el grupo para escalar y añadir una segunda o incluso tercera instancia EC2 Webserver para atender el boom de visitas.

El gran problema que ni él ni yo encontramos una solución fácil es para el almacenaje de los ficheros (PHP del propio drupal, css, scripts y archivos subidos mediante el gestor...).

Para una única instancia no tendríamos dudas, haríamos un volumen EBS como unidad de inicio del webserver y en él se trabajaría siempre. El problema es al iniciar una segunda instancia, no sabemos como plantear los datos cuando una segunda instancia entra en juego.
Los volúmenes EBS no se pueden montar en más de una instancia a la vez, el almacenamiento S3 parece que a veces tiene un retraso desde que subes / modificas / eliminas algo hasta que ves el cambio reflejado (podría ser un problema para Drupal si intenta verificar las acciones y se encuentra en que no se han realizado o más bien aún no se ha replicado el cambio).

He visto como posible solución añadir un tercer servidor como servidor de los archivos pero en esos momentos en los que un sólo webserver no puede atener a todas las peticiones es muy probable que un solo servidor de fichero tampoco pueda atender a servir los ficheros para todos los webservers....

¿Alguien se ha topado con un dilema similar y nos puede orientar un poquito?

Gracias,

B

#1 Cachea, cachea y cachea. Instale un memcache e implementa cacheo de queries aunque supongo que ya existirá algún módulo para drupal. Esa es la forma más facil de optimizar el rendimiento.

elkaoD

#1 creo que es más importante saber por qué casca la web con muchas peticiones. Se come: ¿memora, cpu, e/s almacenamiento, e/s red? ¿Se sirven muchos estáticos? ¿El tiempo de e/s a disco lo domina la BD?

radykal

Yo creo que la Web no está muy optimizada, el servidor dedicado donde está alojada es bastante simple y el acceso a disco se satura por las consultas a la BD. Él está emperrado en migrar a AWS así que yo, simplemente me limito a ello, la decisión de la migración no es cosa mia.

Usuarios habituales