type holyshared = Engineer<mixed>

技術的なことなど色々

SippyでS3のバケットからCloudflareのR2にオンデマンド移行する

CloudflareのSippyドキュメントを見ながらが移行の設定を行います。

developers.cloudflare.com

AWS側でS3のポリシーを追加して、IAMユーザーを作成する

ポリシーは下記のものを用意して、IAMユーザーにアタッチします。
アタッチした後にアクセスキーを作成して、アクセスキーIDとシークレット アクセス キーをコピーしておきます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket*", "s3:GetObject*"],
      "Resource": [
        "arn:aws:s3:::<BUCKET_NAME>",
        "arn:aws:s3:::<BUCKET_NAME>/*"
      ]
    }
  ]
}

S3バケットのリージョンとバケット名をコピーする

移行の設定で必要になるので、こちらもコピーしておきます。

Cloudflare R2のバケットを作成して、Sippyの設定をする

Sippyの設定

R2バケットの「オンデマンド移行」メニューを選びコピーしていた値を設定していきます。
設定が完了したら「有効にする」を選択して完了させます。

wranglerを使用して、オブジェクトがS3からコピーされるのを確認する

R2のGetコマンドをwranglerを使用して、実行します。
リソースは[R2バケット名]/[S3のキー名]形式で指定します。

wrangler r2 object get --remote [R2バケット名]/[S3のキー名]

実行が正常に終了したらR2のバッケットにコピーされているかを確認します。
無事R2にコピーされていれば、完了です。