💨
aws-cliでCloudFlare R2にファイルをアップロードしたら失敗した話
こんにちは、CloudFlare R2というAWSのS3に互換性を持つサービスで、PostgreSQLのバックアップをそこにアップロードして保存しようと持ったら色々躓きました。
背景
最近、misskeyをk8s上に建てたのですが、せっかく運用するならデータベースのバックアップ体制を整えようと思って、CronJob使って整えたのですが、aws-cliつかってcloudflare r2にアップロードできませんでした。
aws-cliのバージョンはv2.24.3
を使ってます。
原因
まずエラー文を読み取ろうとしたのですが、InternalErrorしかでておらず、原因がわかりませんでした。
なので、--debug
を追加して原因を探ってみようとしたのですが、あまりピンと来なかったDiscordにあるcloudflare developersの方に聞いてみたらchecksumのアルゴリズムが違うのが原因なのではないかという指摘がありました。
デフォルトのアルゴリズム?はCRC64NVMEだったのですが、どうやらcloudflare r2がサポートしていないようです。なので引数に--checksum-algorithm=CRC32
を追加することをアドバイスとしてもらったので試したら成功しました。
最後に
いつもより文が短いかもしれませんが、最後まで読んでくださりありがとうございます。
GitHubで編集を提案
Discussion