Saltar a contenido

EBS (Amazon Elastic Block Store).

Almacenamiento a nivel de Bloque asociada a una instancia EC2.

Ventajas:

  • Replicación automática dentro de la misma zona de disponibilidad.
  • El almacenamiento es persistente, incluso cuando la EC2 es eliminada.
  • Se pueden cifrar los datos de forma sencilla.
  • Fácilmente escalables, es decir, se puede aumentar su tamaño (no reducir).

Tipos de volúmenes (discos).

IOPS

Es el número de la cantidad de entrada/salida por segundo. Es un indicador del rendimiento del disco.
  • Unidades de estado solido (SSD):

    💥 Genéricos: Los tipos existentes son gp3 (1.000 MiB/s) y gp2(128-250 MiB/s) ambas con un máximo de 16.000 IOPS.

    💥 Alto rendimiento IOPS: Los tipos existentes con io2 Block Express (4.000 MiB/s con un máximo 246.000 IOPS) e io2 (1.000 MiB/s con 64.000 IOPS).

  • Unidades de disco duro (HDD):

    💥 Optimizadas para grandes cargas de trabajo de streaming.

    💥 Los tipos existentes con st1 (Throughput Optimized HDD, con 500 MiB/s y 500 IOPS) y sc1 (Cold HDD, con 250 MiB/s y 250 IOPS).

    💥 Existen los EBS Cold HDD que hace referencia a discos muy baratos aunque lentos que en principio no van a ser accedidos de forma habitual, por ejemplo para almacenar copias de seguridad más antiguas.

Un volumen EBS sólo se puede asociar a una instancia EC2 de su misma zona de disponibilidad.

Práctica.

Crea un volumen EBS:

  • Tipo gp3 (3000 IOPS) de 100GB.
  • Crea una etiqueta (tag) con el par "Nombre --> EBS_Practica" para identificar el volumen.
  • La zona de disponibilidad debe ser la misma que nuestra máquina.

Asocia el volumen a una instancia Linux.

Para ello debemos seleccionar el volumen ➡️ Actions ➡️ Attach Volume.

  • Seleccionamos la instancia a la que tenemos que asociarla.
  • Seleccionamos la conexión de almacenamiento que tendrá dentro del servidor (/dev/...).

Se puede comprobar que efectivamente lo tenemos asociado yendo a la pestaña de volumenes (storage) de la instancia.

Gestionar disco desde la EC2.

Accedemos a la EC2 por SSH y lanzamos el comando lsblk donde podremos ver el volumen asociado.

  • Damos formato al volumen EBS.
  • Montamos el disco en una carpeta.
  • Creamos una carpeta dentro del volumen.
sudo mkfs -t ext4 /dev/nvme1n1
sudo mount /dev/nvme1n1 /mnt
sudo mkdir /mnt/prueba_ebs

Incrementar volumen.

Menus EBS ➡️ Seleccionamos el volumen ➡️ Actions ➡️ Modify Volume ➡️ Aumentamos la capacidad (120GB).

Con el comando "lsblk" podemos comprobar que efectivamente se ha producido el cambio.

No obstante tenemos que redimensionar la partición para que ocupe todo el disco.

Con el comando "df -h" podemos comprobar que realmente no estamos haciendo uso los 120GB, si no de los 100GB originales.

Para redimensionarlo y ocupe todo el espacio real hay que indicarle que ocupe el nuevo espacio.

sudo resize2fs /dev/nvme1n1

Posteriormente podremos comprobar con "df -h" que efectivamente ya se está haciendo uso de todo el disco.

Instantáneas (Snapshots).

Para hacer réplicas de los volúmenes EBS se usan las instanáneas.

  • Para crear una instantánea vamos a EBS ➡️ Snapshots ➡️ Create Snapshot.

  • Una vez la instantánea está generada (completada), podemos crear un volumen en base a ella.

Recuerda crear el volumen en la misma zona que tus EC2.

Desgraciadamente no tenemos permisos como estudiantes a generar volúmenes a partir de instantáneas.

LifeCycle Manager

Las instantáneas se pueden programar de forma automática cada ciertas horas/días mediante el LifeCycle Manager, no obstante no está disponible en AWS Academy.