Objetivos de aprendizaje
Después de leer este artículo podrás:
- Entender qué es el egress y cuándo se cobra
- Estimar el costo de salida de un proyecto con una cuenta sencilla
- Reducir o evitar tarifas de salida al elegir un storage
Cuando comparas storages en la nube, el número que todos miran es el precio por GB almacenado. Pero almacenar es la parte barata. En muchos proveedores, la cuenta crece de verdad cuando los archivos se descargan.
Ese cobro se llama tarifa de salida, o egress. Suele pasar desapercibido hasta la primera factura de un proyecto con muchas descargas: un sitio de imágenes, una app de video, una API que entrega archivos.
¿Qué es el egress, en la práctica?#
Egress es todo dato que sale de la red del proveedor. En el object storage, eso significa cada vez que alguien descarga un archivo de tu bucket: un visitante abriendo una imagen, una app pidiendo un PDF, otro servidor bajando un dump.
Lo opuesto, ingress, es el dato que entra. Amazon S3 y Azure indican que la transferencia de entrada desde internet es gratuita. Por eso el modelo es asimétrico: enviar es gratis, descargar cuesta, y cambiar de proveedor también cuesta, porque sacar tus datos de ahí es egress.
¿Cómo se cobra el egress?#
Lo habitual es cobrar por GB transferido, con tramos de precio que cambian según la región y el volumen. Los grandes proveedores siguen un diseño parecido:
- Amazon S3: hay una franquicia mensual de salida gratuita hacia internet, sumada entre todos los servicios y regiones de AWS. Por encima de ella, el precio por GB depende de la región y baja por tramos a medida que crece el volumen.
- Azure: también hay una franquicia mensual gratuita, y el precio por GB varía según la región de origen: salir desde América del Sur suele costar bastante más que salir desde América del Norte o Europa.
Los valores están en dólares y cambian con el tiempo, así que revisa las páginas oficiales de AWS y de Azure antes de hacer tus cálculos.
La transferencia interna tiene sus propias reglas. En S3 es gratuita entre buckets de la misma región y se cobra entre regiones. Piensa en el egress como una regla sobre hacia dónde va el dato, no solo sobre cuánto.
¿Cuánto cuesta esto en un ejemplo?#
Los números de esta sección son hipotéticos, elegidos para facilitar la cuenta. No son precios de ningún proveedor; los valores reales están en las páginas oficiales citadas arriba.
Ejemplo hipotético: imagina un sitio que sirve imágenes y entrega 2 TB al mes (2.000 GB) a sus visitantes, en un proveedor que cobra US$0,10 por GB y da una franquicia gratuita de 100 GB:
(2000 GB - 100 GB) x US$0,10 = US$190 al mesGuardar esos mismos 2 TB costaría una fracción de eso: a US$0,02 por GB-mes, también hipotético, serían US$40. Si el mismo contenido se descargara diez veces más, la cuenta llegaría a US$1.990 sin que cambiara un solo byte almacenado.
La fórmula general es sencilla:
costo de salida = (GB descargados en el mes - franquicia gratuita) x precio por GBPara estimar, multiplica el tamaño medio del archivo por el número de descargas y suma todos los archivos populares. Un archivo de 5 MB descargado 400 mil veces son 2.000 GB.
¿Cuáles son los costos ocultos?#
- Picos de tráfico. Una publicación viral o un bot de scraping multiplican las descargas sin aviso. Con cobro por GB, el susto llega en la factura.
- Hotlinking. Otro sitio que usa el enlace directo de tus imágenes genera egress en tu cuenta.
- Migración. Descargar todo para cambiar de proveedor es egress sobre el volumen entero.
- Transferencia entre regiones. Replicar datos a otra región también se cobra.
- CDN en cascada. Una CDN reduce las solicitudes al storage, pero la transferencia del storage a la CDN y de la CDN al usuario puede tener precios separados. Revisa la regla de cada proveedor.
¿Cómo reducir o evitar el egress?#
- Pon una CDN delante de los archivos públicos, con cabeceras
Cache-Controllargas. El archivo sale del storage una vez y el resto viene de la caché. Consulta la diferencia entre archivos públicos y privados. - Comprime y redimensiona. Una imagen WebP de 80 KB en lugar de un JPEG de 2 MB recorta el egress en más de un 90%.
- Mantén el cómputo y los datos en la misma región, para que la lectura interna no se cobre como salida.
- Limita el hotlinking y usa enlaces temporales (URLs firmadas) en archivos que no deben ser públicos.
- Elige un proveedor con un egress favorable. Algunos cobran menos o no cobran. Backblaze B2, por ejemplo, ofrece una franquicia de salida gratuita proporcional al volumen almacenado y cobra un precio bajo por GB por encima de ella. También hay storages compatibles con S3 sin tarifa de salida; revisa la política de cada uno.
Al comparar, lee la política de transferencia completa: franquicia gratuita, precio por GB, si hay cobro por solicitud y si existe una política de uso justo. Para el concepto base, consulta qué es el object storage.
Cómo hacerlo en Square Cloud#
El Blob Storage de Square Cloud es un object storage con API compatible con S3 y no cobra tarifa de salida ni de entrada. En el ejemplo de arriba, la línea de tráfico simplemente desaparece, porque la descarga no tiene cobro de ancho de banda. El límite que sí existe es otro: un rate limit de solicitudes S3 por plan.
La cuota de almacenamiento incluida va de 5 GB a 250 GB según el plan, y los valores de cada uno están en las páginas del Blob y de precios. Los archivos públicos se sirven a través de una CDN global en la edge.
Como el protocolo es compatible con S3, usas las herramientas que ya conoces, como aws-cli, rclone y boto3. Eso también facilita un eventual cambio de proveedor: llevarte tus datos no se convierte en un cobro de egress.
Descubre cómo funciona el Blob en la página de Blob Storage.
Blob Storage
Object storage compatible con S3, sin tarifas de salida
Preguntas frecuentes
¿Qué significa egress en la nube?
Egress es el tráfico que sale de un servicio en la nube hacia internet o hacia otro proveedor. En el object storage, es cada descarga de archivo que hacen usuarios, apps u otros servidores.
¿El ingress (entrada) también se cobra?
En general no. Amazon S3 y Azure indican que la transferencia de datos hacia dentro, desde internet, es gratuita. El cobro recae sobre la salida.
¿Cómo evitar las tarifas de salida?
Elige un storage sin tarifa de salida o con una franquicia generosa, pon una CDN delante de los archivos públicos, usa caché y mantén la aplicación y los datos en la misma región, donde la transferencia interna suele ser gratuita.
¿Se cobra egress cuando la aplicación lee el archivo en la misma región?
En Amazon S3, la transferencia entre buckets de la misma región y hacia servicios de AWS de la misma región es gratuita. Lo que suele cobrarse es la salida a internet y entre regiones.
Más en Storage
Ver los 15 artículos- Qué es una URL prefirmada (presigned URL)Una URL prefirmada (presigned URL) es un enlace temporal a un archivo privado que funciona sin login. Mira cómo funciona, sus límites y cuándo usarla.
- Qué es el almacenamiento de objetosEl almacenamiento de objetos guarda archivos como objetos con clave y metadatos, accesibles por una API HTTP. Mira cómo funciona, para qué sirve y sus límites.
- Qué es S3 y qué significa 'compatible con S3'S3 es el almacenamiento de objetos de Amazon y su API se volvió el estándar del sector. Aprende qué significa ser compatible con S3 y cómo conectarte.
- Subir archivos grandes: carga multiparte y reanudableLa carga multiparte divide un archivo grande en partes que se envían en paralelo y se reintentan por separado. Mira el paso a paso en Python y cómo reanudar.