Cómo tomar una instantánea de la instancia de EC2 para la protección de datos de AWS EC2

Si estás utilizando Amazon Web Services (AWS) para ejecutar instancias de EC2 (máquinas virtuales) en Elastic Compute Cloud, tienes varias formas de proteger tus cargas de trabajo contra la pérdida de datos causada por fallas de software, infección por malware, eliminaciones accidentales, entre otras cosas. Una opción disponible para ti es la función de copia de seguridad integrada de AWS para instancias de EC2 llamada instantáneas de EBS. Esta publicación de blog explica cómo crear una instantánea de una instancia de EC2 utilizando instantáneas de volumen de EBS con ejemplos detallados del proceso de configuración.

¿Qué son las instantáneas de EBS?

Las instantáneas de EBS son copias incrementales de un volumen de Elastic Block Store (EBS) que se almacenan en Amazon S3. Esto significa que cuando creas una instantánea de EBS por primera vez, se crea una copia de seguridad completa y solo se copian los datos modificados para las instantáneas de EBS subsiguientes. Los volúmenes de EBS son discos virtuales adjuntos a las instancias de EC2.

Aunque las instantáneas de EBS se almacenan en Amazon S3, no puedes acceder a las instantáneas en el almacenamiento de S3 manualmente. Puedes gestionar estas instantáneas en la Consola de administración de EC2.

Nota: A veces también se utilizan los términos instantánea de AWS EC2 e instantánea de Amazon para referirse a las instantáneas de EBS.

Cómo funcionan las instantáneas de EBS

Las instantáneas de EBS son copias de seguridad a nivel de bloque de los datos de la instancia de EC2 que representan el volumen de EBS en el momento específico en que se emitió el comando de instantánea. Esto significa que si la instancia está en ejecución, los bloques de datos escritos en los volúmenes de EBS después de la iniciación de la toma de instantánea no se guardan en la instantánea. Como resultado, las instantáneas de EBS son coherentes en caso de fallo y no coherentes con la aplicación.

Tenga en cuenta que las instantáneas de EBS no son lo mismo que las instantáneas en el contexto de VMware vSphere y Microsoft Hyper-V. Las instantáneas de Hyper-V y VMware no son copias de seguridad y no pueden reemplazar copias de seguridad adecuadas.

Sin embargo, existen limitaciones en las instantáneas de EBS, que incluyen la falta de opciones de programación y retención, la imposibilidad de crear copias locales, así como la complejidad de crear una instantánea de EC2 coherente con la aplicación para simplificar la recuperación.

Cómo crear una instantánea en la consola de AWS para instancias de EC2

La Consola de administración de AWS es la interfaz web GUI utilizada para gestionar todos los recursos informáticos, de almacenamiento y otros recursos de AWS, incluida la creación de instantáneas de EBS.

Para acceder a la instancia de EC2 para la cual desea crear una instantánea:

  1. Inicie sesión en la Consola de administración de AWS utilizando una cuenta que tenga los permisos necesarios para crear instancias de EC2, volúmenes de EBS e instantáneas de EBS.
  2. Haz clic en Servicios y en la sección Calcular, haz clic en EC2 para abrir la consola de administración de instancias EC2, volúmenes de EBS y otras características de EC2.

Hemos preparado una instancia EC2 para demostrar los pasos para crear instantáneas de EBS. Los parámetros de nuestra instancia EC2, que vamos a respaldar y recuperar usando instantáneas de EBS, son los siguientes:

Nombre: blog-temp

ID de instancia EC2: i-0071290000000cb84

Tipo de instancia: t2.micro

Zona de disponibilidad: eu-central-1c

Volumen EBS 1: vol-0617000000000763c

Tipo de volumen: gp2

Tamaño del volumen: 8 GB

El sistema operativo invitado (SO) que se ejecuta en la instancia EC2 es Ubuntu Server (Linux).

Escribir archivos en el volumen EBS

Creemos dos archivos en el disco virtual adjunto a la instancia EC2 antes de crear una instantánea. De esta manera, podemos comprobar si estos archivos se recuperan después de restaurar la instancia desde la instantánea de EBS. Creamos dos archivos en el directorio de inicio del usuario:

lspci > file01.txt

echo "test EC2 snapshot 01" > snapshot01.txt

Preparando la instancia

Detén la instancia EC2 para asegurarte de que la instantánea contenga datos consistentes. La razón de esto es que los volúmenes EBS funcionan a nivel de bloque. Cuando se toma una instantánea de EBS, se guarda el estado del volumen EBS en ese momento en el tiempo. Los bloques de almacenamiento se guardan tal cual. El sistema no es consciente de las operaciones realizadas con archivos a nivel del sistema de archivos en ese momento. Si se están escribiendo archivos en un volumen EBS cuando se toma una instantánea, la instantánea contendrá datos inconsistentes. El efecto es similar a desconectar un cable de alimentación de una computadora física mientras se están escribiendo archivos.

Si deseas tomar una instantánea de un volumen EBS no del sistema, puedes desmontar el sistema de archivos del sistema operativo para asegurarte de que no haya operaciones de escritura de archivos en el volumen. La hibernación debe estar deshabilitada para que la instancia EC2 pueda tomar una instantánea.

Para preparar tu instancia EC2 para tomar una instantánea:

  1. Abre la página con la lista de instancias EC2 en la consola de administración de EC2. Haz clic derecho en el nombre de la instancia y, en el menú contextual, haz clic en Detener instancia.

  1. Localiza el volumen utilizado por la instancia EC2. Haz clic en la pestaña Almacenamiento y haz clic en el ID del volumen del volumen EBS apropiado (vol-0617000000000763c en nuestro caso).

Tomar una instantánea

Estamos listos para crear una instantánea de la instancia EC2:

  1. Selecciona el volumen EBS (haz clic en la casilla de verificación en el lado izquierdo de la línea) y haz clic en Acciones > Crear instantánea.

  1. Ingresa una descripción, configura la configuración de cifrado y agrega una etiqueta. Utilizo los siguientes parámetros:
  • Descripción: Instantánea de EBS blog 01
  • No encriptado

Haz clic en Crear Instantánea.

Nota: Utilizamos el volumen no encriptado y creamos una instantánea no encriptada. En este caso, la configuración de encriptación para la instantánea puede establecerse manualmente. Cuando tomas una instantánea de un volumen encriptado, la instantánea se encripta automáticamente.

  1. Deberías ver el siguiente mensaje y el ID de la instantánea:

Solicitud de Creación de Instantánea Exitosa
snap-0778000000000ab40

Haz clic en el ID de la instantánea para abrir una página con las opciones y el estado de la instantánea.

  1. El estado de la instantánea pendiente significa que los datos del volumen EBS se están transfiriendo ahora a Amazon S3. Espera a que se complete la creación de la instantánea (el estado cambia a completado). El tiempo depende del tamaño de los datos guardados en la instantánea.

Cómo Tomar Instantáneas de Múltiples Volúmenes

Es común encontrar una instancia de EC2 usando múltiples volúmenes EBS. En este caso, puedes crear una instantánea de varios volúmenes para todos los volúmenes EBS adjuntos a esa instancia EC2 para una copia de seguridad de Amazon EC2.

En esta sección, cubriremos:

Creando un segundo volumen EBS para la instancia EC2

Primero agreguemos un segundo volumen EBS a nuestra instancia EC2, que estamos usando con fines de demostración:

  1. En el panel de navegación de la consola de administración de EC2, vaya a Elastic Block Store > Volúmenes. Haga clic en Crear volumen.

  1. Para Zona de disponibilidad, la región debe ser la misma que la región de la instancia (eu-central-1c en nuestro caso).

Ingrese el tipo/tamaño del volumen, configure las opciones de cifrado e ingrese etiquetas. Las etiquetas ayudan a encontrar el volumen en la lista de volúmenes. Establecemos el tamaño del volumen en 1 GiB y usamos las siguientes etiquetas:

  • Clave: blog

  • Valor: volumen temporal 2

Haga clic en Crear volumen.

  1. Recuerde (o anote) el ID del volumen (vol-0b4a0000000003d01 en nuestro caso). Haga clic en el ID del volumen para abrir las propiedades del volumen.

  1. Adjunte el volumen a la instancia EC2. Haga clic con el botón derecho en el volumen o haga clic en Acciones y, en el menú que se abre, haga clic en Adjuntar volumen.

  1. Seleccione la instancia a la que necesita adjuntar el volumen EBS. Debe seleccionar el ID de instancia de EC2. En nuestro caso, el ID de instancia es i-0071290000000cb84.

Puede seleccionar el dispositivo en el sistema operativo invitado utilizado para acceder al volumen adjunto. En nuestro caso, se utiliza /dev/sdf.

Haga clic en Adjuntar para adjuntar el nuevo volumen a la instancia EC2.

Nota: La información útil sobre el cambio de nombres de los dispositivos de disco se muestra en la nota. En nuestro caso, /dev/sdf se renombra como /def/xvdf en el sistema operativo invitado.

Ahora están adjuntos dos volúmenes a nuestra instancia EC2 (blog-temp):

vol-0617000000000763c

vol-0b4a0000000003d01

Escribiendo datos en el segundo volumen de EBS

A continuación, crearemos un archivo en el segundo volumen de EBS. Este archivo se utilizará para verificar si todos los datos se han recuperado después de restaurar el volumen desde el snapshot de EBS. Por esta razón, crearemos una partición, crearemos un sistema de archivos y montaremos el sistema de archivos en el sistema operativo Linux invitado que se ejecuta en la instancia EC2.

Aunque nos enfocamos en operaciones con snapshots de EBS en lugar de operaciones en el sistema operativo Linux invitado que se ejecuta en la instancia EC2, enumeramos los comandos utilizados para comprender mejor las operaciones con volúmenes.

Gestión de almacenamiento

  • Usa lsblk para mostrar detalles sobre los dispositivos de bloque en Linux.
  • Usa df -h para verificar el espacio de almacenamiento en los discos montados.
  • Usa mount para verificar los discos montados.

Creación y montaje de una partición

Crear y formatear una partición en el segundo volumen de EBS en parted:

sudo parted -l

parted /dev/xvdf

(parted) mklabel msdos

(parted) print

(parted) mkpart primary ext4 1MB 955MB

(parted) print

(parted) quit

Creando un sistema de archivos en la partición preparada:

mkfs.ext4 /dev/xvdf1

Creando el directorio para usar como punto de montaje:

mkdir disk2

Montando la partición con el sistema de archivos en el directorio creado:

mount /dev/xvdf1 /disk2/

Yendo al directorio de la partición montada:

cd /disk2

Escribiendo cambios en los 2 volúmenes de EBS

  1. Crear el archivo en la partición ubicada en el segundo volumen de EBS adjunto a la instancia EC2 que ejecuta Linux:

echo “Instantánea EBS para disco 2” > /disk2/d2-file01.txt

  1. Hacer cambios en el primer disco para crear una nueva instantánea de EBS del primer volumen usado por la instancia EC2. Ambos volúmenes deben contener cambios desde el estado en que se tomó la instantánea anterior.

Creamos el archivo snapshot02.txt en el primer volumen para detectar cambios guardados en la nueva instantánea del primer volumen de manera más conveniente.

Una vez que los dos volúmenes de EBS con nuevos datos están adjuntos a la instancia EC2, podemos crear instantáneas de varios volúmenes.

Creando la instantánea de varios volúmenes

  1. Ir a Elastic Block Store > Instantáneas en el panel de navegación de la página de gestión de instancias EC2. Hacer clic en Crear instantánea.

  1. Seleccionar tipo de recurso: Instancia.
  2. Introducir el ID de la instancia EC2 necesaria cuyos volúmenes se desean respaldar mediante instantáneas de EBS.

Todos los volúmenes adjuntos a la instancia seleccionada se seleccionan automáticamente.

  1. Introducir una descripción para ayudar a encontrar la instantánea de EBS en AWS cuando sea necesario. En nuestro ejemplo, la descripción es Instantánea EBS blog 02.
  2. Seleccionar la casilla Copiar etiquetas del volumen si se desean utilizar las etiquetas asignadas a los volúmenes de EBS.
  3. Una vez hecho clic en Crear instantánea, se crean instantáneas para todos los volúmenes seleccionados.

Si el proceso es exitoso, se verá el siguiente mensaje:

Solicitud de Creación de Instantánea Exitosa

Se muestran dos identificadores de instantánea de Amazon: snap-0f95000000000de71 y snap0a91000000000769b en nuestro caso.

Se pueden guardar estos valores de ID y hacer clic en uno de ellos para comprobar el estado de creación de la instantánea. Justo después de iniciar la creación de la instantánea, el estado de la operación es pendiente y cambia a completado una vez que el proceso ha finalizado.

A new snapshot for each volume has been created.

Usar AWS CLI para Crear Instantáneas

Se puede utilizar AWS CLI como alternativa a la Consola de Administración de AWS si se prefiere la interfaz de línea de comandos o si se necesita automatizar la creación de instantáneas.

El comando para crear un snapshot de EBS en AWS CLI es:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "Este es un snapshot de prueba para el blog"

La salida debería lucir así:

{

    "Descripción": "Este es un snapshot de prueba para el blog",

    "Etiquetas": [],

    "Encriptado": false,

    "Id de volumen": "vol-0b4a51e1cea333d01",

    "Estado": "pendiente",

    "Tamaño de volumen": 8,

    "Hora de inicio": "2021-08-28T21:06:01.000Z",

    "Progreso": "",

    "Id de propietario": "012345678910",

    "Id de snapshot": "snap-0689749a39a7b822b"

}

El comando para crear un snapshot con etiquetas:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description 'Copia de seguridad de producción' --tag-specifications

'Tipo-de-recurso=snapshot,Etiquetas=[{Clave=Blog,Valor=Prueba},{Clave=AWS,Valor=EC2-snapshot}]'

Cómo restaurar una instancia de EC2 utilizando snapshots de EBS

Hemos creado snapshots de los volúmenes de EBS adjuntos a la instancia de Amazon EC2. Estos snapshots son una forma de respaldo de datos en AWS. Ahora veamos cómo crear una instancia de EC2 a partir de un snapshot mediante la restauración:

  • volúmenes de EBS particulares en AWS
  • la instancia completa de EC2

Restaurar el segundo volumen de EBS

Vamos a restaurar el segundo volumen EBS (de 1 GiB) desde la instantánea. Este volumen se utiliza para almacenar archivos y el sistema operativo no está instalado en este volumen.

  1. En la barra de navegación de la consola de administración de EC2, vaya a Elastic Block Store > Instantáneas.

Ingresamos ” blog ” en el campo de búsqueda para mostrar todas las instantáneas creadas para los volúmenes EBS de la instancia de EC2 utilizada para escribir esta publicación de blog. Este es un ejemplo de por qué vale la pena agregar descripciones y etiquetas.

  1. Seleccione la instantánea del volumen de 1 GiB y cree un nuevo volumen a partir de la instantánea. Haga clic con el botón derecho en la instantánea y, en el menú que se abre, presione Crear Volumen.

  1. Defina los parámetros de volumen necesarios en la página Crear Volumen: seleccione el tipo de volumen y defina el tamaño del volumen, la zona de disponibilidad, las opciones de cifrado, las claves de etiquetas y los valores.

La zona de disponibilidad debe ser la misma que la de la instancia de EC2 (eu-central-1c en nuestro caso).

El tamaño del volumen es el mismo que el del volumen original respaldado (1 GiB) en nuestro ejemplo.

La clave de etiqueta es blog y el valor es volumen recuperado 1.

  1. Presione Crear Volumen para finalizar y crear el volumen EBS utilizando la instantánea EBS.

Verá el siguiente mensaje:

Solicitud de creación de volumen exitosa

Puede guardar el ID del volumen. El nuevo ID de volumen es vol-09cd000000000b502 en nuestro caso.

Restaurar un volumen de sistema

Para restaurar una instancia de EC2, necesitas restaurar el volumen EBS en el que se instala el sistema operativo. En este caso, puedes crear una imagen a partir de la instantánea del volumen EBS utilizado por el sistema operativo invitado y lanzar la instancia utilizando esta imagen (la instancia de EC2 restaurada).

Creando la imagen

  1. En la consola de administración de EC2, ve a Elastic Block Store > Snapshots y selecciona la instantánea necesaria del volumen EBS en el que se instala el sistema operativo invitado.

Seleccionamos la instantánea más reciente del volumen de 8 GiB utilizado por el sistema operativo invitado (Ubuntu Server). Esta instantánea de volumen EBS se creó cuando creamos la instantánea de múltiples volúmenes para la instancia de EC2.

Haz clic con el botón derecho en la instantánea y, en el menú que se abre, selecciona Create Image.

  1. En la ventana que se abre, introduce la información necesaria y selecciona las opciones para crear una imagen a partir de la instantánea EBS. Utilizamos los siguientes parámetros.

Nombre: blog-recuperado

Descripción: Restaurado a partir de una instantánea EBS (blog)

Otras configuraciones se dejan con sus valores predeterminados.

Selecciona Crear.

  1. Se abre el cuadro de diálogo Solicitud de creación de imagen recibida. Haz clic en el ID de la imagen para ver información sobre la imagen (ami-08ed800000000872a en nuestro caso). Espera a que se complete la creación de la imagen.

Lanzando la imagen

Una vez creada la imagen, haz clic con el botón derecho en la imagen y selecciona Lanzar.

El nuevo asistente de creación de instancias EC2 se abre. Debes seleccionar las opciones de la instancia. Puedes seleccionar las opciones que sean iguales a las seleccionadas para la VM original que fue respaldada. También puedes restaurar la instancia a una nueva instancia EC2 más potente.

Nota: Somos redirigidos al Paso 2 del asistente (en lugar de Paso 1. Elegir AMI) ya que ya hemos seleccionado la AMI blog-recovered de la página con la lista de AMIs.

Paso 2: Elegir un Tipo de Instancia. Seleccionamos t2.micro como el tipo de instancia. Haz clic en Siguiente en cada paso del asistente para continuar.

Paso 3: Configurar la Instancia. Configura los detalles según tus requisitos, incluidos los ajustes de red, roles de IAM, comportamiento de apagado, etc.

Paso 4: Agregar Almacenamiento es importante cuando se recupera una instancia EC2 utilizando instantáneas de EBS. Haz clic en Agregar Nuevo Volumen. Se agrega una nueva línea con opciones de volumen en esta página. Ingresa el ID de la instantánea del volumen necesario en el campo Instantánea.

Ingresamos snap-0a91000000000769b, que es el ID de nuestra instantánea del volumen de 1 GiB. El tamaño de 8 GiB del volumen se selecciona automáticamente en nuestro ejemplo. Podemos establecer el tamaño del volumen en 1 GiB como se configuró para el volumen EBS original. También puedes seleccionar el dispositivo de almacenamiento, el tipo de volumen, la encriptación y las opciones de eliminación al terminar.

Paso 5: Agregar Etiquetas. Asegúrate de que las etiquetas sean útiles para fines de búsqueda. Las etiquetas se aplican a todos los volúmenes e instancias. En este ejemplo, la clave de la etiqueta es blog y el valor es VM recuperada 01.

Paso 6: Configurar Grupo de Seguridad. Edita los parámetros para controlar el tráfico de red para tu instancia EC2.

Paso 7: Revisar Lanzamiento de Instancia. Revisa los detalles de lanzamiento de tu instancia y haz clic en Lanzar para finalizar. Debes seleccionar un par de claves o crear uno nuevo para acceder a la instancia EC2.

  1. La página de Estado de Lanzamiento se muestra ahora. Haz clic en Ver instancias.

  1. Ingresa un nombre para la instancia recuperada (blog-recuperada en nuestro caso). El estado de la instancia E2 recuperada es ejecutándose. Ambos volúmenes de EBS recuperados de los instantáneos de EBS están adjuntos a la instancia EC2 (ver la captura de pantalla abajo).

Verificación de los archivos restaurados

Veamos si los archivos creados antes de tomar el último instantáneo han sido recuperados:

Lista los dispositivos de bloque adjuntos:

lsblk

Lista los archivos del directorio actual (home) del usuario:

ls -al

Los archivos snapshot01.txt y snapshot2.txt creados antes de tomar el primer y segundo instantáneo del volumen EBS en el que está instalado el sistema operativo están presentes.

Monta la partición ubicada en el segundo disco (volumen EBS):

sudo mount /dev/xvdb1 /disk2/

El nombre de la partición se ha cambiado a /dev/xvdb1. Tenga en cuenta que puede necesitar editar /etc/fstab después de restaurar la instancia para el montaje automático.

ls -al /disk2/

d2-file01.txt está presente en el sistema de archivos almacenado en el segundo volumen EBS después de la restauración.

La instancia de AWS EC2, con todos los volúmenes EBS adjuntos, se ha restaurado con éxito a partir de instantáneas EBS. Todos los datos necesarios están preservados.

Conclusión

Puede hacer una copia de seguridad de un solo volumen o de todos los volúmenes utilizando instantáneas de varios volúmenes. Esta es una funcionalidad nativa muy útil de AWS para la protección de datos y la recuperación ante desastres. Sin embargo, tenga en cuenta que se incurre en costos adicionales al almacenar instantáneas EBS en la nube de Amazon porque se utiliza almacenamiento en la nube adicional. Además, hay otras limitaciones para usar instantáneas EBS para copias de seguridad, como el sistema de creación de instantáneas no está al tanto de los archivos que se están escribiendo en el momento en que se toma la instantánea. Como resultado, las copias de seguridad realizadas con instantáneas EBS son coherentes con los fallos pero no con las aplicaciones.

NAKIVO Backup & Replication es una solución de protección de datos que admite la creación de copias de seguridad y réplicas conscientes de la aplicación de instancias de Amazon EC2. También puede utilizar la solución para simplificar y automatizar significativamente el proceso de copia de seguridad y recuperación. Recupere rápidamente toda la instancia de EC2 desde una copia de seguridad sin la necesidad de recuperar los volúmenes EBS, crear una instancia de EC2 y adjuntar los volúmenes manualmente a una instancia de EC2 creada.

Source:
https://www.nakivo.com/blog/how-to-create-snapshots-of-ec2-instance/