EBS/RDS Snapshots

¿Cómo funcionan los EBS snapshots?

Los snapshots de EBS son incrementales (excepto el primero que hagas sobre un volumen EBS); únicamente incluyen los bloques modificados desde el último snapshot. Cada snapshot contiene la información necesaria para hacer un restore completo de tus datos hasta el momento de hacer el snapshot, es decir, contiene referencias a los snapshot anteriores, lo que permite realizar un full restore (hasta el momento de hacer el snapshot) a partir de ese determinado snapshot.

[Fuente]

¿Se puede eliminar un snapshot EBS de forma segura?

Cuando eliminas un snapshot, solamente se eliminan los datos únicos de ese snapshot. Es importante recalcar que aunque el snapshot se elimine, los datos referenciados por otros snapshots se mantendrán. A la práctica ésto significa que si no necesitas poder hacer restores desde las fechas/horas específicas en las que se realizaron los diferentes snapshots, puedes eliminarlos todos excepto el último, que aun así podrás realizar un restore completo.

[Fuente]

Restaurando un snapshot

Cuando creas un volumen EBS a partir de un snapshot, el nuevo volúmen empieza como una réplica exacta del volumen original del que se creó el snapshot. Los datos se van cargando en el nuevo volúmen en background, con lo que puedes empezar a usar el nuevo volúmen inmediatamente. Si intentaras acceder a datos que aun no se han cargado, el volúmen inmediatamente descargará esos datos de S3 y tras ello continuará con la carga de datos en background.

¿Y qué pasa con RDS?

Cuando se realiza un snapshot de un RDS, la base de datos sufrirá un impacto en la I/O durante un breve periodo de tiempo (mientras se realize el snapshot). Si el snapshot se realiza en una instancia Multi-AZ, éste se realizará en uno de los nodos standby, con lo que la base de datos no sufrirá este impacto de I/O.

Al parecer, no se recomienda realizar dos snapshots uno tras otro (en un muy corto periodo de tiempo) pues aunque mirando la consola de AWS pueda parecer que el primer snapshot se ha completado, es probable que haya operaciones internas aun ejecutándose. Si lanzáramos un segundo snapshot en ese momento, éste esperaría a que las operaciones internas hayan acabado antes de iniciar el segundo snapshot, con lo que añadiríamos un tiempo extra al proceso.

Cuando eliminamos una instancia de RDS, todos los snapshots automáticos se eliminarán pero se mantendrán los snapshots que hayamos realizado de forma manual. Además, en el momento de terminar la instancia nos dará la opción de realizar un último snapshot, el cual sí se mantendrá tras la eliminación de la instancia.

Me queda por confirmar si los snapshots manuales/automáticos son incrementales entre sí, y qué pasa con el “final snapshot” al eliminar un RDS; al eliminar todos los snapshots incrementales… ¿es éste un full snapshot? ¿es incremental respecto al último snapshot manual?

[Fuente]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *