Cómo realizar una instantánea de una instancia de EC2 para la protección de datos de AWS EC2
Si utilizas Amazon Web Services (AWS) para ejecutar instancias de EC2 (máquinas virtuales) en Elastic Compute Cloud, dispones de varias formas de proteger tus cargas de trabajo contra la pérdida de datos provocada por fallos de software, infecciones de malware o eliminaciones accidentales, entre otras cosas. Una de las opciones disponibles es la función de hacer backup integrada de AWS para Instancias de EC2, denominada «instantáneas de EBS». En esta entrada del blog se explica cómo crear una instantánea de una instancia de EC2 utilizando instantáneas de volúmenes EBS, con detalles 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 se crea una instantánea de EBS por primera vez, se crea un backup completo, y en las instantáneas de EBS posteriores solo se copian los datos modificados. Los volúmenes de EBS son discos virtuales conectados a Instancias de EC2.
Aunque las instantáneas de EBS se almacenan en Amazon S3, no es posible acceder manualmente a ellas desde el almacenamiento de S3. Estas instantáneas se pueden gestionar desde la consola de gestión de EC2.
Nota: Los términos «instantánea de AWS EC2» e «instantánea de Amazon» también se utilizan a veces 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 las instancias de EC2 que representan el volumen de EBS en el momento específico en que se ejecutó 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 iniciar la creación de la instantánea no se guardan en la instantánea. Como resultado, las instantáneas de EBS son Backups coherentes ante fallos y no consistentes 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. Hyper-V y Las instantáneas de VMware no son copias de seguridad y no pueden sustituir a las copias de backup propiamente dichas.
Sin embargo, existen Limitaciones de las instantáneas de EBS, entre las que se 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 consistente 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 gestión de AWS es la interfaz web gráfica utilizada para gestionar 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 de EC2 para la que desea crear una instantánea:
- Inicie sesión en la consola de gestió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.
- Haga clic en
Servicesy, en la secciónCompute, haga clic enEC2para abrir la consola de gestión de Instancias de EC2, volúmenes de EBS y otras funciones de EC2.
Hemos preparado una instancia de EC2 para mostrar los pasos necesarios para crear instantáneas de EBS. Los parámetros de nuestra instancia de EC2, de la que vamos a hacer backup y recuperar mediante instantáneas de EBS, son los siguientes:
Nombre: blog-temp
ID de la instancia de 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 de EC2 es Ubuntu Server (Linux).
Escribir archivos en el volumen EBS
Creemos dos archivos en el disco virtual conectado a la instancia de EC2 antes de crear una instantánea. De esta forma, podremos comprobar si estos archivos se recuperan después de restaurar la instancia a partir de 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
Preparación de la instancia
Detenga la instancia de EC2 para asegurarse de que la instantánea contenga datos coherentes. El motivo 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 concreto. Los bloques de almacenamiento se guardan tal y como están. El sistema no tiene en cuenta las operaciones realizadas con los 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, esta contendrá datos incoherentes. El efecto es similar a desconectar el cable de alimentación de un ordenador físico mientras se están escribiendo archivos.
Si desea tomar una instantánea de un volumen EBS que no sea del sistema, puede desmontar el sistema de archivos del sistema operativo para asegurarse de que no haya operaciones de escritura de archivos en el volumen. Para que la instancia de EC2 pueda tomar una instantánea, debe desactivarse el modo de hibernación.
Para preparar su instancia de EC2 para tomar una instantánea:
- Abra la página con la lista de Instancias de EC2 en la consola de gestión de EC2. Haga clic con el botón derecho del ratón sobre el nombre de la instancia y, en el menú contextual, haga clic en
Stop instance.
- Localice el volumen utilizado por la instancia de EC2. Haga clic en la pestaña «
Storage» y seleccione el ID del volumen EBS correspondiente ( vol-0617000000000763c en nuestro caso).
Creación de una instantánea
Ya estamos listos para crear una instantánea de la instancia de EC2:
- Seleccione el volumen EBS (marque la casilla situada a la izquierda de la línea) y haga clic en «
Actions>Create Snapshot».
- Introduzca una descripción, configure los ajustes de cifrado y añada una etiqueta. Yo utilizo los siguientes parámetros:
- Descripción: Instantánea de EBS blog 01
- Cifrado: Sin cifrar
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 se pueden establecer manualmente. Cuando se realiza una instantánea de un volumen cifrado, la instantánea se cifra automáticamente.
- Debería aparecer el siguiente mensaje junto con el ID de la instantánea:
Solicitud de creación de instantánea completada con éxito
snap-0778000000000ab40
Haga clic en el ID de la instantánea para abrir una página con las opciones y el estado de la misma.
- El estado de la instantánea « » (pendiente) significa que los datos del volumen EBS se están transfiriendo en este momento a Amazon S3. Espere a que finalice la creación de la instantánea (el estado cambiará a « » (completada) ). El tiempo depende del tamaño de los datos guardados en la instantánea.
Cómo realizar instantáneas de varios volúmenes
Es habitual encontrar una instancia de EC2 que utilice varios volúmenes EBS. En este caso, puede crear una instantánea de varios volúmenes para todos los volúmenes EBS conectados a esa instancia de Amazon EC2 con el fin de realizar un backup de Amazon EC2.
En esta sección, trataremos lo siguiente:
- Creación de un segundo volumen EBS
- Escribir datos en el volumen
- Creación de una instantánea de EBS de varios volúmenes
Creación de un segundo volumen EBS para la instancia de Amazon EC2
En primer lugar, añadamos un segundo volumen EBS a nuestra instancia de Amazon EC2, que estamos utilizando con fines de demostración:
- En el panel de navegación de la consola de gestión de Amazon EC2, vaya a
Elastic Block Store>Volumes. Haga clic enCreate Volume.
- Para la zona de disponibilidad , la región debe ser la misma que la de la instancia ( eu-central-1c en nuestro caso).
Introduce el tipo y el tamaño del volumen, configura las opciones de cifrado e introduce etiquetas. Las etiquetas ayudan a localizar el volumen en la lista de volúmenes. Configuramos el tamaño del volumen en 1 GiB y utilizamos las siguientes etiquetas:
-
Clave: blog
-
Valor: temp volume 2
Haga clic en Create Volume.
- 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.
- Asigne el volumen a la instancia de EC2. Haga clic con el botón derecho del ratón sobre el volumen o haga clic en
Actionsy, en el menú que se abre, haga clic enAttach Volume.
- Seleccione la instancia a la que desea conectar el volumen EBS. Debe seleccionar el ID de la instancia de EC2. En nuestro caso, el ID de la instancia es i-0071290000000cb84 .
Puede seleccionar el dispositivo del sistema operativo invitado que se utilizará para acceder al volumen conectado. En nuestro caso, se utiliza /dev/sdf .
Haz clic en Attach para conectar el nuevo volumen a las Instancias de 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 como /def/xvdf en el sistema operativo invitado.

Ahora hay dos volúmenes conectados a nuestra instancia de EC2 ( blog-temp ):
vol-0617000000000763c
vol-0b4a0000000003d01
Escritura de datos en el segundo volumen EBS
Siguiente archivo adjunto: creación de un archivo en el segundo volumen EBS. Este archivo se utilizará para comprobar si se han recuperado todos los datos después de 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 dicho sistema de archivos en el sistema operativo Linux invitado que se ejecuta en la Instancia de EC2.
Aunque nos centramos en las operaciones con instantáneas de EBS más que en las operaciones en el sistema operativo Linux invitado que se ejecuta en la Instancia de EC2, enumeramos los comandos utilizados para comprender mejor las operaciones con volúmenes.
Managing storage
- Utiliza
lsblkpara mostrar detalles sobre los dispositivos de bloques en Linux. - Utiliza
df -hpara comprobar el espacio de almacenamiento en los discos montados. - Utiliza
mountpara comprobar los discos montados.
Creación y montaje de una partición
Creación y formateo de una partición en el segundo volumen EBS con parted:
sudo parted -l
parted /dev/xvdf
(parted) mklabel msdos
(parted) print
(parted) mkpart primary ext4 1MB 955MB
(parted) print
(parted) quit
Creación de un sistema de archivos en la partición preparada:
mkfs.ext4 /dev/xvdf1
Creación del directorio que se utilizará como punto de montaje:
mkdir disk2
Montaje de la partición con el sistema de archivos en el directorio creado:
mount /dev/xvdf1 /disk2/
Acceso al directorio de la partición montada:
cd /disk2
Escritura de cambios en los dos volúmenes EBS
- Creación del archivo en la partición ubicada en el segundo volumen EBS conectado a la instancia de EC2 que ejecuta Linux:
echo "EBS snapshot for disk 2" > /disk2/d2-file01.txt
- Realizar cambios en el primer disco para crear una nueva instantánea EBS del primer volumen utilizado por la instancia de EC2. Ambos volúmenes deben contener cambios 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 fácilmente los cambios guardados en la nueva instantánea del primer volumen.
Una vez que los dos volúmenes EBS con los nuevos datos estén conectados a la instancia de EC2, podremos crear instantáneas de varios volúmenes.
Creación de una instantánea de varios volúmenes
- Ve a
Elastic Block Store>Snapshotsen el panel de navegación de la página de gestión de Instancias de EC2. Haz clic enCreate Snapshot.
- Selecciona el tipo de recurso: Instancia .
- Introduce el ID de la instancia de EC2 de la que deseas hacer backup de sus volúmenes mediante instantáneas de EBS.
Todos los volúmenes conectados a la instancia seleccionada se seleccionan automáticamente.
- Introduce una descripción que te ayude a encontrar la instantánea de EBS en AWS cuando la necesites. En nuestro ejemplo, la descripción es Instalación de instantáneas de EBS 02 .
- Marca la casilla Copiar etiquetas del volumen si deseas utilizar las etiquetas asignadas a los volúmenes de EBS.
- Una vez pulsado
Create Snapshot, se crean instantáneas de todos los volúmenes seleccionados.
Si el proceso se realiza correctamente, verás el siguiente mensaje:
Solicitud de creación de instantánea completada con éxito
Se muestran dos identificadores de instantánea 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 pendiente y cambia a completada una vez finalizado el proceso.
Se ha creado una nueva instantánea para cada volumen.
Uso de AWS CLI para crear instantáneas
Puede utilizar AWS CLI como alternativa a la Consola de gestió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 similar a este:
{
"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 de EC2 utilizando instantáneas de EBS
Hemos creado instantáneas de los volúmenes EBS conectados a la instancia de Amazon EC2. Estas instantáneas constituyen una forma de copia de seguridad de datos en AWS. Ahora veamos cómo crear una instancia de EC2 a partir de una instantánea mediante la restauración:
- volúmenes EBS concretos en AWS
- toda la instancia de EC2
Restauración del segundo volumen EBS
Restauraremos el segundo volumen EBS (de 1 GiB) a partir de la instantánea. Este volumen se utiliza para almacenar archivos y no tiene instalado el sistema operativo.
- En el panel de navegación de la consola de gestión de EC2, ve 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 de EC2 utilizada para escribir esta entrada del blog. Este es un ejemplo de por qué merece la pena añadir descripciones y etiquetas.
- Selecciona la instantánea del volumen de 1 GiB y crea un nuevo volumen a partir de ella. Haz clic con el botón derecho del ratón en la instantánea y, en el menú que se abre, selecciona «
Create Volume».
- 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 las Instancias de 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 backup (1 GiB) en nuestro ejemplo.
La clave de etiqueta es blog y el valor es volumen recuperado 1 .
- Pulsa
Create Volumepara finalizar y crear el volumen EBS utilizando la instantánea de EBS.
Verás el siguiente mensaje:
Solicitud de creación de volumen realizada con éxito
Puedes guardar el ID del volumen. El nuevo ID de volumen es vol-09cd000000000b502 en nuestro caso.
Restauración de un volumen del sistema
Para restaurar una instancia de 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 e iniciar la instancia utilizando esta imagen (la instancia de EC2 restaurada).
Creación de la imagen
- En la consola de gestión de EC2, vaya a
Elastic Block Store>Snapshotsy seleccione la instantánea necesaria del volumen EBS en el que está instalado el sistema operativo invitado.
Seleccionamos la última instantánea del volumen de 8 GiB utilizado por el sistema operativo invitado (Ubuntu Server). Esta instantánea del volumen EBS se creó cuando creamos la instantánea multivolumen para la instancia de EC2.
Haga clic con el botón derecho del ratón sobre la instantánea y, en el menú que se abre, seleccione « Create Image».
- 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: Restaurado a partir de una instantánea de EBS (blog)
El resto de ajustes se dejan con sus valores predeterminados.
- Se abre el cuadro de diálogo de la solicitud «Crear imagen» de que se ha recibido en . Haz clic en el ID de la imagen para ver la información sobre la misma ( ami-08ed800000000872a en nuestro caso). Espera hasta que finalice la creación de la imagen.
Inicio de la imagen
Una vez creada la imagen, haz clic con el botón derecho del ratón sobre ella y selecciona Launch.
Se abre el asistente de creación de una nueva instancia de EC2. Debes seleccionar las opciones de la instancia. Puede seleccionar las mismas opciones que se eligieron para la máquina virtual original de la que se hizo el backup. También puede restaurar la instancia en una nueva instancia de EC2 más potente.
Nota: Se nos redirige a Step 2 del asistente (en lugar de Step 1. Choose AMI) ya que hemos seleccionado previamente la AMI blog-recovered en la página con la lista de AMI.
Step 2: Choose an Instance Type.Seleccionamos t2.micro como tipo de instancia. Haga clic en Next en cada paso del asistente para continuar.
Step 3: Configure Instance. Configure los detalles según sus requisitos, incluyendo los ajustes de red, los roles de IAM, el comportamiento de apagado, etc.
Step 4: Add Storage es importante cuando se recupera una Instancia de EC2 utilizando instantáneas de EBS. Haga 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 Snapshot .
Introducimos snap-0a91000000000769b, , que es el ID de nuestra instantánea del volumen de 1 GiB. En nuestro ejemplo, se selecciona por defecto el tamaño del volumen de 8 GiB. Podemos establecer el tamaño del volumen en 1 GiB, tal y como estaba configurado el volumen EBS original. También puede seleccionar los dispositivos de almacenamiento, el tipo de volumen, el cifrado y las opciones para eliminar al finalizar.
Step 5: Add Tags. Asegúrese de que las etiquetas sean útiles para la 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 recuperada máquina virtual 01 .
Step 6: Configure Security Group. Edite los parámetros para controlar el tráfico de red de su instancia de 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 de EC2.
- Ahora se muestra la página Estado del lanzamiento . Haga clic en
View instances.
- Introduzca un nombre para la instancia recuperada ( blog-recovered en nuestro caso). El estado de la instancia E2 recuperada es ejecutándose . Los dos volúmenes EBS recuperados a partir de las instantáneas de EBS están conectados a la instancia de EC2 (véase la captura de pantalla siguiente).
Comprobación de los archivos restaurados
Comprobemos si se han recuperado los archivos creados antes de realizar la última instantánea:
Mostrar los dispositivos de bloque conectados:
lsblk
Mostrar los archivos del directorio actual (home) del usuario:
ls -al
Los archivos snapshot01.txt y snapshot2.txt , creados antes de realizar la primera y la segunda instantánea del volumen EBS en el que está instalado el sistema operativo, están presentes.
Monte 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 es posible que tenga que editar /etc/fstab después de restaurar la instancia para que se monte automáticamente.
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 archivos adjuntos, se ha restaurado correctamente a partir de instantáneas de EBS. Se han conservado todos los datos necesarios.
Conclusión
Se puede hacer backup de un solo volumen o de todos los volúmenes utilizando instantáneas multivolumen. Se trata de una función nativa de AWS muy útil para la protección de datos y la recuperación ante desastres. Sin embargo, hay que tener en cuenta que se incurren en costes adicionales al almacenar instantáneas de EBS en la nube de Amazon, ya que se utiliza almacenamiento adicional en la nube. Además, existen otras limitaciones a la hora de utilizar instantáneas de EBS para backups, como que el sistema de creación de instantáneas no detecta los archivos que se están escribiendo en el momento en que se toma la instantánea. Como resultado, los backups realizados con instantáneas de EBS son consistentes ante fallos, pero no coherentes 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 backup y recuperación. Recupere rápidamente toda la instancia de Amazon EC2 a partir de un backup sin necesidad de recuperar volúmenes de EBS, crear una instancia de Amazon EC2 ni adjuntar manualmente los volúmenes a una instancia de Amazon EC2 creada.






























