このたびアップロードよりダウンロードのほうが多いであろうファイルについて、 Cloudflare R2 へ移行したので、その方法のメモ。
ただし、 S3 を使っているなら公式のマイグレーションツールを使った方がおそらく良いので、そちらを使うべし。
まずは、 Wasabi のダッシュボードから、 AWS CLI を使うためのアクセスキーを発行する。
同様にして Cloudflare R2 もアクセスキーを発行する。
発行したら、 AWS CLI をインストールし、一括でファイルのダウンロードを行う。
AWS CLI が入っていなかったら、以下のようにして入れる。
$ scoop install aws
導入後、プロファイルを設定する。
プロファイルは ~/.aws/credentials
にあるので、以下のように保存する。
[wasabi] aws_access_key_id=xxx aws_secret_access_key=xxx region=ap-northeast-1 endpoint_url=https://s3.ap-northeast-1.wasabisys.com [cloudflare] aws_access_key_id=xxx aws_secret_access_key=xxx endpoint_url=https://xxx.r2.cloudflarestorage.com
endpoint_url
は AWS CLI は見てくれないので意味は無いが、メモ程度に追記しておくと便利。
次に、以下のコマンドでソース、つまりは Wasabi からバケット内のファイルをすべてダウンロードする。
$ aws s3 cp s3://assets.natsuneko.blog/ ./assets.natsuneko.blog/ --recursive --profile=wasabi --endpoint-url=https://s3.ap-northeast-1.wasabisys.com
これで、この場合は第 2 引数である ./assets.natsuneko.blog
以下にファイルが保存される。
次は同様にして、 R2 へアップロードする。
$ aws s3 cp ./assets.natsuneko.blog/ s3://natsuneko-blog/ --recursive --profile=cloudflare --endpoint-url=https://xxx.r2.cloudflarestorage.com
これで一括移行が出来る。
あまりにもファイルが多い場合は分割してやると良いと思う (わたしはせいぜい数十 GB なので、これで問題ないが)
ということで、メモでした。