Objetivos de aprendizaje
Después de leer este artículo podrás:
- Entender qué compone la factura de una CDN: tráfico, peticiones y origen
- Estimar el costo mensual de tu sitio con la tabla actual de cada proveedor
- Detectar los costos ocultos: región, fallos de caché, extras y tipo de cambio
"¿Cuánto cuesta una CDN?" tiene dos respuestas verdaderas a la vez: nada y mucho. Un blog con unos cientos de visitas al día cabe en el nivel sin cuota de varios proveedores. Un sitio de videos con público en toda Latinoamérica puede generar una factura de cientos de dólares al mes. Lo que separa los dos casos no es la marca de la CDN, sino el volumen y la región del tráfico.
Para estimar tu factura, necesitas saber de qué está hecha, aplicar los precios actuales de cada proveedor (las tablas cambian, así que consulta siempre la página oficial) y buscar los costos que nadie pone en la primera página de precios. Si todavía no decidiste si necesitas una, lee antes ¿tu sitio necesita una CDN?.
¿Qué compone el costo de una CDN?#
Una CDN guarda copias de tus archivos en servidores repartidos por el mundo y atiende a cada visitante desde el punto más cercano. El cobro sigue ese trabajo:
- Tráfico entregado (egress a internet). El concepto principal: cada GB enviado a los visitantes, con un precio distinto por región.
- Peticiones. Algunos proveedores cobran por lote de 10.000 peticiones HTTP o HTTPS. Los sitios con muchos archivos pequeños lo notan en la factura.
- Llenado de caché (cache fill). El tráfico desde tu origen hasta la CDN cuando el archivo todavía no está en caché. Algunos lo cobran y otros no.
- Salida del origen. Este concepto lo cobra tu hosting o tu storage, no la CDN. Mira tarifas de salida (egress).
- Extras. WAF, optimización de imágenes, logs en tiempo real, invalidación de caché, certificados personalizados.
Hay dos modelos de precio. Con pago por uso, pagas cada GB y cada petición. Con un plan fijo, pagas una cuota mensual con una franquicia de tráfico y peticiones.
¿Cuánto cuestan las principales CDNs?#
Abajo están los modelos de cobro de las CDNs más conocidas. Los montos cambian con frecuencia, así que consulta la página de precios de cada proveedor (enlazadas en las fuentes de esta guía):
| Proveedor | Modelo | Cómo cobra |
|---|---|---|
| Cloudflare | Plan fijo por dominio | Plan Free sin cuota mensual y planes de pago (Pro, Business) con cuota mensual fija y descuento en el pago anual. La página de planes no muestra un precio por GB transferido |
| Amazon CloudFront | Plan fijo | Planes mensuales (del Free al Premium) con franquicia de GB y de peticiones, sin cobro por excedente |
| Amazon CloudFront | Pago por uso | Una franquicia mensual sin costo; después, un precio por GB que varía por región y baja por tramos de volumen, más un monto por cada 10.000 peticiones HTTPS |
| Google Cloud CDN | Pago por uso | Precio por GiB según región y tramo de volumen, más cache fill y consultas de caché cobradas por 10.000 |
En los planes fijos de CloudFront, es la franquicia la que define qué plan te sirve.
¿Cómo estimar el costo de tu sitio?#
La fórmula del pago por uso es:
costo = GB entregados × precio/GB de la región
+ (peticiones ÷ 10.000) × precio por 10.000
+ GB pedidos al origen × (cache fill + egress del origen)El último término depende de la tasa de aciertos de la caché (cache hit ratio): si el 90% de las respuestas sale de la caché, solo el 10% del tráfico vuelve al origen. Para probar escenarios, usa este script en Node.js:
// Estimación mensual de una CDN de pago por uso (valores en US$)
const uso = {
gbEntregados: 3000, // tráfico total servido a los visitantes
peticiones: 30_000_000,
tasaDeAciertos: 0.9, // fracción servida desde la caché (cache hit ratio)
};
const precio = {
porGB: 0.05, // precio por GB en la región de tus visitantes (valor hipotético)
por10kPeticiones: 0, // algunos proveedores no cobran peticiones
egressDelOrigenPorGB: 0, // lo que cobra tu origen por enviar datos a la CDN
};
const entrega = uso.gbEntregados * precio.porGB;
const peticiones = (uso.peticiones / 10_000) * precio.por10kPeticiones;
const origen = uso.gbEntregados * (1 - uso.tasaDeAciertos) * precio.egressDelOrigenPorGB;
console.log({ entrega, peticiones, origen, total: entrega + peticiones + origen });Guárdalo como cdn.mjs, ejecútalo con node cdn.mjs y cambia los números por los de tu sitio. Tu volumen real aparece en los logs o en el panel de analytics de tu hosting.
¿Cuánto cuesta en la práctica, según el tamaño del sitio?#
Los números de esta sección y del script de arriba 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 de precios, listadas en las fuentes. Cámbialos por los de la tabla actual del proveedor que estés evaluando.
Ejemplo hipotético, sitio pequeño: 50 GB y 1 millón de peticiones al mes, público en Sudamérica. En un plan sin cuota mensual, o dentro de la franquicia gratuita de un pago por uso, esta carga suele salir a cero. En un proveedor de pago por uso sin franquicia, suponiendo 0,05 US$ por GB en Sudamérica, serían 50 × 0,05 US$ = 2,50 US$. La CDN casi no pesa.
Ejemplo hipotético, sitio mediano: 3 TB (unos 3.000 GB) y 30 millones de peticiones, público en Sudamérica.
- Pago por uso con cobro de peticiones: suponiendo 0,10 US$ por GB y 0,01 US$ por 10.000 peticiones, son 3.000 × 0,10 US$ = 300 US$ de tráfico más 3.000 × 0,01 US$ = 30 US$ de peticiones. Unos 330 US$, antes de descontar una eventual franquicia gratuita.
- Pago por uso sin cobro de peticiones: suponiendo 0,05 US$ por GB, 3.000 × 0,05 US$ = 150 US$. Si el mismo proveedor cobrara 0,02 US$ por GB en Europa, el mismo público allí costaría 60 US$.
- Con cache fill: con un 90% de aciertos, solo 300 GB vuelven al origen. Suponiendo 0,01 US$ por GB de cache fill, se suman 3 US$ a la factura.
- Plan fijo: la cuota mensual del plan, siempre que 3 TB y 30 millones de peticiones quepan en su franquicia y sus condiciones.
La misma carga puede ir de decenas a cientos de dólares. Dónde están tus visitantes cambia la factura tanto como el proveedor que elijas.
¿Cuáles son los costos ocultos?#
- Región de los visitantes. Sudamérica, África y Oriente Medio suelen costar más por GB que Europa y Norteamérica, y la diferencia va de algunas decenas por ciento a varias veces el precio, según el proveedor. Si tu público está allí, la primera fila de la tabla no es tu referencia.
- Fallos de caché. Cada fallo pide el archivo al origen y puede generar cache fill en la CDN y egress en tu hosting. En Google Cloud CDN, los fallos suman además cargos de procesamiento del balanceador de carga. Un Cache-Control mal configurado multiplica este costo.
- Peticiones de archivos pequeños. Un sitio con millones de iconos y llamadas a la API puede gastar más en peticiones que en GB.
- Invalidación. Algunos proveedores, como CloudFront, incluyen una cuota mensual de rutas invalidadas y cobran por ruta por encima de ella. Los deploys que vacían toda la caché varias veces al día acumulan este costo.
- Extras. Los logs en tiempo real, el WAF y la optimización de imágenes suelen cobrarse aparte.
- Tipo de cambio e impuestos. Casi todas las CDNs cobran en dólares. Si pagas en otra moneda, el tipo de cambio y las comisiones de la tarjeta cambian el monto real.
- Mínimos y franquicias. Un cobro mínimo mensual o una franquicia que se agota a mitad de mes cambian el costo real de quien tiene poco tráfico.
¿Cómo bajar la factura de la CDN?#
- Sube la tasa de aciertos. Usa nombres de archivo con hash y
Cache-Control: public, max-age=31536000, immutablepara los assets que no cambian. - Comprime y optimiza. Imágenes en WebP o AVIF y texto con Brotli o gzip reducen los GB entregados, que es el concepto más caro.
- Invalida solo lo que cambió. Con nombres versionados, casi nunca hace falta invalidar.
- Elige según la región de tu público. Compara el precio por GB donde están tus visitantes, no el precio de escaparate.
- Revisa lo que ya viene incluido. Muchos hostings ya ponen una CDN delante de la aplicación. Pagar otra encima solo compensa si te falta una función concreta.
Cómo hacerlo en Square Cloud#
En Square Cloud, la CDN no aparece como una línea aparte en la factura. Todos los planes incluyen CDN global, tráfico ilimitado sin cobro por ancho de banda ni por petición (sujeto a la política de uso justo), WAF, protección DDoS L3/L4/L7 y TLS automático. La red es una CDN Anycast basada en Cloudflare, con más de 200 puntos de presencia, HTTP/3 y WebSockets.
Los planes empiezan con Hobby, desde R$12,49 al mes, cobrados en reales por Pix o tarjeta. Toda aplicación web recibe un subdominio *.squareweb.app con HTTPS; el dominio personalizado y el load balancing, que tampoco cobra por petición, empiezan en Standard, desde R$44,99 al mes.
La CDN guarda en caché las respuestas y respeta el Cache-Control de tu aplicación, así que definir esos encabezados sigue siendo tarea tuya: son los que indican a los navegadores y a la CDN cuánto tiempo guardar cada respuesta. Mira los detalles en la página de red y CDN.
Red
Dominio propio, TLS automático y CDN global para tu app
Preguntas frecuentes
¿Existe una CDN sin costo?
Sí. El plan Free de Cloudflare no tiene cuota mensual, y Amazon CloudFront tiene un plan Free de tarifa plana con una franquicia mensual de transferencia y peticiones. Revisa los límites y las condiciones actuales de cada uno.
¿Por qué la CDN cobra más caro en Sudamérica?
El costo de ancho de banda y de tránsito de red varía por región, y los proveedores lo trasladan a su tabla de precios. En varios de ellos, el GB entregado en Sudamérica cuesta bastante más que en Europa y Norteamérica, a veces varias veces más.
¿La CDN también cobra por lo que viene de mi origen?
Algunas cobran el llenado de caché (cache fill), y tu hosting puede cobrar la salida de datos del origen hacia la CDN. Cuanto mayor sea la tasa de aciertos de la caché, menor será esa parte de la factura.
¿Plan fijo o cobro por GB: qué sale más barato?
Con poco tráfico, el pago por uso suele quedar cerca de cero. Con tráfico grande o impredecible, un plan fijo da previsibilidad. Haz la cuenta con tu volumen real de los últimos meses.
Más en Redes y dominios
Ver los 27 artículos- Qué es un balanceador de carga y para qué sirveUn balanceador de carga reparte las solicitudes entre varios servidores. Aprende cómo funciona, los algoritmos, capa 4 y 7 y un ejemplo con nginx.
- Registros DNS: A, CNAME, MX y TXTLos registros DNS son las instrucciones de una zona que indican a dónde apunta un nombre. Entiende A, AAAA, CNAME, MX, TXT, NS y CAA con ejemplos y comandos dig.
- Cómo apuntar un dominio a tu hostingPara apuntar un dominio a tu hosting, crea un registro CNAME (o A) en el DNS de tu registrador. Pasos, cómo comprobarlo y los errores más comunes.
- Encabezado Cache-Control: cuánto tiempo se guarda un archivo en cachéCache-Control es el encabezado HTTP que define cuánto tiempo navegador y CDN guardan una respuesta. Mira max-age, no-cache, immutable y recetas por tipo de archivo.