Как переместить бакет Lightsail S3 в официальный бакет AWS S3, а также настроить CloudFront CDN

Всем привет,
мне нужна помощь или идея, как это реализовать.

Продолжение обсуждения из Настройка загрузки файлов и изображений в S3:

Если коротко:

  • Сначала я попытался настроить свой бакет AWS S3 для загрузки и резервного копирования, но столкнулся с проблемой: политика ACL бакета не позволяла загружать файлы в бакет S3.
  • Временное решение: я создал два бакета AWS Lightsail — один для загрузки, другой для резервного копирования. Оба бакета отлично работают с настроенным CDN CloudFront. Всё функционирует нормально, но я всё же хочу правильно настроить основную систему!
  • Окончательное решение: благодаря посту от @RedBear мне наконец удалось запустить бакет AWS S3 с правильно настроенной политикой S3. Примечание: я ещё не переключил старый CloudFront на новый CDN CloudFront.

Мой вопрос перед тем, как я приступлю к выполнению задач rake:

rake uploads:migrate_to_s3
rake posts:rebake
  • Какое решение будет лучшим и наиболее плавным для миграции со старого бакета S3 со старым CDN CloudFront на новый бакет S3 с новым CDN CloudFront?

Примечание: на данный момент мой новый бакет S3 для загрузок пуст.

Большое спасибо.
Куанг

Существует Moving from one S3 bucket to another, но это не очень просто.

Я думаю, что если всё ещё находится в бакетах Lightsail, как вы говорите, я бы поступил следующим образом:

  • включить скрытую настройку SiteSetting.include_s3_uploads_in_backups=true на сайте со старыми бакетами
  • установить режим только для чтения
  • создать резервную копию
  • восстановить эту резервную копию на недавно настроенную систему
  • переключить DNS на новую систему

Я бы оставил старую систему в рабочем состоянии на некоторое время, пока не убедитесь, что на новой системе всё в порядке.

Если у вас объекты находятся в нескольких бакетах на одном экземпляре, всё становится гораздо сложнее. У меня есть несколько сайтов, устроенных именно так, и я пытаюсь привести их в порядок время от времени уже дольше, чем готов публично признать.

Можешь опубликовать решение? Посты от @RedBear удалены.