BackBlaze S3とBunnyCDNをセットアップ

BunnyCDN を確認しました。バックアップは CDN を経由していないことが確認できました。トラフィックは 0 KB と表示されています。ホストの CDN URL はアップロード用 URL と異なるため、Discourse がそれを使用していないようです。ただし、バックアップが Discourse から Backblaze B2 にアップロードされていることは確認できました。

「いいね!」 1

ああ、ありがとう。確認してくれて助かりました。私が推測していたことが裏付けられましたね。もしかして、@Bill が OP ガイドを更新するべきでしょうか?

「いいね!」 1

もちろんです!表現方法に迷っています。ただ「プルゾーンは1つだけでよく、CDNはプライベートバケットにアクセスできない」と書くべきでしょうか?

「いいね!」 1

「BunnyCDN のダッシュボードで、2 番目のプルゾーンを作成する必要があります」という部分から、「アップロード用バケットとして使用した『スタンダードティア 10$/TB』」で終わる段落までをすべて削除してください。

また、どうやらバックアップ用ではないものの、2 番目の CDN プルゾーンが必要のようです。私もこの点で混乱しており、正しい設定を完了するまでオフサイトアップロードが機能しませんでした。具体的には、1 つのプルゾーンを BackBlaze へのアップロード用(あなたが説明した通り)に、もう 1 つのプルゾーンを BackBlaze からのアセット取得用に設定しました。詳細については、こちらで私が質問し、得られた回答をご覧ください。

どうやら、元のスレッドを編集する Discourse の権限がもうないようです。設定された時間経過後に失効したか、編集回数が多すぎたのかもしれません。編集画面にアクセスできません。

ああ、なるほど。モデレーターに聞いてみる必要があるかもしれませんね。いずれにせよ、バグがあったとしても、あなたのやり方ガイドには感謝しています!

「いいね!」 1

最初の投稿は現在ウィキになっています(私が確認した時点ではそうでしたが、それ以前に誰かが編集したかどうかはわかりません)。したがって、TL1 以上のユーザーであれば誰でも編集できます。

「いいね!」 2

こんにちは、BunnyがBackblazeとも提携したことをお知らせします!これにより、BackblazeからBunnyへの移行が完全に無料になりました。セキュリティが向上するだけでなく、Cloudflareを経由せずに直接Bunnyにデータを移行できます!

「いいね!」 2

この手順はやりすぎでしょうか?より良い質問は…すでにストレージ用に Backblaze を設定し、CDN として Bunny を使用している場合、この追加の手順を踏むことのメリットはどれくらい大きいのでしょうか?この点について何か洞察があれば、非常に助かります。:folded_hands:

助けが必要です。過去2日間、バニーの駄洒落はご容赦ください、バックアップと画像をBackblazeに送信しようと、うさぎの穴に迷い込んでいました。

このフォーラム投稿などを参考に設定を試みました。現在、バックアップでエラーメッセージが表示されます(まだアップロードを機能させることができていませんが、まずバックアップから)。

Backblazeでバケット、キー、プルゾーンを設定しました。

S3のすべてのサイト設定は以下の通りです。

バックアップ設定は以下の通りです。

こちらがapp.ymlです。コメントアウトされている2番目のセクションは、昨日いじってみましたが、Discourseがローディング画面でハングする原因となっていました。

バックアップを実行すると、この画面が表示されます。おそらく、アップロード部分が機能していないためでしょう。関係ないかもしれませんが、追加しておきました。

バックアップのエラーログは以下の通りです。

エラーログは以下の通りです。

また、以下のRakeタスクを実行したことも申し添えておきます。

rake uploads:migrate_to_s3
rake posts:rebake

2日間かけても機能させようと奮闘して、私の脳はループしています。どこで間違っているのか、誰か教えていただけますか?トラブルシューティングに必要なものはすべて含めたと思います。:tired_face:

「いいね!」 1

設定が yml ファイルにある場合、システム設定には表示されません。

S3 互換オブジェクトストレージプロバイダーをアップロード用に構成する に従ってください。

こんにちは、返信ありがとうございます。昨日そのリンクを試しましたが、動作しませんでした。サイトの読み込みが停止しました。

私がこれまでにできた最大限は、現在の設定のままです。ただし、無効なリージョンについて問題があるようで、何の設定を変更すればよいのか分かりません。

それは、S3にアセットをアップロードする部分をトップでスキップしたためです

フックコードを追加し、再度投稿されたリンクの設定を使用しました。再びハングします。

再度その設定をコメントアウトし、以前使用していたものを元に戻しました。S3リージョン設定が完全なURLになっていたことに気づいたため、「us-west-002」に変更しました。

これでバックアップを実行すると失敗し、別のエラーが発生しました - EXCEPTION: このAPI呼び出しでサポートされていないヘッダー「x-amz-checksum-crc32」を受信しました。

諦めて、毎日手動でバックアップをダウンロードしようかと思います。

私は気が狂いそうになりながら、これを機能させようとしました :wink:

それで、最後に得たチェックサムエラーは、この助けを借りて解決しました - Can't rebuild due to AWS SDK gem bump and new AWS Data Integrity Protections - #28 by PatPatterson

これは、app.ymlenv セクションに以下を追加することで行われました。

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED

そして、app.ymlhooks セクションでこれをコメントアウトしました。

after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
  #        - sudo -E -u discourse bundle exec rake s3:expire_missing_assets

他の env 設定は以下のようになっています。

DISCOURSE_S3_ACCESS_KEY_ID: 'key'
DISCOURSE_S3_SECRET_ACCESS_KEY: ‘key’
DISCOURSE_BACKUP_LOCATION: 's3'
DISCOURSE_ENABLE_S3_UPLOADS: true
DISCOURSE_S3_BACKUP_BUCKET: 'backupbucketonbackblaze’
DISCOURSE_S3_REGION: 'us-west-002'
DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true

DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true を含める前にバックアップを実行しました。

そして、Backblaze へのバックアップは成功しました。やった!!!

app.yml にアップロードを含める行を追加したところ、バックアップでエラーが発生しました。以下はそのエラーです。

EXCEPTION: tar --append --file /var/www/discourse/public/backups/default/my-server-name-2025-04-17-222758-v20250417043438.tar uploads/default
Failed to append uploads to archive.
tar: uploads/default: No such file or directory
tar: Exiting with failure status due to previous errors

このディレクトリがどこにあるべきか、またはどのように修正すればよいかわかりません。Discourse サーバーまたは Backblaze 上に作成する必要があるディレクトリですか?それとも、サイト設定または app.yml で見逃した設定ですか?

どのようなガイダンスでも大変助かります。

「いいね!」 1