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

Si utiliza Amazon Web Services (AWS) para ejecutar instancias EC2 (VM) en Elastic Compute Cloud, dispone de varias formas de proteger sus cargas de trabajo contra la pérdida de datos causada por fallos de software, infección por malware, eliminaciones accidentales, entre otros. Una opción disponible es la función incorporada de backups de AWS para instancias EC2 llamada instantáneas EBS. Esta entrada del blog explica cómo crear una instantánea de una instancia EC2 mediante instantáneas de volumen EBS con ejemplos detallados del proceso de configuración.

NAKIVO for AWS EC2 Backup

NAKIVO for AWS EC2 Backup

Backup of Amazon EC2 instances to EC2, AWS S3 and onsite. Anti-ransomware options. Fast recovery of instances and application objects.

¿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 se crea una instantánea de EBS por primera vez, se crea una copia de seguridad completa y sólo se copian los datos modificados para las siguientes instantáneas de EBS. Los volúmenes EBS son discos virtuales adjuntos a instancias EC2.

Aunque las instantáneas de EBS se almacenan en Amazon S3, no se puede acceder manualmente a las instantáneas en el almacenamiento S3. Puede gestionar estas instantáneas en la consola de gestión de EC2.

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

Cómo funcionan las instantáneas de EBS

Las instantáneas de EBS son backups a nivel de bloque de datos de instancias EC2 que representan el volumen 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 volúmenes EBS tras el inicio de la toma de instantáneas no se guardan en la instantánea. Como resultado, las instantáneas de EBS son backups coherentes con los fallos y no con las aplicaciones.

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 backups y no pueden sustituir a los backups adecuados.

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

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

La consola de administración de AWS es la interfaz web GUI que se utiliza para administrar todos los recursos informáticos, de almacenamiento y de otro tipo de AWS, incluida la creación de instantáneas de EBS.

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

  1. Inicie sesión en la consola de administración de AWS con una cuenta que tenga los permisos necesarios para crear instancias EC2, volúmenes EBS e instantáneas EBS.
  2. Haga clic en Services y, en la sección Compute, haga clic en EC2 para abrir la consola de gestión de instancias EC2, volúmenes EBS y otras funciones de EC2.

Using AWS Management Console to create snapshot of EC2 instance (EBS snapshot)

Hemos preparado una instancia EC2 para demostrar los pasos para crear instantáneas de EBS. Los parámetros de nuestra instancia EC2, de la que vamos a hacer backup de y recuperar mediante instantáneas 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 1 de EBS: 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).

Escritura de archivos en el volumen EBS

Vamos a crear dos archivos en el disco virtual conectado a la instancia EC2 antes de crear una instantánea. De esta forma, podemos comprobar si estos archivos se recuperan tras restaurar la instancia desde la instantánea de EBS. Creamos dos ficheros en el directorio home del usuario:

lspci > file01.txt

echo "test EC2 snapshot 01" > snapshot01.txt

Creación de archivos en una instancia antes de tomar una instantánea de una instancia EC2

Preparación de la instancia

Detenga la instancia EC2 para asegurarse de que la instantánea contiene datos coherentes. El motivo es que los volúmenes de EBS funcionan a nivel de bloque. Cuando se toma una instantánea de EBS, se guarda el estado del volumen EBS de ese momento. Los bloques de almacenamiento se guardan tal cual. En ese momento, el sistema no conoce las operaciones realizadas con los archivos a nivel del sistema de archivos. Si se están escribiendo archivos en un volumen EBS cuando se toma una instantánea, ésta contendrá datos inconsistentes. El efecto es similar al de desenchufar un cable de alimentación de un ordenador físico mientras se escriben archivos.

Si desea realizar una instantánea de un volumen EBS no perteneciente al sistema, puede desmontar el sistema de archivos del sistema operativo para asegurarse de que no se realizan operaciones de escritura de archivos en el volumen. La hibernación debe estar desactivada para que la instancia EC2 pueda tomar una instantánea.

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

  1. Abra la página con la lista de instancias EC2 en la consola de gestión de EC2. Haga clic con el botón derecho del ratón en el nombre de la instancia y, en el menú contextual, haga clic en Stop instance.

Detención de la instancia EC2 antes de crear una nueva instantánea en AWS

  1. Localice el volumen utilizado por la instancia EC2. Haga clic en la pestaña Storage y en el ID del volumen EBS correspondiente(vol-0617000000000763c en nuestro caso).

Selección del volumen EBS adjunto a la instancia EC2 para crear la instantánea de la instancia EC2

Tomar una instantánea

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

  1. Seleccione el volumen EBS (haga clic en la casilla situada a la izquierda de la línea) y haga clic en Actions > Create Snapshot.

Seleccionando la opción Crear instantánea en el menú Acciones

  1. Introduce una descripción, establece los ajustes de cifrado y añade una etiqueta. Utilizo los siguientes parámetros:
  • Descripción: Blog de instantáneas de EBS 01
  • Cifrado: No cifrado

Haga clic en Create Snapshot.

Nota: Utilizamos el volumen sin cifrar y creamos una instantánea sin cifrar. En este caso, los ajustes de cifrado de la instantánea pueden establecerse manualmente. Cuando tomas una instantánea de un volumen cifrado, la instantánea se cifra automáticamente.

Ajustes de descripción, cifrado y etiquetas en la ventana Crear instantánea

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

Solicitud de creación de instantánea aceptada
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.

EC2 Crear solicitud de instantánea con éxito

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

El proceso de creación de instantáneas ebs está en curso

Cómo tomar instantáneas de varios volúmenes

Es frecuente encontrar una instancia EC2 que utiliza varios volúmenes EBS. En este caso, puede crear una instantánea multivolumen para todos los volúmenes EBS adjuntos a esa instancia EC2 para hacer un backup de Amazon EC2.

En esta sección trataremos:

Creación de un segundo volumen EBS para la instancia EC2

Primero vamos a añadir un segundo volumen EBS a nuestra instancia EC2, que estamos utilizando para fines de demostración:

  1. En el panel de navegación de la consola de gestión de EC2, vaya a Elastic Block Store > Volumes. Haz clic en Create Volume.

Adición de un volumen de pasos sobre cómo tomar instantáneas en aws de múltiples volúmenes EBS

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

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

  • Clave: blog

  • Valor: temp volumen 2

Haz clic en Create Volume.

Opciones para crear un volumen EBS

  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.

Se ha creado el volumen ebs

  1. Adjunte el volumen a la instancia EC2. Haz clic con el botón derecho del ratón en el volumen o en Actions y, en el menú que se abre, haz clic en Attach Volume.

Adjuntar el volumen EBS a la instancia EC2

  1. Seleccione la instancia a la que desea adjuntar el volumen EBS. Debe seleccionar el ID de la instancia 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 Attach para adjuntar el nuevo volumen a la instancia EC2.

Nota: En la nota se muestra información útil sobre cómo cambiar el nombre de los dispositivos de disco. En nuestro caso /dev/sdf se renombra a /def/xvdf en el SO huésped.
Options to attach the EBS volume to the EC2 instance

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

vol-0617000000000763c

vol-0b4a0000000003d01

Se adjuntan dos volúmenes EBS a la instancia para crear una instantánea de la instancia EC2

Escritura de datos en el segundo volumen EBS

A continuación, crearemos un archivo en el segundo volumen EBS. Este archivo se utilizará para comprobar si se han recuperado todos los datos tras restaurar el volumen a partir de la instantánea de EBS. Por este motivo, crearemos una partición, crearemos un sistema de archivos y montaremos el sistema de archivos en el SO Linux invitado que se ejecuta en la instancia EC2.

Aunque nos centramos en las operaciones con instantáneas de EBS y no en las operaciones en el SO invitado Linux que se ejecuta en la instancia EC2, enumeramos los comandos utilizados para comprender mejor las operaciones con volúmenes.

Gestión del almacenamiento

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

Crear y montar una partición

Creación y formateo de una partición en el segundo volumen EBS en parted:

sudo parted -l

parted /dev/xvdf

(parted) mklabel msdos

(parted) print

(parted) mkpart primary ext4 1MB 955MB

(parted) print

(parted) quit

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

mkfs.ext4 /dev/xvdf1

Crear el directorio a utilizar como punto de montaje:

mkdir disk2

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

mount /dev/xvdf1 /disk2/

Ir al directorio de la partición montada:

cd /disk2

Escritura de cambios en los 2 volúmenes EBS

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

echo “EBS snapshot for disk 2” > /disk2/d2-file01.txt

Creación de un archivo a restaurar en el volumen EBS mediante una instantánea en AWS

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

Creamos el archivo snapshot02.txt en el primer volumen para detectar más cómodamente los cambios guardados en la nueva instantánea del primer volumen.

Adding a file to the home directory stored on the first EBS volume

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

Creación de la instantánea multivolumen

  1. Vaya a Elastic Block Store > Snapshots en el panel de navegación de la página de gestión de instancias EC2. Haga clic en Create Snapshot.

Haciendo clic en el botón Crear instantánea en la interfaz web de Amazon para tomar instantáneas de EC2 en AWS

  1. Seleccione el tipo de recurso: Instance.
  2. Introduzca el ID de instancia de la instancia EC2 necesaria de cuyos volúmenes desea hacer backup de mediante instantáneas de EBS.

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

  1. Introduzca una descripción que le ayude a encontrar la instantánea de EBS en AWS cuando sea necesario. En nuestro ejemplo, la descripción es EBS snapshot blog 02.
  2. Seleccione la casilla Copy tags from volume si desea utilizar las etiquetas asignadas a los volúmenes EBS.
  3. Una vez pulsado Create Snapshot, se crean instantáneas para todos los volúmenes seleccionados.

How to take snapshot in AWS for multiple EBS volumes

Si el proceso tiene éxito, verás el siguiente mensaje:

Create Snapshot Request Succeeded

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

Puede 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 pending y cambia a completed una vez que el proceso finaliza.

The EC2 create snapshot operation is started for multiple EBS volumes

Se ha creado una nueva instantánea para cada volumen.

Uso de la CLI de AWS para crear instantáneas

Puede utilizar la CLI de AWS como alternativa a la consola de administración de AWS si prefiere la interfaz de línea de comandos o si necesita automatizar la creación de instantáneas.

El comando para crear una instantánea de EBS en la CLI de AWS es:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "This is a test snapshot for the blog"

El resultado debería ser el siguiente:

{

"Description": "This is a test snapshot for the blog",

"Tags": [],

"Encrypted": false,

"VolumeId": "vol-0b4a51e1cea333d01",

"State": "pending",

"VolumeSize": 8,

"StartTime": "2021-08-28T21:06:01.000Z",

"Progress": "",

"OwnerId": "012345678910",

"SnapshotId": "snap-0689749a39a7b822b"

}

El comando para crear una instantánea con etiquetas:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description 'Prod backup' --tag-specifications

'ResourceType=snapshot,Tags=[{Key=Blog,Value=Test},{Key=AWS,Value=EC2-snapshot}]'

Cómo restaurar una instancia EC2 utilizando instantáneas EBS

Hemos creado instantáneas de los volúmenes EBS adjuntos a la instancia de Amazon EC2. Estas instantáneas son una forma de hacer backups de datos en AWS. Ahora vamos a ver cómo crear una instancia EC2 a partir de una instantánea mediante restauración:

  • volúmenes EBS particulares en AWS
  • toda la instancia EC2

Restauración del segundo volumen EBS

Vamos a restaurar el segundo volumen EBS (tamaño 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 el panel de navegación de la consola de gestión de EC2, vaya a Elastic Block Store > Snapshots.

Introducimos «blog» en el campo de búsqueda para mostrar todas las instantáneas creadas para los volúmenes EBS de la instancia EC2 utilizada para escribir esta entrada de blog. Este es un ejemplo de por qué merece la pena añadir descripciones y etiquetas.

  1. Selecciona la instantánea del volumen de 1-GiB y crea un nuevo volumen a partir de la instantánea. Haz clic con el botón derecho en la instantánea y, en el menú que se abre, pulsa Create Volume.

cómo crear una instancia EC2 a partir de una instantánea en AWS

  1. Define los parámetros necesarios del volumen en la página Create Volume: selecciona el tipo de volumen y define 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 EC2 (eu-central-1c en nuestro caso).

El tamaño del volumen es el mismo que el del volumen original del que se ha hecho la copia de seguridad (1 GiB) en nuestro ejemplo.

La clave de la etiqueta es blog y el valor es recovered volume 1.

 

  1. Pulse Create Volume para finalizar y crear el volumen EBS utilizando la instantánea EBS.

recovering the EBS volume to create EC2 instance from snapshot

Verá el siguiente mensaje:

Create Volume Request Succeeded

Puede guardar el ID del volumen. En nuestro caso, el nuevo identificador de volumen es vol-09cd000000000b502.

successful recovery of the volume from the ebs snapshot

Restaurar un volumen de sistema

Para restaurar una instancia EC2, es necesario restaurar el volumen EBS en el que está instalado el sistema operativo. En este caso, puede 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 EC2 restaurada).

Creación de la imagen

  1. En la consola de gestión de EC2, vaya a Elastic Block Store > Snapshots y seleccione la instantánea necesaria del volumen EBS en el que está instalado el SO invitado.

Seleccionamos la última instantánea del volumen de 8 GiB utilizado por el SO invitado (Ubuntu Server). Esta instantánea de volumen EBS se creó cuando creamos la instantánea multivolumen para la instancia EC2.

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

 

Cómo crear una instancia EC2 a partir de una instantánea - creación de una imagen

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

Nombre: blog-recovered

Descripción: Restored from an EBS snapshot (blog)

Los demás ajustes se dejan en sus valores predeterminados.

 

Pulsa Crear.

How to create EC2 instance from snapshot by using AMI

  1. Se abre el cuadro de diálogo Create Image request received. Haga clic en el ID de la imagen para ver información sobre ella (ami-08ed800000000872a en nuestro caso). Espere hasta que finalice la creación de la imagen.

creación de la imagen a partir de la instantánea ec2

Lanzamiento de la imagen

Una vez creada la imagen, haz clic con el botón derecho en ella y pulsa Launch.

Launching the AMI to create EC2 instance from snapshot

Se abre el asistente de creación de nuevas instancias EC2. Debe seleccionar las opciones de instancia. Puede seleccionar las mismas opciones que las seleccionadas para la máquina virtual original de la que se hizo la copia de seguridad. También puede restaurar la instancia en una nueva instancia EC2 más potente.

Nota: Se nos redirige al Step 2 del asistente (en lugar de Step 1. Choose AMI) puesto que ya hemos seleccionado la AMI blog-recovered en la página con la lista de AMIs.

Step 2: Choose an Instance Type. Seleccionamos t2.micro como tipo de instancia. Haga clic en Next en cada paso del asistente para continuar.

restoring the EC2 instance from ec2 snapshots

Step 3: Configure Instance. Configure los detalles en función de sus requisitos, incluidos los ajustes de red, las funciones de IAM, el comportamiento de apagado, etc.

Step 4: Add Storage es importante cuando se recupera una instancia EC2 utilizando instantáneas de EBS. Haz clic en Add New Volume. En esta página se añade una nueva línea con opciones de volumen. Introduzca el ID de la instantánea de volumen necesaria en el campo Snapshots.

Introducimos snap-0a91000000000769b, que es el ID de nuestra instantánea del volumen de 1-GiB. El tamaño de 8-GiB del volumen está seleccionado por defecto en nuestro ejemplo. Podemos establecer el tamaño del volumen en 1 GiB tal y como está configurado para el volumen EBS original. También puede seleccionar el dispositivo de almacenamiento, el tipo de volumen, el cifrado y las opciones de eliminación al terminar.

Attaching the EBS volume recovered from the AWS snapshot to the EC2 instance

Step 5: Add Tags. Asegúrese de que las etiquetas ú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 recovered VM 01.

adding tags to a recovered EC2 instance

Step 6: Configure Security Group. Edite los parámetros para controlar el tráfico de red de su instancia EC2.

Step 7: Review Instance Launch. Revise los detalles de lanzamiento de su instancia y pulse Launch para finalizar. Debe seleccionar un par de claves o crear uno nuevo para acceder a la instancia EC2.

  1. Aparecerá la página Launch Status. Haz clic en View instances.

lanzamiento de una instancia ec2 desde una instantánea de un volumen EBS

  1. Introduzca un nombre para la instancia recuperada (blog-recovered en nuestro caso). El estado de la instancia E2 recuperada es running. Ambos volúmenes EBS recuperados de las instantáneas EBS se adjuntan a la instancia EC2 (véase la captura de pantalla siguiente).

la instancia EC2 ha sido restaurada a partir de instantáneas ebs

Comprobación de los archivos restaurados

Comprobemos si se han recuperado los archivos creados antes de tomar la última instantánea:

Listar los dispositivos de bloque conectados:

lsblk

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

ls -al

Los archivos snapshot01.txt y snapshot2.txt creados antes de tomar la primera y segunda instantánea del volumen EBS en el que está instalado el SO están presentes.

Monte la partición situada 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 auto-montaje.

ls -al /disk2/

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

snapshots of ec2 instance were used to restore EBS volumes with files stored on them

La instancia de AWS EC2, con todos los volúmenes de EBS adjuntos, se ha restaurado correctamente a partir de instantáneas de EBS. Se conservan todos los datos necesarios.

Conclusión

Puedes hacer backup de un solo volumen o de todos los volúmenes mediante instantáneas multivolumen. Se trata de una función nativa de AWS muy práctica para la protección de datos y la recuperación ante desastres. Tenga en cuenta, sin embargo, que se incurre en costes adicionales al almacenar instantáneas de EBS en la nube de Amazon porque se utiliza almacenamiento en la nube adicional. Además, existen otras limitaciones a la hora de hacer backups con instantáneas de EBS, como que el sistema de creación de instantáneas no es consciente de los archivos que se están escribiendo en el momento en que se toma la instantánea. Como resultado, los backups hechos con instantáneas de EBS son consistentes con los fallos y no con las aplicaciones.

NAKIVO Backup & Replication es una solución de protección de datos que permite crear backups coherentes con las aplicaciones y réplicas de instancias de Amazon EC2. También puede utilizar la solución para simplificar y automatizar considerablemente el proceso de backups y recuperación. Recupere rápidamente toda la instancia EC2 a partir de un backup sin necesidad de recuperar volúmenes EBS, crear una instancia EC2 y adjuntar los volúmenes manualmente a una instancia EC2 creada.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Artículos recomendados