Continuando la discussione da Come spostare il mio bucket di upload S3 da un provider a un altro?:
Sto cercando di passare da un bucket GCP a un bucket AWS S3. Il vecchio sistema non utilizza una CDN S3 (chi lo ha configurato, a quanto pare, non sapeva esattamente cosa stesse facendo).
Ho usato s3cmd per sincronizzare il vecchio bucket GCP con un filesystem locale, quindi l’ho usato di nuovo per caricare le risorse sul nuovo bucket S3. Il sistema è ora correttamente configurato con S3 e CDN del sito come descritto in Utilizzo dello storage oggetti per gli upload (S3 e cloni).
L’argomento collegato sopra suggeriva di usare rake posts:remap per aggiornare i post (immagino che dovrei anche ribaking tutti i post? O almeno quelli che corrispondono al vecchio bucket?).
Quando ho eseguito posts:remap, ha rimappato solo un post.
Upload.order(Arel.sql('RANDOM()')).limit(10).pluck(:id, :url)
mostra che tutti quelli hanno il vecchio bucket… Ah, ecco il problema. Non serve rake posts:remap, ma discourse remap come descritto in Change the domain name or rename your Discourse.
Sì, penso di sì.
Mi occuperò di farlo a breve. @Falco, in linea di massima, si tratta di:
- creare un nuovo bucket e una CDN per esso, ricostruire il container per utilizzare il nuovo bucket/CDN e assicurarsi che funzioni
- configurare
s3cmdper il vecchio bucket e sincronizzare i dati in locale - configurare
s3cmdper il nuovo bucket e sincronizzare i dati sul nuovo bucket - eseguire
discourse remap OLD-BUCKET-DOMAIN-NAME NEW-BUCKET-DOMAIN-NAME - ribaking
Sembra corretto?
Se usi la stessa CDN per il vecchio e il nuovo bucket, potresti evitare di dover fare il ribaking, ma ottenere il timing giusto sembra un po’ complicato (non puoi cambiare l’origine della CDN finché i dati non sono nel nuovo bucket, ma dovresti assicurarti in qualche modo che nulla venga caricato sul vecchio bucket durante il processo di sincronizzazione) — forse basta dire che è possibile.