cloudflare R2 へのアップロードがバックアップに追加されません: Aws::S3::Errors::Http501Error のため ******* のダウンロードに失敗しました

Cloudflareでいくつかのことを試しており、将来的にはR2を離れることを考えていました。そのため、バックアップを調べていたところ、インストールが含まれていないことに気づき、エラーが発生しました。手動でバックアップを作成すると、トランザクションログで同じエラーが発生します。ローカルの画像やファイルはバックアップされますが、Cloudflare R2の画像はバックアップされません。

エラーコードの例:

Aws::S3::Errors::Http501Error のため、original/1X/4b8754c367e54bc5271454a09b8bd4c1a8b882d5.png のダウンロードに失敗しました
/var/www/discourse/lib/s3_helper.rb:280:in `rescue in download_file'
/var/www/discourse/lib/s3_helper.rb:277:in `download_file'
/var/www/discourse/lib/file_store/s3_store.rb:338:in `download_file'
/var/www/discourse/lib/backup_restore/backuper.rb:321:in `block in add_remote_uploads_to_archive'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:71:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:71:in `block in find_each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:138:in `block in find_in_batches'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:245:in `block in in_batches'
internal:kernel:187:in `loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:229:in `in_batches'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:137:in `find_in_batches'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:70:in `find_each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/querying.rb:22:in `find_each'
/var/www/discourse/lib/backup_restore/backuper.rb:315:in `add_remote_uploads_to_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:248:in `create_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:40:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:31:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'

私の設定は以下の通りです:

よろしくお願いします。

それは予想どおりであり、S3/R2 の主な目的はバックアップが不要であることです。しかし、S3 からすべての画像をダウンロードしてバックアップに配置する隠し設定があります。

ああ、しかし、あなたは DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true を持っています。

したがって、R2 は当初提案されたとおりに機能しない可能性があります。テストして機能したと思ったのですが、バックアップに画像をダウンロードすることは試さず、おそらく復元またはバックアップファイルのダウンロードも試さなかったでしょう。

これは、そこでの「機能するかもしれない」という仮説と矛盾するように見えるため、おそらく他のトピックに属します。

この設定は有効になっていますが、残念ながらバックアップ時にR2から画像がインポートされません。手動バックアップ時にログで確認できます。

私はまだ決断できず、CDNをやめてローカルストレージを使用することを考えています。実際、意見が変わった場合には、これが期待されることです。

お時間を割いてご返信いただきありがとうございます。

再度問題を提起しますが、自動バックアップのたびにエラーコードでいっぱいになります。バックアップされないのであれば、時間の無駄を避けるためにS3上のファイルをリクエストしない方が良いと思います。そうすれば、ファイルが無用なエラーコードでいっぱいになることはありません。

私の推測では、すべての画像を盗まれることからあなたを保護しようとしているため、それらをダウンロードできないのだと思います。R2がディスコースと互換性がない別の方法のようですね。

「いいね!」 1

R2には長い間いました。すべて順調に見えますが、いくつか問題があるだけです(上記のような)。しかし、それらは修正できます。コミュニティがこの問題に取り組むまで、幸運を祈ります :slight_smile:

面白いですね!私はあなたが機能していないものについて不平を言うのしか見たことがありません。私の簡単なテストでは機能しているように見えましたが、徹底的にはテストしませんでした。

ダウンロードからバックアップへのレート制限のようなものだと推測しますが、エラーがあるのではないでしょうか?

「いいね!」 1

テスト後、R2を実行したところ、R2に関する問題は以下の通りでした。
S3をオフにすると、接続が奇妙なR2接続(Dockerで確認した際に見えたもの)に変わりました。修正しようとリベイクしたところ、サイト上の画像が飛び散り、歪んでしまいました。数回試行錯誤して修正した後、R2をアップロード専用に設定して使用しています。そのため、まだ解決策は見つかっていません(または見つけられませんでした)。
もう一つは、バックアップ作成時にエラーメッセージが生成されることでした。画像が1万枚あることを考えると、エラーログが無駄に埋まってしまいます。これにより、重要な問題を見逃す可能性があります。(エラーメッセージを出さない方が良いかもしれませんが、S3上のデータがバックアップに追加されないことに注意が必要です)

これ以外の問題は覚えていません。R2上のファイルをバックアップしたい場合は、winscp経由で接続し、コンピューターにダウンロードできます。誰かが問い合わせてきたら、ここにメモを残しておきましょう :slight_smile:

S3を使っている人は「バックアップをアップロードする」という設定をオフにできることに気づきました。そうすれば、エラーメッセージをなくすことができます。なぜ今まで思いつかなかったのだろう…:rofl::rofl:

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.