AhauTech logoAhauTech

Subir archivos Cloudflare: guía con R2

Actualizado 8 ago 2026

Subir archivos Cloudflare puede ser una excelente alternativa cuando una aplicación necesita almacenar imágenes, documentos, videos, archivos comprimidos u otro contenido generado por los usuarios. Una de las opciones más interesantes dentro del ecosistema de Cloudflare es Cloudflare R2 Storage, un servicio de almacenamiento de objetos pensado para aplicaciones web y proyectos que necesitan manejar grandes cantidades de información.

Pero, ¿cómo funciona realmente? ¿Qué son los Cloudflare buckets y cómo se pueden utilizar desde una aplicación?

En esta guía veremos cómo subir archivos a una plataforma de almacenamiento en la nube rápida y segura, qué ventajas ofrece R2, cómo integrarlo en proyectos y qué alternativas existen para controlar el acceso a los archivos. También veremos un aspecto especialmente importante para aplicaciones con mucho tráfico: el costo de transferir los archivos almacenados.

¿Qué es Cloudflare R2 Storage?

Cloudflare R2 Storage es un servicio de almacenamiento de objetos. Su funcionamiento se basa en almacenar archivos dentro de contenedores llamados buckets, donde cada archivo se identifica mediante una clave o nombre de objeto.

A diferencia de un sistema de archivos tradicional, los Cloudflare buckets no funcionan exactamente como carpetas convencionales. Los objetos se almacenan dentro de una estructura plana, aunque sus nombres pueden utilizar rutas para organizar el contenido.

Una de las características más importantes de R2 es que ofrece compatibilidad con la API de Amazon S3. Esto significa que muchas aplicaciones y bibliotecas diseñadas para trabajar con S3 pueden utilizarse también con R2 modificando principalmente el endpoint de conexión.

Documentación oficial de Cloudflare R2: Cloudflare R2 Storage

¿Cómo funcionan los Cloudflare buckets?

Un bucket puede entenderse como el espacio donde se almacenan los archivos de una aplicación.

Por ejemplo, un proyecto podría tener un bucket llamado mi-aplicacion y almacenar objetos como:

  • usuarios/123/avatar.webp
  • productos/456/imagen.webp
  • documentos/factura-2026-001.pdf
  • videos/tutorial-01.mp4

Esta estructura permite separar los archivos de acuerdo con su función sin necesidad de crear físicamente una carpeta para cada categoría.

Además, R2 ofrece diferentes formas de interactuar con los objetos: desde el panel de Cloudflare, mediante herramientas de línea de comandos, utilizando Workers o mediante una API compatible con S3.

¿Cómo subir archivos a Cloudflare R2?

Para subir archivos Cloudflare desde una aplicación existen diferentes estrategias. La elección depende principalmente de si el archivo será enviado desde el servidor o directamente desde el navegador del usuario.

Una arquitectura especialmente útil consiste en utilizar URLs prefirmadas. En este modelo, el servidor genera temporalmente una URL que autoriza al navegador a subir un archivo directamente al bucket.

El flujo sería aproximadamente el siguiente:

  1. El usuario selecciona un archivo en la aplicación.
  2. El frontend solicita autorización al backend.
  3. El backend genera una URL prefirmada.
  4. El navegador utiliza esa URL para subir el archivo directamente a R2.
  5. El backend puede guardar en la base de datos la referencia al objeto.

Este enfoque evita que las credenciales de R2 tengan que exponerse en el navegador y también evita convertir al backend en intermediario de todos los archivos. Cloudflare documenta específicamente el uso de URLs prefirmadas mediante operaciones PUT.

¿Cómo subir archivos a una plataforma de almacenamiento en la nube rápida y segura?

La seguridad depende en gran medida de cómo se diseñe la arquitectura.

Una buena práctica es mantener las credenciales de acceso a R2 exclusivamente en el backend. El frontend nunca debería recibir las claves permanentes del almacenamiento.

Las URLs prefirmadas son útiles precisamente para este escenario porque permiten conceder permisos temporales para una operación concreta. Cloudflare señala que estas URLs deben tratarse como tokens de acceso y recomienda utilizar tiempos de expiración adecuados.

Por ejemplo, una aplicación podría permitir que un usuario cargue una imagen durante los siguientes cinco minutos, sin darle acceso permanente al bucket.

Esto resulta especialmente interesante para sistemas administrativos, plataformas de documentos, portales de clientes, aplicaciones SaaS y sitios web que reciben contenido generado por usuarios.

Ventajas de utilizar Cloudflare R2

Una de las principales razones para considerar Cloudflare R2 Storage es su modelo de costos. Actualmente, R2 no cobra transferencia de datos de salida (egress) directamente desde el servicio, mientras que sí cobra por almacenamiento y determinadas operaciones.

Esto puede resultar relevante para proyectos que almacenan archivos y posteriormente los entregan a muchos usuarios.

Por ejemplo, una aplicación que almacena imágenes y las sirve constantemente puede generar una cantidad considerable de tráfico. En ese escenario, eliminar los cargos de egress puede simplificar el cálculo de costos.

Entre las principales ventajas de Cloudflare R2 Storage podemos destacar:

  • Compatibilidad con la API de S3.
  • Almacenamiento de objetos para archivos de diferentes tipos.
  • Integración con el ecosistema de Cloudflare.
  • Ausencia de cargos de egress desde R2.
  • Posibilidad de utilizar URLs prefirmadas.
  • Integración mediante Workers.
  • Posibilidad de conectar dominios personalizados.
  • Uso desde aplicaciones existentes mediante SDKs compatibles con S3.

El servicio también dispone de una capa gratuita mensual que incluye almacenamiento y determinadas operaciones en la clase Standard, aunque el consumo adicional se factura según las tarifas vigentes.

Consulta los precios actuales de R2: Cloudflare R2 Pricing

¿Cómo puedo usarlo para mis proyectos?

La pregunta “¿Cómo puedo usarlo para mis proyectos?” depende del tipo de aplicación que estés desarrollando.

En una aplicación web, por ejemplo, R2 puede utilizarse para almacenar imágenes de productos, fotografías de usuarios, archivos adjuntos o contenido multimedia.

En una aplicación empresarial también puede servir para almacenar documentos PDF, reportes, respaldos, comprobantes o archivos generados automáticamente por el sistema.

Otra posibilidad consiste en utilizar R2 como almacenamiento para un sitio web. En este escenario, los archivos pueden servirse mediante un dominio personalizado conectado al bucket. Cloudflare permite utilizar dominios personalizados y, mediante esta configuración, aprovechar servicios como caching y determinadas herramientas de seguridad.

Esto permite separar los archivos estáticos del servidor principal.

Por ejemplo:

  • https://miweb.com

podría encargarse de la aplicación, mientras que:

  • https://cdn.miweb.com

podría utilizarse para imágenes, documentos y otros archivos almacenados en R2.

Consulta cómo configurar buckets públicos: Cloudflare R2 Public Buckets

Archivos públicos y privados

No todos los archivos deberían ser públicos.

Un catálogo de productos puede necesitar imágenes accesibles desde Internet, pero una factura, contrato o documento personal debería permanecer protegido.

Los buckets de R2 son privados por defecto. Para publicar contenido, Cloudflare permite utilizar un dominio personalizado o un subdominio r2.dev, aunque este último está orientado principalmente a escenarios de desarrollo y tiene limitaciones de uso.

Para información sensible, una arquitectura basada en backend y URLs prefirmadas suele ser más apropiada.

De esta manera, el usuario puede solicitar acceso a un documento concreto sin convertir todo el bucket en contenido público.

¿Cuánto cuesta almacenar archivos en Cloudflare?

El precio es otro de los puntos que conviene analizar antes de elegir una plataforma.

Actualmente, R2 Standard tiene un precio de almacenamiento de 0.015 USD por GB-mes, mientras que las operaciones se dividen en clases A y B. Además, existe una cuota gratuita mensual de 10 GB-mes de almacenamiento, 1 millón de operaciones Clase A y 10 millones de operaciones Clase B para Standard.

La ventaja especialmente relevante es que la transferencia de salida desde R2 hacia Internet no tiene cargo de egress.

Sin embargo, esto no significa que cualquier arquitectura alrededor de R2 sea automáticamente gratuita. Otros servicios conectados al bucket pueden tener sus propios costos, por lo que conviene analizar el flujo completo de la aplicación.

Consulta siempre las tarifas antes de lanzar un proyecto: Precios oficiales de Cloudflare R2

¿Cuándo conviene utilizar Cloudflare R2?

Cloudflare R2 Storage resulta especialmente interesante cuando una aplicación necesita almacenar y entregar archivos de forma frecuente.

Algunos casos de uso habituales son:

  • Plataformas SaaS.
  • Sistemas administrativos.
  • Galerías de imágenes.
  • Aplicaciones con contenido generado por usuarios.
  • Sitios web con muchos archivos multimedia.
  • Plataformas de documentos.
  • Aplicaciones que generan reportes.
  • Proyectos que necesitan almacenamiento compatible con S3.

También puede ser una buena opción cuando el proyecto ya utiliza otros servicios de Cloudflare y se busca mantener parte de la infraestructura dentro del mismo ecosistema.

Por otro lado, no necesariamente es la mejor solución para todos los escenarios. Si el proyecto necesita características muy específicas de almacenamiento, procesamiento avanzado o servicios estrechamente vinculados a otro proveedor, conviene comparar alternativas antes de tomar una decisión.

Subir archivos Cloudflare R2 mediante URL prefirmada

Conclusión

Subir archivos Cloudflare mediante R2 puede ser una alternativa muy interesante para aplicaciones modernas que necesitan almacenamiento de objetos, especialmente cuando deben manejar imágenes, documentos, videos u otros archivos generados por los usuarios.

Cloudflare R2 Storage combina compatibilidad con S3, diferentes mecanismos de integración, URLs prefirmadas y un modelo de costos donde no se cobra egress directamente desde R2.

Los Cloudflare buckets también permiten diseñar arquitecturas donde los archivos públicos y privados se gestionan de manera diferente, dependiendo de las necesidades de seguridad de cada aplicación.

Si estás desarrollando un proyecto web, SaaS o sistema empresarial, entender cómo puedo usarlo para mis proyectos es el primer paso para determinar si R2 encaja realmente en tu arquitectura.

Antes de implementarlo, revisa la documentación oficial, define qué archivos necesitas almacenar y decide qué contenido debe ser público y cuál debe permanecer protegido. Con una arquitectura adecuada, R2 puede convertirse en una pieza sencilla y escalable de tu infraestructura.