🥇 Trabajando con volumes y snapshots

🍿 AWS Snapshot

Un snapshot de AWS es una copia exacta de una instancia de EC2 en el tiempo. Crear snapshots nos permite ir realizando esta copia de nuestra instancia de EC2 conforme esta va evolucionando.

El AWS Snapshot Pricing (Precio de un snapshop) depende en gran medida de la ubicación y el tamaño o aws snapshot size (tamaño del snapshot).

🍿 Aws snapshot size vs AMI

Para poder comprar un aws snapshot vs ami, o un aws snapshot vs image, tenemos que etender que el snapshot es un backup de una EC2 que genera el usuario. Mientras que las otras 2 son distribuidas por Amazon.

🍿 Como crear un snapshot de una instancia de EC2?

  1. Vamos a EC2 y dentro, en las opciones Resources damos click sobre la opción Volumes.

Este es el volume que se creo cuando creamos nuestra instancia de EC2.

  1. Vamos a darle un nombre particionDeEC2 al volume dando click sobre la columna name, esto es una buena práctica que nos permite tener identificado el propósito de cada uno de ellos.
  2. Vamos a dar click sobre Create Volume, elegimos las opciones.
Volume Type (Tipo de Volumen)
(Magnetic)
Size (GiB)
10
Availability Zone
La misma en donde se encuentra tu instancia de EC2
  1. Y presionamos Create.
  2. Seleccionamos la instancia, espandimos el menu Actions y damos click en Attach Volume (Adjuntar a Volumen).

Al momento de dar click sobre el campo Instance se listará la instancia de EC2 que hemos creado (Si no se encuentra en la misma región tendras que volver a crear tu volume).

  1. Verifica donde se va a montar tu dispositivo, en mi caso /dev/sdf.
  2. Vamos a la terminal, conectamos a nuestra instancia EC2, iniciamos session como root sudo su -, y tecleamos.
$ lsblk

En mi caso esto fue lo que me arrojo la terminal.

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0  10G  0 disk
  1. Vamos darle un ls a xvdf que es la unidad de 10G que creamos.
$ file -s /dev/xvdf

La terminal me arreoja data que es un indicador que el disco no posee formato.

[root@ip-172-31-39-243 ~]# file -s /dev/xvdf
/dev/xvdf: data
  1. Formateamos la unidad.
$ mkfs -t ext4 /dev/xvdf

Al final nos notificará que completamos el proceso.

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
  1. Creamos el directorio para el servidor de archivos y montamos xvdf ahí.
$ mkdir /servidordearchivos
$ mount /dev/xvdf /servidordearchivos
  1. Listamos el directorio y veremos que se encuentra ahora el directorio lost+found.
$ ls /servidordearchivos
  1. Vamos a crear un par de archivos.
$ cd /servidordearchivos
$ touch prueba.txt

No debes tener problema para crear alguno de estos archivos.

  1. Vamos a desmontar la unidad.
$ umount /dev/xvdf
  1. Intenta listar nuevamente el directorio /servidordearchivos y no debe mostrar ningun archivo (pues hemos desmontado la unidad).
  2. Ve a la consola de AWS, da click sobre el volume creaste y ve a la opción Actions > Detach Volume.
  3. Una vez que se complete el detachment, da click nuevamente en el volume y ve a la opción Actions > Create Snapshot. En el overlay completa los valores del snapshot que vamos a crear.
Name (Nombre)
MiServidorDeArchivos
Description (Descripción)
Snapshot de mi servidor de archivos.

Y damos click en Create, despues en Close para cerrar el overlay.

  1. Vamos a la sección Snapshots y vamos a ver que ahora tenemos un nuevo snapshot creadose, debido a que es el primero tomara algo de tiempo hasta que se complete.
  2. Vamos a la sección Volumes.
  3. Elegimos el volume que creamos, y despues la opción Action > Delete Volume, confirmamos que si deseamos eliminar.
  4. Vamos a la sección Snapshots y seleccionamos nuestro Snapshot, vamos a crear un volume a partir de este snapshot, elegimos la opción Actios > Create Volume. Elegimos de los valores del overlay.
Volume Type (Tipo de volumen)
General Purpose SSD (GP2).
Size (GiB)
10
Availability Zone
La zona donde creaste tu instancia de EC2.
  1. Y damos click en Create.

Si vemos podemos crear un volume de proposito general a partir del magnetic que creamos originalmente. Esto es interesante pues podemos migrar de uno a otro dependiendo nuestro ambiente de trabajo (test, produccion, etc).

  1. Vamos a la seccion Volumes y podemos ver que nuestro volume se ha creado a partir del snapshot.
  2. Damos click en el volume y nuevamente, y despues en Actions > Attach Volume.
  3. Elegimos nuevamente la instancia dando click en el autocomplete Instance y despues en Attach.
  4. Vamos a la terminal y listamos las unidades.
$ lsblk
  1. Como un snapshot se crea a partir de una imagen, ya no es necesario formatear la unidad, si lo hacemos se borrarian los datos, vamos a montar directamente la unidad.
$ mount /dev/xvdf /servidordearchivos

Verifica que se montó correctamente haciendo ls sobre /servidor de archivos.

🍿 Resumen

Volumes vs Snapshots Raids, volumes y snapshots
comments powered by Disqus