Estoy bastante confundido con esta situación. Tenemos un bucket de BackBlaze B2 para cargas (imágenes y recursos), combinado con BunnyCDN. B2 Cloud Storage no soporta marcadores de eliminación (tombstones), por lo que tenemos muchas imágenes y scripts sin usar. Ahora quiero migrar estas cargas a Digital Ocean Spaces manteniendo la misma configuración de BunnyCDN, solo cambiando la URL de origen a DO.
Utilizamos esta excelente guía para configurar B2 Cloud Storage, y queremos cambiar a la versión de DO.
¿Cuál es la mejor práctica para realizar la migración? Tenemos aproximadamente 10 GB de cargas. B2 tiene la función de instantáneas (Snapshot), pero es muy lenta. El código de consola rake uploads:migrate_from_s3 primero descarga todo desde S3 y necesitamos volver a generar (rebake) los posts, lo cual también es un proceso muy lento debido a las imágenes. Después de este proceso, podemos subir todo a DO Spaces. ¿Es correcto?
¿Qué sucede si creamos una instantánea en B2 Cloud Storage, descargamos todo manualmente a nuestro equipo y luego subimos todo a DO Spaces? Después de este proceso, modificamos la URL de origen de la zona de extracción (pull zone) de BunnyCDN para apuntar a DO Spaces, cambiamos el archivo app.yml y reconstruimos. ¿De esta manera necesitamos volver a generar los posts?
Una pregunta más… ¿Qué sucede con los archivos e imágenes sin usar en DO Spaces? ¿El sistema los reconoce y los eliminará?
Creo que la forma más sencilla es activar la configuración oculta que descarga todos los archivos de S3 a una copia de seguridad en la consola (puedes buscar aquí o revisar el código fuente), cambiar a espacios, restaurar la copia de seguridad y reconstruir el contenedor.
Recuerda desactivar la configuración que descarga las imágenes, ¡de lo contrario descargarás y subirás todas tus subidas en cada copia de seguridad!
He querido resolver esto durante años, pero mis pruebas siguen fallando, probablemente por casos extremos. Avísame si funciona. Puedes probarlo restaurando en un sitio de prueba.
¡Gracias! Entonces, ¿este proceso respalda todo desde S3 también? Esto generará un archivo de respaldo enorme en B2 Cloud Storage después de descargarlo a la computadora y, antes de restaurarlo, ¿debo cambiar el archivo app.yml y la CDN para que apunten a DO Spaces? Así se restaurarán los archivos en DO Spaces.
Pero al crear el archivo de respaldo, ¿el app.yml debe contener la información de DO Spaces para restaurar en el lugar correcto? ¿O puedo editar el archivo app.yml dentro del respaldo después de haberlo creado?
¡Ah, sí! Porque olvidé que el respaldo también está en B2 Cloud Storage. Solo es otro bucket.
Lo encontré, así que solo estoy pensando: ¿qué pasaría si lo migramos de nube a nube y solo cambiamos el CDN y el archivo app.yml? ¿Sería viable? Si lo es, quizás esta sea la solución más sencilla y rápida para este proceso. También ofrecen soporte para BackBlaze.
¡Hice la migración anoche sin ningún problema! ¡Gracias a Falco! DO Spaces corrige muchos errores que había antes en B2 Cloud Storage y además es mucho más rápido. ¡Gracias por su ayuda, chicos!
Tuvimos muchas advertencias de “url prohibida” en los archivos JS en los registros. Ahora los registros están limpios. A veces Composer se quedaba bloqueado y surgían este tipo de errores. Ahora todo es fluido y rápido.
Nunca nos notifican cuando la clave de API expira, lo cual es uno de los mayores problemas. Sin embargo, en el panel B2 dice que nunca expira, pero siempre expira después de unos pocos meses y rompe nuestro sitio. Creo que B2 tiene algún tiempo de inactividad o algo inestable, porque a veces la carga de imágenes falla.
No sé si hubo un problema con las notificaciones push; quizás eso también lo causó, pero no estamos seguros. Lo estamos probando ahora.
Para nosotros, fue una buena decisión movernos a DigitalOcean Spaces en Frankfurt, ya que nuestro foro también está allí. Más rápido y más estable hasta ahora. Esperamos que siga siendo bueno en el futuro también.