¿Debo y cómo hago una copia de seguridad de mi base de datos para una aplicación web alojada en un servidor Amazon EC2?

¿Debo y cómo hago una copia de seguridad de mi base de datos para una aplicación web alojada en un servidor Amazon EC2?

ConfiguroAmazon EC2instancia usando la edición del servidor Ubuntu, e instalé elLÁMPARAapilar sobre él. Creé una aplicación web PHP que se ejecuta en MySQL. Probé la aplicación web en Amazon EC2 y funciona.

No lo he lanzado oficialmente, pero necesito saber esto antes de hacerlo. ¿Debo hacer una copia de seguridad de los datos de mi base de datos? Si es así, ¿cómo debería hacerlo de la forma más rentable posible?

Anteriormente, para otra aplicación web, escribí un script Perl o Bash (no lo recuerdo) que será ejecutado porcrondiariamente.

Luego, el script hará una copia de seguridad de la base de datos en un solo .sqlarchivo y lo enviará como archivo adjunto de correo electrónico a mi cuenta de Gmail.

Esa aplicación web estaba en alojamiento compartido, por lo tanto, estaba bastante seguro de que necesitaba hacer una copia de seguridad de mi base de datos. Mis archivos están en el repositorio de Git, así que eso no me preocupa.

Para esta nueva aplicación web enServicios web de Amazon(AWS), estoy indeciso porque:

  1. No creo que sea una buena solución ya que los datos enviados por correo electrónico no son seguros. Hasta donde puedo recordar, no hay SSL, aunque era una solución barata. Gratis. Fácilmente recuperable por fecha.

  2. Es posible que Amazon haya hecho que sea redundante para mí hacer copias de seguridad porque ya lo hacen. Todo lo que necesito saber es cómo recuperarlo en caso de desastre (toco madera)

    • (Sospecho) que existe una forma superior y rentable de realizar copias de seguridad utilizandoamazon s3.
  3. Permito que los usuarios carguen archivos, por lo que también necesito hacer una copia de seguridad de esos archivos de alguna manera. Lo cual no sé cómo y nunca lo he hecho antes de ninguna forma.

Lo que quiero: una copia de seguridad diaria de mi base de datos y archivos de imágenes lo más rentable posible y una guía clara paso a paso para implementarla y recuperarlos en caso de desastre.

Fondo:

  • No estoy totalmente familiarizado con AWS. Solo sepa lo necesario para configurar una cuenta. Eso es todo.

  • << Un año de experiencia como alguien novato en Ubuntu. La mayor parte de mi vida en Windows.

  • Principalmente íntimo con la programación PHP. El dominio de otros lenguajes de programación no es tan bueno debido a la falta de uso.

Respuesta1

Amazon mantiene los archivos de su base de datos en un almacenamiento redundante, pero solo proporciona información limitada sobre cómo está configurado, por lo que tendrá que formarse su propia opinión sobre si esto es adecuado o no para sus necesidades. Sin embargo, no conservan versiones antiguas, por lo que esto sólo le protegerá contra fallos de hardware y no contra errores del usuario de algún tipo (que es más probable que un fallo de hardware).

Además, tenga en cuenta que si su servidor EC2 está en un almacén de instancias, los datos se borrarán si alguna vez se detiene el servidor. Para un almacenamiento persistente, sus datos deben estar en un volumen de Elastic Block Storage (EBS). Una vez que esté en un volumen de EBS, puede tomar instantáneas periódicas (manualmente o automatizadas usando la API de Amazon) que luego le permitirán volver a versiones anteriores. El SDK de AWS para PHP es bastante bueno y puede encontrarlo aquí:http://aws.amazon.com/sdkforphp/.

Respuesta2

Amazon tiene muchos servicios, a veces puede resultar confuso con todas las diferentes tecnologías. Tenga en cuenta que Amazon está creando todos estos servicios para solucionar problemas específicos.

Hacer una copia de seguridad de MySQL en S3 es muy común y está bien documentado en muchos blogs. Recomiendo seguir la guía aquí.http://agiliq.com/blog/2009/02/automatically-backup-mysql-database-to-amazon-s3-u/

Nunca asuma nada, S3 está diseñado para un dispositivo de almacenamiento tolerante a fallas, pero eso no me impediría hacer una copia de seguridad de todo localmente en mi computadora o con algún otro proveedor. Los volúmenes de EBS no son lo suficientemente confiables como para ser el único dispositivo de almacenamiento para su copia de seguridad y mucho menos si su base de datos también está almacenada en el mismo disco.

Cualquiera que sea el método que elijas, seguiría los siguientes pasos al realizar tu copia de seguridad.

  1. Crear copia de seguridad diariamente
  2. Envíe una copia de seguridad a S3 (asegúrese de utilizar la suma de comprobación MD5 para saber que su copia de seguridad es buena)
  3. Descargue la copia de seguridad desde S3 localmente o en otro proveedor que no sea S3
  4. Limpiar copias de seguridad antiguas utilizando un historial de tipo de copia de seguridad continuo
    • Almacenar una copia de seguridad de los últimos 7 días
    • Almacene una copia de seguridad del viernes de cada semana durante 1 mes
    • Almacenar una copia de seguridad del último mes durante 1 año

información relacionada