Super Slurper と Sippy を組み合わせると、ダウンタイムを抑えながらオブジェクトを一通り移行できます。
- Sippy を有効にし、アプリケーションで R2 バケットの利用を開始します。
- アプリケーションから要求されたときに、以前のバケットから R2 バケットへオンデマンドでオブジェクトをコピーします。
- 新しいアップロードは R2 バケットへ送られます。
- Super Slurper で一回限りの移行を起動し、残りのオブジェクトを R2 バケットへコピーします。
- Destination R2 bucket > Overwrite files? で "Skip existing" を選びます。
- Super Slurper で、すべてのオブジェクトを R2 バケットへコピーします。
- Super Slurper は、コピー対象を一覧にしたあとにアップロードされたオブジェクトをスキップすることがあります。
- R2 バケットで Sippy を有効にしてから、アプリケーションで R2 バケットの利用を開始します。
- 新しいアップロードは R2 バケットへ送られます。
- Super Slurper のコピー中にアップロードされたオブジェクトは、アプリケーションから要求されたときに Sippy がオンデマンドでコピーします。
1 つのアカウントでは、同時に実行できる Slurper 移行ジョブは 3 件までです。各 Slurper 移行ジョブは、1 秒あたり一定数のリクエストを処理できます。
全体のスループットと信頼性を上げるには、プレフィックス(または bucket subpath)オプションで、移行を小さめの同時ジョブへ分割することをおすすめします。
移行ジョブを作成するときは、次の手順を実行します。
- Source bucket の手順へ進みます。
- Define rules の Bucket subpath で、プレフィックスごとにデータを分けるサブパスを指定します。
- データ移行のセットアップを完了します。
たとえば、ソースバケットに次が含まれているとします。
- photos
- 2024
- file1.jpg
- file2.jpg
- 2023
- file3.jpg
- 2019
- file4.jpg
- 2024
次のようなプレフィックスで、ジョブを分けて作成できます。
/photos/2024で 2024 年のファイルをすべて移行する/photos/202で 2023 年と 2024 年のファイルをすべて移行する
各プレフィックスは独立した移行ジョブとして動き、Slurper はデータを並列に転送します。全体の転送速度が上がり、1 つのジョブが失敗しても他のジョブは止まりません。