2023 年初,我們推出了 R2 Super Slurper,這是一種資料遷移工具,可以輕鬆地將大量資料從其他雲端物件儲存提供者複製到 R2。自發佈以來,開發人員已使用 R2 Super Slurper 成功執行了數千次到 R2 的遷移!
雖然 R2 Super Slurper 非常適合您想要一次將所有資料遷移到 R2 的情況,但在某些情況下您可能希望隨著時間的推移逐步遷移資料。也許您想避免一次性支付 AWS 資料傳輸的前期費用?或者您擁有可能永遠不會存取的遺留資料,而您只想遷移需要的內容?
今天,我們宣佈推出 Sippy 的公開測試版,這是一種增量遷移服務,可根據要求將資料從 S3(其他雲端提供者即將推出!)複製到 R2,而無需支付通常與移動大量資料相關的不必要的雲端輸出費用。除了解決廠商鎖定問題之外,Sippy 還使壓力大、耗時長的遷移成為過去。您只需要替換應用程式中的 S3 端點或將您的網域附加到新的 R2 貯體,資料就會開始複製過去。
這如何運作?
Sippy 是直接內建在 R2 貯體中的增量遷移服務。透過利用應用程式流程中的請求(您已經支付了輸出費用以同時將物件複製到 R2),可以減少特定於遷移的輸出費用。下面是它的工作原理:
當從 Workers、S3 API 或公用貯體請求某個物件時,如果找到了該物件,則會從您的 R2 貯體提供該物件。
如果在 R2 中找不到該物件,它將從您的 S3 貯體傳回並同時複製到 R2。
注意:某些大型物件可能需要多次請求才能複製。
這表示複製物件後,後續請求將由 R2 提供服務,您將立即開始節省輸出費用。
開始將資料從 S3 逐步遷移到 R2
建立 R2 貯體
要開始增量遷移,您首先需要建立 R2 貯體(如果您還沒有)。若要從 Cloudflare 儀表板建立新的 R2 貯體:
登入 Cloudflare 儀表板並選擇 R2。
選擇「建立貯體」。
為您的貯體命名並選擇「建立貯體」。
要深入瞭解建立 R2 貯體的其他方法,請參閱建立貯體上的文件。
在 R2 貯體上啟用 Sippy
接下來,您將為您建立的 R2 貯體啟用 Sippy。在測試期間,您可以使用 API 來執行此操作。以下是使用 cURL 為 R2 貯體啟用 Sippy 的範例:
有關開始使用的更多資訊,請參閱文件。啟用後,如果 R2 貯體中尚不存在資料,則對貯體的請求現在將開始從 S3 複製資料。
curl -X PUT https://api.cloudflare.com/client/v4/accounts/{account_id}/r2/buckets/{bucket_name}/sippy \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"provider": "AWS", "bucket": "<AWS_BUCKET_NAME>", "zone": "<AWS_REGION>","key_id": "<AWS_ACCESS_KEY_ID>", "access_key":"<AWS_SECRET_ACCESS_KEY>", "r2_key_id": "<R2_ACCESS_KEY_ID>", "r2_access_key": "<R2_SECRET_ACCESS_KEY>"}'
使用 R2 Super Slurper 完成遷移
您可以根據需要執行增量遷移,但最終您可能想要完成到 R2 的遷移。為此,您可以將 Sippy 與 R2 Super Slurper 配對,輕鬆將尚未存取的剩餘資料遷移到 R2。
接下來是什麼?
我們對公開測試版的推出感到興奮,但這只是一個起點。接下來,我們計劃使增量遷移可從 Cloudflare 儀表板進行設定,並提供分析,向您顯示遷移進度以及針對已複製過去的物件節省了多少輸出費用。
如果您希望開始逐步將資料遷移到 R2,並對我們下一步應該建立的內容有任何疑問或意見反應,我們鼓勵您加入我們的 Discord 社群進行分享!