Diseño y operación de volúmenes Amazon EBS - Criterios de selección gp3/io2 y estrategia de snapshots

Clarificamos los criterios de selección de tipos de volumen gp3 e io2, y presentamos de forma práctica las directrices de diseño de IOPS y throughput, así como la estrategia de backup mediante snapshots.

Criterios de selección de tipos de volumen EBS

EBS tiene 4 categorías: SSD de propósito general (gp3/gp2), SSD de IOPS provisionadas (io2/io2 Block Express), HDD optimizado para throughput (st1) y HDD frío (sc1). El punto de partida para la selección es gp3. gp3 proporciona como línea base 3,000 IOPS y 125 MiB/s sin cargo adicional, y puede escalar independientemente hasta un máximo de 16,000 IOPS y 1,000 MiB/s según sea necesario. En gp2, las IOPS eran proporcionales al tamaño del volumen, por lo que para aumentar IOPS era necesario agrandar el volumen, pero con gp3 esta restricción se eliminó. io2 Block Express es para cargas de trabajo de bases de datos, logrando hasta 256,000 IOPS por volumen. Es el único tipo de volumen que ofrece un SLA de durabilidad anual del 99.999%, adecuado para cargas de trabajo de misión crítica como Oracle o SAP HANA. st1 es para cargas de trabajo centradas en lectura secuencial como big data y procesamiento de logs, proporcionando hasta 500 MiB/s de throughput a bajo costo.

Diseño de IOPS y throughput

Para estimar los requisitos de IOPS, es necesario comprender el patrón de I/O de la aplicación. En cargas de trabajo con mucho I/O aleatorio como bases de datos, las IOPS son el cuello de botella, mientras que en I/O secuencial como ETL y análisis de logs, el throughput es el limitante. Se miden las IOPS reales con las métricas VolumeReadOps y VolumeWriteOps de CloudWatch, y si VolumeQueueLength supera constantemente 1, el volumen es un cuello de botella de I/O. Al agregar IOPS en gp3, se genera un costo de aproximadamente 0.006 USD/mes por IOPS (región de Tokio). Solo se debe considerar la migración a io2 cuando los requisitos superan 16,000 IOPS. io2 cuesta aproximadamente 0.074 USD/mes por IOPS, unas 12 veces más que gp3, por lo que estimar con precisión las IOPS realmente necesarias es la clave para la optimización de costos.

Estrategia de snapshots y diseño de backup

Los snapshots de EBS son incrementales, almacenando en S3 solo los bloques que cambiaron desde el snapshot anterior. El primero copia todos los datos, pero a partir del segundo solo se almacenan las diferencias, reduciendo significativamente el tiempo de creación y el costo de almacenamiento. Para la automatización de snapshots se utiliza Amazon Data Lifecycle Manager (DLM). Con políticas DLM se definen programaciones basadas en tags, automatizando la creación de snapshots diarios y semanales y la gestión de generaciones. En entornos de producción, es común una configuración que retiene 7 generaciones de snapshots diarios y 4 generaciones de snapshots semanales con DLM. Habilitando la copia entre regiones, también se puede cubrir DR ante fallos regionales. Fast Snapshot Restore (FSR) es una función que elimina la penalización de latencia en el primer acceso que ocurre al restaurar un volumen desde un snapshot. Se recomienda habilitar FSR para cargas de trabajo donde la latencia del primer acceso no es tolerable, como bases de datos. Desde los fundamentos hasta las aplicaciones de EBS, puede aprender sistemáticamente con libros (Amazon).

Precios de EBS

gp3 cuesta aproximadamente 0.08 dólares mensuales por GB, con 3,000 IOPS y 125 MB/s de throughput incluidos gratuitamente. Es un 20% más barato que gp2 (aproximadamente 0.10 dólares/GB) y tiene la ventaja de poder configurar IOPS y throughput independientemente. io2 cuesta aproximadamente 0.125 dólares mensuales por GB más aproximadamente 0.065 dólares por IOPS provisionada. st1 (HDD optimizado para throughput) cuesta aproximadamente 0.045 dólares/GB y sc1 (HDD frío) aproximadamente 0.015 dólares/GB. Se optimizan los costos con la política de usar gp3 como opción predeterminada y seleccionar io2 solo cuando se necesitan IOPS altas.

Resumen - Mejores prácticas de diseño EBS

La política básica del diseño de volúmenes EBS es comenzar con gp3, medir con métricas de CloudWatch y escalar según sea necesario. Se aprovecha la flexibilidad de gp3 para ajustar IOPS y throughput independientemente, evitando el sobreaprovisionamiento. Los snapshots se automatizan con DLM y se prepara DR con copia entre regiones. Como el cambio de tipo de volumen se puede ejecutar en línea, no es necesario apuntar a la solución óptima desde el principio, siendo efectivo un enfoque de optimización gradual basado en datos medidos.