Estrategia de copia de seguridad de Amazon EC2

14

Tengo un par de configuraciones de servidor web / servidor de base de datos que utilizan EC2 de Amazon. Actualmente estoy tomando instantáneas diarias de todo mi sistema y unidades EBS que contienen todos mis archivos de aplicación, archivos DB, código fuente y copias de seguridad de DB. Tengo una aplicación de consola que ejecuta las creaciones de copia de seguridad en un horario. Mis imágenes son imágenes de EBS.

Estoy trabajando en una tarea que dejará caer mis instantáneas después de tantos días. Supongo que mi pregunta es: ¿debería / también puedo programar una tarea completa de imagen / EBS? De esta manera, si el servidor falla o está dañado, puedo iniciar la última imagen y luego aplicar la última instantánea.

Mientras estoy trabajando en mi estrategia de copia de seguridad, estoy usando Jungle Disc para hacer una copia de seguridad de mis discos de datos.

Jim
fuente

Respuestas:

23

Mis recomendaciones:

  1. Siempre documente y / o escriba la configuración de cada nueva instancia para que pueda reproducir la instalación del software y la configuración del sistema en caso de que pierda la instancia. Pruebe esto iniciando una nueva instancia y siguiendo el procedimiento. Puede usar una AMI privada personalizada si la instalación lleva mucho tiempo y necesita iniciar instancias rápidamente, pero esa AMI en sí misma debe construirse utilizando un procedimiento documentado y / o programado.

  2. Mantenga sus datos importantes en volúmenes EBS separados y no en el volumen EBS raíz. Esto tiene muchos beneficios, como facilitar la transferencia de sus datos a nuevas instancias (por ejemplo, basadas en diferentes AMI) y facilitar la obtención de copias de sus datos en otras instancias (por ejemplo, con instantáneas y nuevos volúmenes).

  3. Cree instantáneas regulares de los volúmenes de datos de EBS. Si es posible / aplicable, use una herramienta como mi instantánea ec2-consistente para mejorar las posibilidades de que esté tomando una instantánea de un sistema de archivos / base de datos consistente. Haga una copia de seguridad de los datos fuera de AWS / EC2, ya que su cuenta de AWS en sí es un punto único de falla.

  4. Cree instantáneas del volumen raíz de EBS de vez en cuando en casos importantes. Aunque esto puede ayudarlo en caso de falla de la instancia o del volumen de EBS, esa parte no es tan crítica debido a los puntos 1 y 2 anteriores. La razón principal por la que hago esto es que la creación de instantáneas reduce el riesgo de falla del propio volumen raíz de EBS.

La tasa de falla de un volumen EBS está directamente relacionada con el número de bloques que se han modificado en ese volumen desde la última instantánea de EBS.

Eric Hammond
fuente
¿Cuál es su recomendación para hacer una copia de seguridad de los datos fuera de EC2? ¿Estrategia o herramienta que recomiendas?
csi
@ChristopherIckes: Soy fanático de lo que sea que funcione para ti. Rsync es simple y funciona para mí.
Eric Hammond
1

¿Debería / puedo también programar una tarea completa de imagen / EBS?

Sí, es aconsejable. Una vez me salvó, porque tuve que restablecer muchas veces debido a problemas del kernel, hasta que el disco de arranque ya no era legible y simplemente arranqué desde la última instantánea.

Si está interesado, escribí una clase Java para capturar todos los volúmenes EBS conectados y también eliminarlos después de un cierto tiempo. Actualmente hago una copia de seguridad cada semana y descarto la tercera copia de seguridad después de dos semanas.

https://github.com/stivlo/obliquid-cp/blob/master/src/main/java/org/obliquid/sherd/runner/RequestSnapshots.java

Realiza solo una acción por ejecución, como tomar o eliminar una instantánea, ya que está destinado a colocarse en un cron cada hora para evitar sobrecargarse con decenas de instantáneas al mismo tiempo en caso de que tenga muchas EBS como yo.

stivlo
fuente
0

Utilizamos una estrategia de copia de seguridad simple pero potente: cree una nueva AMI en base a la ejecución de instancias EBS EC2 dos veces al día y elimine las AMI "antiguas". A través de la API (CreateImage), puede establecer la bandera de no reiniciar la instancia al crear una nueva AMI o, si usa el software raid - ssh para instanciar antes de la llamada a la API CreateIImage y congelar el sistema de archivos con "fsfreeze" en los sistemas de archivos más populares en nuevos núcleos o xfs_freeze si usa kernel antiguo y xfs.

El "AMI" de respaldo creado recuerda todos los discos EBS de la instancia en ejecución original conectados (a través de enlaces a instantáneas creadas) y, en el caso de usar ataques de software con múltiples discos, permite restaurar una nueva instancia en cualquier AZ simplemente con una llamada API o a través de la web -interfaz.


fuente