これらすべてをどう行うかを見つけるのに永遠がかかったので、他の人にもっと簡単にできるようにこのガイドを作成しました。この方法で画像を提供することで、Web サイトの読み込みが速くなるとされています。私の Discourse 設定は、DigitalOcean のドロペット、BackBlaze B2 S3、BunnyCDN、そして無料版の Cloudflare を組み合わせています。
信頼性、価格、ベンチマークについて少し調査した後、これらのサービスを選びました。私にとって最適な選択肢に見えました。Cloudflare はセキュリティに役立ちますが、私の理解ではサイトが少し遅くなる可能性もあるため、それについても調べてみてください。Backblaze は Cloudflare と Bunny との提携により、無料のデータ転送を可能にしています。
Cloudflare は CDN と呼ばれていますが、通常の CDN のように機能するわけではなく、おそらく S3 と Discourse の設定には単独では機能しないでしょう。別の CDN プロバイダーが必要になる可能性があります。私には BunnyCDN がよく機能しています。もし誰かが Cloudflare だけで成功させたことがあれば、教えてください ![]()
S3 へのアップロード設定方法:
まず、Backblaze に登録し、バケットを作成してから、Discourse の設定に詳細を入力する必要があります。
次に、BunnyCDN に登録して、このガイドに従ってください。
https://bunnycdn.com/?ref=qcp86164sq(紹介リンクです。私の請求書に 20 ドルのクレジットが適用されます)
BunnyCDN のプルゾーンを作成したら、Discourse の管理バックエンド設定にある「s3 cdn url」に挿入する正しい URL を取得する必要があります。BunnyCDN ダッシュボードへ → プルゾーン → プルゾーンの管理 → ゾーンをクリック → 「ホスト名」の横にある URL をコピーします。
URL は例:example.b-cdn.net のようになりますが、その前に https:// を付けて https://example.b-cdn.net のようにする必要があります。
Discourse の管理設定エリアで変更を保存します。
Discourse サイトのブラウザで Ctrl+F5 を 2 回押します。
Discourse テキストコンポーザーで画像をアップロードしてテストします。テスト画像の要素を検査するか、画像のソースを表示して、正常に動作したか確認します。URL は通常のドメインとは異なり、example.b-cdn.net / ファイル名 のような形式になるはずです。
これで、誰かが画像をアップロードするたびに、その画像は Backblaze バケットに保存され、DigitalOcean ドロペットの容量を占有しなくなります ![]()
S3 へのアップロードのバックアップ
Discourse のバックアップを Backblaze バケットに保存したい場合は、以下の手順を行ってください。
このスレッドの上部に投稿したガイドでは、2 つの別のバケットが必要であることが説明されています。1 つ目のバケットはパブリックで、ユーザーがフォーラムに画像をアップロードするためのアップロード用バケットです。もう 1 つのバケットはプライベートで、バックアップ用バケットです。何か問題が起きた場合に備えて、Discourse の自動バックアップを作成することが重要です。そうすれば、バックアップをロードして修正できます。
BunnyCDN ダッシュボードで、2 番目のプルゾーンを作成してください。最初のプルゾーンはアップロード用でしたが、新しいプルゾーンはバックアップ用になります。
bunnycdn ダッシュボード → プルゾーン → プルゾーンの追加
以前リンクしたガイド「BunnyCDN で Backblaze B2 ファイル配信を高速化する方法」に従ってください。ただし、今回は新しいプルゾーンをアップロード用バケットではなく、バックアップ用バケットにリンクします。
BunnyCDN のプルゾーン作成ページでは、「高ボリュームティア 5$/TB」の使用をお勧めします。バックアップには、アップロード用バケットで私が使用した高価で高速な「スタンダードティア 10$/TB」は必要ないと思います。
Discourse の管理設定エリアでバックアップ設定を行います。「backup location」は S3 に設定し、「s3 endpoint」は Backblaze で設定したもの(例:s3.us-west-002.backblazeb2.com)を指すようにします。
Web サイトで CTRL+F5 を 2 回押してキャッシュをクリアします。
バックアップを開始し、完了するまで待ちます。その後、5 分待って Backblaze のバックアップフォルダを確認してください。新しいバックアップが表示されるはずです。
古い画像の移行:
この手順は必須ではありませんが、サーバーのストレージが不足している場合は特に推奨されます。新しい画像のアップロード設定は完了しましたが、古い画像もバケットに転送できます。このプロセスを機能させるには、以下の手順に従ってください。
Cloudflare CDN の設定
この手順は必須ではありません。Backblaze の提携により、Bunny へのデータ転送が無料になっているためです。ただし、追加のセキュリティやその他の機能のために、データをまず Cloudflare を経由させ、その後 Bunny が Cloudflare からデータをプルするように設定することもできます。
https://help.backblaze.com/hc/en-us/articles/217666928-Using-Backblaze-B2-with-the-Cloudflare-CDN


