Pregunta

Pasé el día experimentando con AWS por primera vez. Tengo una instancia EC2 ejecutándose y monté un Elastic Block Store (EBS) para mantener las bases de datos MySQL.

¿Tiene sentido también poner mis archivos de aplicación web en el EBS, o debería simplemente implementarlos en el sistema normal de archivos EC2?

¿Fue útil?

Solución

Cuando dices los archivos de tu aplicación web, no estoy seguro de a qué te refieres exactamente.

Si se refiere a su código implementado, probablemente no tenga sentido usar EBS. Lo que desea hacer es crear una AMI con sus requisitos previos, luego tener un script para crear una instancia de esa AMI e implementar su último código. Le recomiendo que automatice y pruebe este proceso, ya que es fácil olvidarse de alguna configuración que debe cambiar manualmente en algún lugar.

Si está almacenando archivos de datos, que son modificados por la aplicación en ejecución, EBS puede tener sentido. Si esto es algo así como imágenes cargadas por el usuario o similares, es probable que encuentre que S3 le ofrece un modelo mucho más simple.

EBS sería bueno para: bases de datos, índices lucenos, CMS basado en archivos, repositorio SVN o cualquier cosa similar a eso.

Otros consejos

EBS le brinda almacenamiento persistente, por lo que si su instancia EC2 falla, los archivos seguirán existiendo. Aparentemente, su rendimiento de IO es mayor, pero lo probaría para estar seguro.

Si sus archivos van a cambiar con frecuencia (como lo hace un DB) y no desea seguir sincronizándolos con S3 (o en otro lugar), entonces un EBS es una buena manera de hacerlo. Si realiza cambios poco frecuentes y puede sincronizar manualmente (o mediante secuencia de comandos) los archivos según sea necesario, luego guárdelos en S3. Si necesita cerrar o pierde su instancia por cualquier razón, puede retirarlos cuando inicie la nueva instancia. Esto también supone que le importan los costos. Si el costo no es un problema, usar el EBS es menos complicado. No estoy seguro de si planea tener un EBS separado para su base de datos y sus archivos web, pero si solo planea tener un EBS y tiene suficiente espacio vacío para sus archivos web, nuevamente, el EBS es menos complicado . Si lo que le preocupa es el rendimiento, como se mencionó, es mejor probar su aplicación en particular.

Nuestro enfoque es tener un script preinstalado en nuestro AMI que obtenga la última y mejor versión del código desde el control de origen. Eso hace que sea muy sencillo lanzar nuevas instancias rápidamente o actualizar todas las instancias en ejecución (las sacamos de la rotación de equilibrio de carga de una en una, ejecutamos el script y las ponemos nuevamente en la rotación).

ACTUALIZACIÓN:

Al leer entre líneas, parece que está montando un volumen EBS separado en una instancia respaldada por el almacén de instancias. AWS introdujo recientemente instancias respaldadas por EBS que tienen un montón de beneficios en comparación con las antiguas tiendas de instancias. Sin embargo, sigo montando mis datos MySQL en una partición EBS separada, para poder montarlos fácilmente en un servidor diferente si es necesario.

Recomiendo encarecidamente una instancia respaldada por EBS con un volumen EBS separado para los datos de MySQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top