Richie、ご報告ありがとうございます。私も数年間 AWS S3 の画像ストレージを使用しており、コンソールのメッセージを通じてこのスレッドにたどり着きました。ただし、冒頭の説明には「すでに S3 を利用しており、CDN が必要だけ」というケースについては触れられていません。
参考までに、私が行った手順を記載します。
- AWS コンソールにアクセスし、「Network and Content Delivery」から CloudFront を選択
- 「Create distribution」ボタンをクリック
- 比較的わかりやすいフォームに入力。実際に行う必要があるのは、ドロップダウンメニューから画像が保存されている AWS S3 バケットを選択することのみ
- CloudFront の設定完了まで少し待つ
- CloudFront Distributions リストの「Domain Name」列に
<gibberish>.cloudfront.netというドメインが表示された - そのドメインをコピーし、サイト管理の File 設定にある
s3 cdn urlフィールドに貼り付け - いくつかのテストを実施:
a. 新しい投稿を作成して画像をアップロードすると、実際に CloudFront 経由で表示された
b. 既存の画像を含むいくつかのランダムな投稿で「Rebuild HTML」を実行すると、画像がcloudfront.net経由で再構築されていることが確認できた - すべて問題なさそうだったため、再ビルド(rebake)を実行。現在投稿数が約 50 万件あるため、数時間かかった:
./launcher enter app
# rake posts:rebake
- 現在はすべて正常に動作しているようです。Sidekiq キューには投稿数分のジョブが大量に追加されており、数日かけて処理が進む見込みですが、現在順次処理が進んでいます。