17-02-2025 / Estrategias de optimización de costos / 5 mins.
Amazon S3 es un servicio de almacenamiento de objetos. Usuarios de todos los tamaños e industrias pueden almacenar y proteger cualquier cantidad de datos para prácticamente cualquier caso de uso, como lagos de datos, aplicaciones nativas en la nube y aplicaciones móviles.
S3 es una de las formas más económicas, escalables y versátiles de almacenar datos en la nube. Sin embargo, si dependes de S3 para almacenar, acceder y transferir grandes volúmenes de datos, los costos y la complejidad pueden aumentar rápidamente, lo que puede generar miles de dólares en costos innecesarios.
¿Cómo funciona el modelo de precios de S3?
Amazon S3 utiliza un modelo de pago por uso, sin pagos anticipados ni compromisos requeridos. La tarificación de S3 se basa en el uso, por lo que solo pagas por los recursos que utilizas.
AWS ofrece un nivel gratuito para nuevos clientes de AWS, que incluye 5 GB de almacenamiento en la clase de almacenamiento S3 Standard, 20,000 solicitudes GET, 2,000 solicitudes PUT, COPY, POST o LIST y 100 GB de transferencia de datos de salida cada mes.
Después de eso, estas son las principales variables que se consideran al calcular la tarificación de S3.
Costos de almacenamiento
Este es el componente principal de la tarificación de Amazon S3. Se te cobra por la cantidad total de datos almacenados en tus buckets, medidos en gigabytes (GB) por mes. La tarifa varía según la clase de almacenamiento que elijas (por ejemplo, S3 Standard, S3 Intelligent-Tiering, S3 Glacier) y la cantidad de datos almacenados.
Costos de solicitudes y recuperación de datos
AWS cobra por la cantidad de solicitudes realizadas a tus buckets de Amazon S3, como solicitudes PUT, GET, COPY y POST. La estructura de costos varía según el tipo de operación y la clase de almacenamiento. Por ejemplo, recuperar datos de S3 Glacier o S3 Glacier Deep Archive tiene costos más altos debido a la naturaleza del almacenamiento en frío.
Costos de transferencia de datos
Transferir datos fuera de Amazon S3 hacia internet o a otras regiones de AWS genera cargos. Las transferencias de datos hacia Amazon S3 generalmente son gratuitas, pero las transferencias de salida (egreso) por encima del límite del nivel gratuito se cobran por gigabyte.
Características adicionales y costos
La tarificación de Amazon S3 también incluye cargos por herramientas de gestión y análisis, replicación de datos entre regiones o dentro de la misma región, herramientas de seguridad y acceso, y costos asociados con la transformación de datos y la consulta mediante servicios como Amazon S3 Select.
Además, el uso de Amazon S3 Object Lambda genera cargos basados en los datos procesados, y los costos pueden variar significativamente según la ubicación del servidor y los destinos de transferencia de datos, especialmente cuando se transfieren datos entre diferentes regiones de AWS.
¿Cómo optimizar los costos de S3?
1. Utiliza Políticas de Ciclo de Vida
Las políticas de ciclo de vida en Amazon S3 te permiten automatizar la gestión de datos según reglas predefinidas que determinan cuándo los objetos se transfieren a otra clase de almacenamiento o se eliminan. Esta automatización ayuda a administrar costos asegurando que los datos se almacenen de la manera más rentable a medida que cambia su utilidad con el tiempo.
Desde la consola de administración de Amazon S3, puedes configurar reglas para mover datos a S3 Standard-IA después de 30 días si se acceden con poca frecuencia, y a S3 Glacier Flexible Retrieval después de 90 días para datos raramente accedidos.
2. Elimina datos no utilizados
Siempre incurrirás en cargos por los datos almacenados en S3, por lo que deberías encontrar y eliminar periódicamente los datos que ya no utilizas o aquellos que podrías recrear fácilmente si los necesitas nuevamente. Si no estás seguro de eliminar objetos de forma permanente, puedes archivarlos a bajo costo con S3 Glacier Deep Archive.
3. Comprime los datos antes de enviarlos a S3
Dado que los cargos de Amazon S3 dependen de la cantidad de datos almacenados y transferidos, comprimir los datos antes de enviarlos puede reducir ambos costos.
4. Usa S3 Select para recuperar solo los datos que necesitas
Amazon S3 Select permite recuperar solo un subconjunto de datos de un objeto, lo que reduce la cantidad de datos recuperados y, en consecuencia, disminuye los costos de almacenamiento y transferencia.
5. Elige la región de AWS adecuada y limita las transferencias de datos
Seleccionar la región adecuada para tu almacenamiento en S3 puede tener un gran impacto en los costos, especialmente en las tarifas de transferencia de datos. Almacenar datos en una región más cercana a tus usuarios o aplicaciones puede reducir la latencia y los costos de transferencia.
6. Consolida y agrega datos
Consolidar y agregar datos antes de almacenarlos en S3 puede generar ahorros significativos en costos, especialmente en casos de uso que involucran análisis y procesamiento de datos.
7. Monitorea y analiza el uso con S3 Storage Lens
Amazon S3 Storage Lens es una herramienta de análisis de almacenamiento que te ayuda a visualizar y administrar tu uso y actividad de almacenamiento en S3. Su panel de control y métricas te permiten obtener información sobre la eficiencia operativa y los costos dentro de tu entorno S3.
8. Habilita Requestor Pays
Habilitar la opción Requestor Pays permite trasladar los costos de transferencia de datos y solicitudes al usuario que accede a los datos de tu bucket de Amazon S3. Esta función es útil si alojas grandes conjuntos de datos públicamente y deseas evitar asumir el costo de la salida de datos.
9. Configura IAM para limitar el acceso
Configurar Identity and Access Management (IAM) te permite restringir el acceso a tus recursos de Amazon S3. Al limitar quién puede acceder y qué acciones pueden realizar, reduces el riesgo de incurrir en costos innecesarios debido a accesos excesivos.
10. Particiona tus datos antes de consultarlos
Particionar los datos en segmentos basados en claves específicas como fecha, hora u otros atributos relevantes permite que servicios de consulta como Amazon Athena o Amazon Redshift Spectrum escaneen solo las partes necesarias de los datos.
Implementar una estructura de carpetas en tus buckets de Amazon S3 que refleje tu estrategia de partición facilita el acceso directo y rápido a subconjuntos de datos, optimizando los costos y el rendimiento.
Siguiendo estas estrategias, puedes optimizar los costos de almacenamiento y mejorar la eficiencia operativa de tus datos en Amazon S3.