R2はS3互換のグローバル分散オブジェクトストレージで、開発者は大量の非構造化データを、他のプロバイダーでよく見られる高価なエグレス帯域幅料金なしで保存することができます。
無料のエグレスをご利用いただくには、お客様がお持ちのすべてデータのR2に移行する計画を立案する必要があります。データの一貫性を確保しながら、できるだけ多くのデータを迅速に移動するために、すべてを一度に実行したいと思うかもしれません。それとも、データをゆっくりとR2に移動し、読み取りを古いプロバイダーから徐々にR2に移行する方がよいでしょうか。そして初めて、古いストレージを切り捨てるか、R2の新しいオブジェクトのバックアップとして残しておくかを決めるのですか?
この移行に関するアーキテクチャと実装には複数の選択肢がありますが、クラウドストレージプロバイダーから別のプロバイダーへ何TBものデータを移動させることは、常に問題があり、常に計画が必要で、おそらく人手も必要です。
それは困難を極めました。でも、今は違います。
本日、R2へのすべてのデータの移行を扱いやすい直感的なUIとAPIで行うことができる「R2 Super Slurper」を発表します。この機能を使うと、すべてのデータを一気に吸い上げる、または一口ずつR2移行することができます。
最初のステップ:R2 Super Slurperプライベートベータ版
一気に吸い上げる
R2 Super Slurperの最初のイテレーションでは、S3バケットを対象に、そこに保存されているオブジェクトをR2バケットにインポートすることができるようになります。最も一般的なシナリオを対象とした、1回限りの単純なインポートです。既存のS3ソースを指し、R2 Super Slurperに移行したいオブジェクトの読み取り権限を与えると、非同期ジョブが残りを処理します。
また、移行元のバケットにアクセス定義や認証情報を保存できるため、新たな操作でバケット内の異なるフォルダを移行する際にも、URLや認証情報を改めて定義する必要はありません。この操作だけで、整合性を検証したいパスのあるバケットをスクリプトで処理する手間が省けます。ベータ版では、利用者の皆様からのフィードバックをいただきながら、R2 Super Slurperを進化させ、誰でもいくつかのボタンをクリックするだけで、完全に一貫性を維持した、アクティブな移行を実現できるようにします。
一つずつ吸い上げる自動移行
また、将来的には、エンドユーザーからの要求に応じてオブジェクトをR2に徐々にコピーする、自動で一口ずつ吸い上げる移行方式も開発します。移行に合わせてR2からのオブジェクト配信を開始することができるため、すぐにコストを削減することができます。
リクエストとオブジェクトの移行フローは次の通りです:
オブジェクトの確認:リクエストがCloudflareに届く**(1)と、リクエストされたオブジェクトがR2バケットにあるかどうかチェック(2)します。オブジェクトが存在する場合、R2がそれを提供(3)**します。
オブジェクトのコピー:オブジェクトがR2に存在_しない_場合、そのオブジェクトに対するリクエストがオリジンバケット**(2a)に流れます。オブジェクトを含む回答があれば、それを提供し、R2にコピー(2b)**します。
オブジェクトの提供:R2は、オブジェクトに対する今後のすべての要求を提供します**(3)**。
この機能により、これまで他のベンダーの1つまたは複数のバケットに分散していたオブジェクトをコピーしながら、エンドユーザー側からの要求物はすべてR2から提供することができます。また、R2 Super Slurperでは、初回のリクエストを他の場所から吸い上げるだけなので、それ以降のリクエストについてはエグレス料金がかからないようになります。
現在のところ、S3互換のバケットを対象としていますが、2023年中に他のソースが利用可能になることが予定されています。
R2 Super Slurperプライベートベータ版の待機リストに参加する
R2 Super Slurperにアクセスするには、まずR2ユーザーであることと、ここでR2 Super Slurperの待機リストにサインアップする必要があります。
プライベートベータステージでは、多くの初期ユーザーと密接に協力し、サービスを洗練させ、テストしていきます。近日中に、ユーザーがサインアップできるオープンベータを発表する予定です。
当社のDiscordサーバーに参加して、R2関連のトピックについて、ユーザーやCloudflareスタッフの素晴らしいコミュニティと交流を深めましょう。