Спасибо за отчет, Ричи. У меня также уже несколько лет работает хранение изображений в AWS S3, и я попал на этот пост через сообщение в консоли. Однако описание вверху ничего не говорит о случае, когда у вас уже есть S3 и нужен только CDN.
Для справки вот что я сделал:
- Зашел в консоль AWS, в разделе «Сеть и доставка контента» выбрал CloudFront.
- Нажал кнопку «Создать дистрибуцию».
- Заполнил довольно очевидную форму; единственное, что действительно нужно было сделать, — выбрать из выпадающего списка свой бакет AWS S3, где хранятся изображения.
- Немного подождал, пока завершится конфигурация CloudFront.
- В столбце «Имя домена» списка дистрибуций CloudFront появился домен вида
<гиперссылка>.cloudfront.net. - Скопировал и вставил этот домен в поле «URL CDN S3» в настройках файлов панели администратора моего сайта.
- Провел несколько тестов:
a. Создал новый пост с загрузкой изображения, и оно действительно оказалось на CloudFront.
b. Запустил пересборку HTML для нескольких случайных существующих постов с изображениями и увидел, что они тоже были пересобраны с использованием изображенийcloudfront.net. - Так как всё выглядело хорошо, я запустил ребейк, что заняло несколько часов, поскольку у меня сейчас около полумиллиона постов:
./launcher enter app
# rake posts:rebake
- Всё, похоже, работает корректно. В очередь Sidekiq было добавлено множество задач, по одной на каждый пост, как кажется, которые займут несколько дней на очистку, но система уже начала их обрабатывать.