BackBlaze S3とBunnyCDNをセットアップ

So I checked BunnyCDN. I can verify that it did not go through the CDN for the backup. The traffic says 0 KB. The host CDN url is different from the upload one so it seems Discourse isn’t using it. However, I can verify that the backups are being uploaded to Backblaze B2 from Discourse.

「いいね!」 1

Ah, great, thank you for checking. That confirms what I suspected. Perhaps @Bill should update the OP guide?

「いいね!」 1

Sure! Not sure how to word it. Should I just put that you only need one pull zone and the CDN cannot access a private bucket?

「いいね!」 1

I would eliminate everything from ‘On your BunnyCDN dashboard, you should create a second pull zone’ up thru the paragraph ending with ‘“standard tier 10$/TB” that I used my for uploads bucket.’

Also, it seems you do need a second CDN pull zone, but it’s not for the backup. I was confused about this, and couldn’t get offsite uploads working until I correctly set up one pull zone to send uploads to BackBlaze (as you outlined) and a second pull zone to pull assets from BackBlaze. See my question about that and the response I got here for more info.

It looks like I don’t have the discourse permissions for editing the original thread anymore, it probably expired after a set time or I edited it too many times. I cant get to the edit area.

Ah, ok. I guess you would need to ask a mod. In any case, even though there was a glitch, I was grateful for your how-to!

「いいね!」 1

The first post is a wiki now (it was when I checked it, not sure if someone got to it before now) so any TL1 or higher user can edit it.

「いいね!」 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