クラウドオブジェクトストレージプロバイダー間でのデータ移行は、難しく、コストも高くなりがちです。移行中に新しいデータが入ってきても、オブジェクトの取りこぼしがないようにする必要があります。さらに、一度きりのデータ転送料金が大きくなることもあります。
これらの課題に対応するため、Cloudflare は 2 つの移行ツールを用意しています。Sippy と Super Slurper です。Sippy はオンデマンドのデータ移行サービスで、このリファレンスアーキテクチャ図の主な対象です。一方 Super Slurper は、Cloudflare のグローバルオブジェクトストレージサービス R2 への大規模な一括移行向けです。データを一度にすべて移せない場合は、Sippy が役立ちます。
Sippy では、データがリクエストされたときに、他のクラウドプロバイダーから Cloudflare R2 へ転送できます。大きな前払いのデータ転送料金を避け、アクセスされたデータだけを選んで移行したい場合に向いています。
アプリケーションの流れの中で、もともと支払うはずの egress 料金が発生するリクエストを使い、同時にオブジェクトを R2 へコピーすることで、他社クラウドストレージ利用時の移行専用 egress 料金を抑えられます。
よくアクセスするデータオブジェクトの移行には Sippy を使い、すぐに egress 料金を削減し始めます。残りのデータは Super Slurper で移行します。
Sippy の動きは次のとおりです。まず R2 ストレージからオブジェクトの取得を試みます。R2 になければ、移行元のクラウドオブジェクトストレージから取得します。同時に、今後のアクセス用にそのオブジェクトを R2 へ追加します。これで、移行を途切れなく進められます。
- クライアントは Workers ↗、S3 API ↗、または パブリックバケット ↗ を使って、R2 にオブジェクトをリクエストします。
- オブジェクトが R2 バケットにあれば、クライアントへ返します。
- R2 になければ、移行元ストレージバケットからオブジェクトを返し、同時に R2 へコピーします。注意: 一部の大きなオブジェクトは、multipart upload としてコピーされるため、R2 へのコピーに複数リクエストがかかることがあります。クライアントから見ると、リクエストしたファイルはそのまま受け取れます。
オブジェクトのコピー後、以降のリクエストは R2 から配信され、すぐに egress 料金の削減が始まります。