Migrar Supabase Storage a S3 sin romper imágenes, permisos ni URLs

Publicado el 2026-11-14 por frfrand

Plan práctico para migrar archivos desde Supabase Storage a S3 con inventario, claves, políticas, URLs, validación y reversión.

Migrar Supabase Storage a S3 sin romper imágenes, permisos ni URLs

Mover los archivos de Supabase Storage a un servicio compatible con S3 es más que copiar objetos. Si tu aplicación depende de URLs públicas, enlaces firmados, permisos por usuario o metadatos de buckets, un cambio apresurado puede dejar imágenes rotas y archivos privados accesibles.

1. Antes de copiar, inventaría el uso real

Documenta cada bucket, su visibilidad, nombres de objetos, cantidad de archivos, tamaño total y formatos. Busca dónde se guardan las rutas: columnas SQL, respuestas de API, plantillas de email y caches. Anota qué archivos se descargan con URLs firmadas, qué usuarios pueden subirlos y qué flujos necesitan borrar o reemplazar objetos.

2. Mapea la seguridad de Supabase a S3

En Supabase Storage, las reglas pueden apoyarse en las políticas de autorización del proyecto. En S3 tendrás que definir permisos de bucket, políticas IAM, validación en la API y eventualmente URLs prefirmadas. No copies simplemente los permisos públicos: revisa los casos de autenticación y separación entre organizaciones.

ElementoAntesDespués
BucketPúblico o privadoPolítica explícita del proveedor S3
RutaClave de objeto SupabaseClave de objeto S3
URLDominio y API de SupabaseDominio S3/CDN/proxy
Acceso temporalSigned URLURL prefirmada con caducidad
AuditoríaLogs de SupabaseRegistros del proveedor y aplicación

3. Diseña las claves y la estrategia de URL

Evita usar URLs absolutas como identificadores permanentes en la base. Mejor guarda una clave estable, por ejemplo tenant_42/avatar/abc.webp, y genera la URL desde la API según el proveedor activo. Si ya guardaste URLs completas, prepara un mapeo de reemplazo y una compatibilidad temporal mediante redirecciones o proxy, respetando la privacidad.

4. Copia y verifica

Utiliza una herramienta o script que pueda listar objetos del origen de manera autorizada y subirlos al destino conservando MIME, tamaño, metadatos necesarios y nombres válidos. No presupongas que el ETag es siempre un hash MD5: las cargas multiparte y configuraciones del proveedor pueden producir valores distintos.

Verifica conteo de objetos, bytes totales, hashes calculados al descargar muestras o el conjunto completo cuando sea viable, y accesibilidad. Comprueba archivos con espacios, caracteres especiales y rutas profundas. Define un informe de excepciones por cada objeto fallido.

5. Evita la pérdida de escrituras durante el cambio

Opciones: parar temporalmente subidas, habilitar doble escritura con reconciliación o mantener un periodo de sincronización incremental. Elige según el volumen y tolerancia al downtime. No cambies las lecturas hasta validar las nuevas URLs con una versión de prueba del frontend.

Tras el cambio, monitoriza 403, 404, tamaño de respuesta y tasa de errores de carga. Mantén un plan para volver al origen durante el periodo de transición.

6. No olvides costes y retención

Incluye almacenamiento, solicitudes PUT/GET, salida de red, CDN, backups, soporte y posible facturación por transferencia entre regiones. Confirma cifrado y retención con tu proveedor; S3 compatible no significa que todos implementen exactamente las mismas características.

Consulta migrar datos y servicios desde Lovable Cloud, qué es Supabase y los servicios de ArduMaker.

Preguntas frecuentes

### ¿Puedo copiar archivos sin tocar mi frontend? Solo si mantienes una capa de compatibilidad para URLs y permisos.

¿S3 tiene las mismas políticas que Supabase?

No. Debes reproducir las reglas relevantes con políticas y lógica de backend.

¿Es seguro eliminar el bucket original enseguida?

No antes de validar la migración, expiración de enlaces, copias y reversión.

Referencias: Supabase Storage y Amazon S3.

  • Supabase
  • S3
  • migración
  • storage
  • seguridad

Seguir leyendo

Todos los artículos · Planes de VPS