Recuperar ficheros de una instancia desde un snapshot es un procedimiento un tanto complicado y costoso, ya que para realizar esta operación hay que seguir una serie de pasos.
En este post veremos los pasos de como restaurar ficheros desde un Snapshot, creando desde este un nuevo volumen EBS y adjuntarlo a una instancia en ejecución para poder copiar los ficheros.
El primero de los pasos es ver que en que zona de disponibilidad esta la instancia a la que vamos a adjuntar el nuevo volumen, ya que de están en otra zona diferente, no te la encontrara y no la podrás adjuntar a esta.
En la imagen vemos que la instancia esta en la AZ eu-west-1b.
Una vez que nos quedamos con el dato de la AZ, iremos al Snapshot creado previamente y con botón derecho sobre el snapshot —> Create Volume.
Se iniciará el asistente y desde el desplegable de Availability Zone, seleccionaremos la zona de disponibilidad donde crearemos el nuevo volumen EBS, de aquí la importancia de conocer el dato de la zona de disponibilidad de la instancia donde añadiremos el nuevo volumen.
En el apartado de Tag, añadiremos una etiqueta, este paso es muy recomendado para tener todo bien organizado, hacemos clic en Create Volume.
Creado el volumen, vamos al apartado de volumes, seleccionamos el nuevo volumen creado y botón derecho Attach volume.
Se abrirá la ventana de configuración y en el campo Instance, nos mostrará las instancias que están en esa zona de disponibilidad, como solo tengo una instancia, la seleccionaremos y Attach.
Añadido el volumen a la instancia, nos conectamos por SSH a la instancia y con el comando lsblk -fm comprobaremos que se ha añadido correctamente.
Ahora tendremos que montar el disco en el sistema operativo, ejecutamos sudo mount -t xfs /dev/xvdf /mnt para montar el disco en /mnt.
Puede que nos encontremos con el siguiente error al montar el disco.
Este error se debe a que queremos montar un disco con el mismo UUID que el de la instancia, esto es porque se ha utilizado la misma imagen AMI.
Para solucionar este error, utilizaremos el siguiente comando con la siguiente opción de -o nouuid
Una vez montado, con lsblk -fm, veremos que el disco se ha montado correctamente en el directorio /mnt.
Si hacemos un ls -l /mnt/home/ec2-user ,veremos el contenido del home de usuario del disco montado en /mnt
Visto los ficheros que queremos recuperar, haremos un cp /mnt/home/ec2-user/ficheroarecuperar /home/ec2-user, para copiar el fichero del disco montado al home de destino.
Recuperados los ficheros necesarios, desmontaremos el disco con sudo umount /dev/xvdf1
Desmontado el disco, quitaremos el volumen EBS de la instancia, con botón derecho Detach Volume.
Si este método no os convence mucho, os recomiendo soluciones de terceros de Backup tipo NAKIVO Backup and Replication, un gran producto.
Gracias y espero que os sirva.