本文說明如何透過 Cloud Storage 值區搬遷功能,在地理位置之間以無伺服器方式搬遷值區。透過值區搬遷功能,您可以將現有值區從一個位置移至另一個位置,不必變更值區名稱,也不必手動移轉值區內的資料。
開始遷移程序前,請規劃 bucket 遷移作業,盡量減少中斷。如需遷移 bucket 的操作說明,請參閱遷移 bucket。
優點
bucket 遷移的優點如下:
簡化遷移程序:您可以遷移 bucket,盡可能減少作業負擔。不需要複雜的指令碼或多步驟程序。
持續運作:在整個遷移程序中,應用程式仍可存取,讀取作業不會停機,寫入作業則會盡量減少停機時間。
提升效能:在相同地區共置 Compute Engine 和 Cloud Storage 資源,可縮短延遲時間並提升效能。
保留中繼資料:bucket 遷移程序會保留物件中繼資料。保留物件中繼資料可確保在 Bucket 遷移後,現有應用程式和工作流程仍能正常運作。
儲存空間級別設定:您可以保留現有的 Cloud Storage 級別設定,包括自動調整級別。 保留儲存空間類別有助於在遷移後維持一致的費用結構。
用途
遷移 bucket 後,您可達成下列用途:
降低資料傳輸成本:將 bucket 遷移至更靠近存取 bucket 資料的工作負載,即可避免資料傳輸費用。舉例來說,如果資料儲存在美國,但主要從歐洲存取,您可以將值區移到歐洲,以降低資料傳輸費用。
提升效能:將資料移至 Compute Engine 工作負載附近,提升應用程式速度和回應能力。舉例來說,如果應用程式在
us-central1中執行,但資料位於asia-east1中,您可以將 bucket 遷移至us-central1,以縮短延遲時間。提升復原能力:保護重要資料,避免受到區域性服務中斷影響。舉例來說,如果資料儲存在單一地區,您可以將資料遷移至雙地區或多地區,以提高可用性和災難復原能力。
搬遷類型
儲存空間重新放置作業分為兩種類型:
Bucket 遷移 (寫入作業停機):在 Bucket 遷移 (寫入作業停機) 期間,您無法在 Bucket 遷移程序中執行物件寫入作業。
無寫入停機時間的值區搬遷:在無寫入停機時間的值區搬遷中,您可以在背景執行值區搬遷作業時,繼續執行物件寫入作業,不會中斷。
值區的來源和目的地位置會決定值區重新定位是否會造成寫入停機時間。下表說明在遷移期間,儲存空間的所在位置如何影響寫入停機時間,包括有停機時間和無停機時間的遷移作業差異。
| 規格 | 遷移 bucket 時發生寫入停機 | 無須停機即可遷移 bucket |
|---|---|---|
| Bucket 位置 | 在下列位置之間重新放置 bucket 會導致停機:
|
如果兩個位置共用相同的多區域代碼,在下列位置之間重新放置值區不會造成停機:
|
| 寫入供應情形 | 在最終同步處理步驟中,您無法執行寫入作業。 | 遷移期間寫入作業不會中斷。 注意:如果政策異動不會造成寫入停機,則至少需要七天才能完成,因為系統必須等待進行中的可續傳上傳作業完成。 |
| 使用者操作 | 您必須啟動寫入停機時間的最終步驟。 | 不需要明確的最終確認步驟。 |
| 效能影響 | 在最後的同步處理步驟中,您無法在值區中寫入或更新物件。 | 遷移期間,物件讀取和寫入延遲時間可能會增加。 |
| 取消 bucket 遷移作業 | 比重新定位更快,且不會發生寫入停機時間。 | 取消作業不會立即生效,由於需要回填物件,因此可能需要較長時間。 |
| 功能支援 | 相較於不中斷寫入作業的遷移作業,支援的功能較少。如要進一步瞭解不支援的功能,請參閱「不支援的功能」。 | 部分功能有使用限制,例如多部分上傳、保留政策、Firebase 和 appspot。 如要進一步瞭解這些限制,請參閱「限制」一節。 |
| 最短搬遷時間 | 無 | 7 天 |
瞭解 bucket 遷移程序
值區搬遷功能可協助您將資料從來源值區移至目的地值區。來源 bucket 包含您要移動的資料,目的地 bucket 則是您要移動資料的位置。
下圖顯示 bucket 搬遷程序流程:
* 只有在遷移作業會導致寫入停機時,才需要執行最終同步處理。
下表列出三個主要步驟,以及每個步驟的說明:
| 步驟 | 說明 |
|---|---|
執行模擬測試 | 模擬儲存空間遷移程序,在實際開始轉移資料前找出潛在問題。 |
將來源 bucket 中的資料複製到目的地 bucket。值區中繼資料會寫入鎖定,防止值區發生任何可能影響搬遷程序的變更。不過,您可以在值區中寫入、修改及刪除物件。影響時間長度的因素如下:
|
|
啟動最終同步處理步驟 | 啟動最終同步作業後,儲存空間會進入寫入鎖定狀態。因此,在這段期間內,您無法在值區中寫入或更新任何物件,避免資料不一致。不過,你還是可以繼續從該值區讀取資料。 所有資料轉移及驗證完畢,且值區在新位置運作後,寫入鎖定就會自動移除。接著,您就可以繼續在值區中寫入及更新物件。 |
限制
值區搬遷服務支援在專案中,從同一位置最多同時搬遷五個值區。
以下各節說明有寫入停機時間和沒有寫入停機時間的搬遷作業適用的限制。
搬遷作業,但寫入作業停機時間有限
有寫入停機時間的搬遷作業有下列限制。
資料處理限制
在搬遷期間處理資料時,有下列限制:
資料表損毀:使用 Apache Iceberg 的 BigLake 外部資料表和 BigQuery 資料表會損毀,需要手動重新建立。無法自動偵測受影響的資料表。
Autoclass 物件處理:Autoclass 會根據存取模式,判斷何時要將物件轉移至較冷的儲存空間級別。在值區搬遷程序的最終同步期間,Autoclass 會暫停運作,物件不會移轉至較冷的儲存空間級別。最終同步處理完成後,Autoclass 就會繼續運作。
系統會以以下方式處理 Standard 儲存空間級別的物件:
- Standard 儲存空間級別的物件必須經過 30 天的無存取期,才能轉換為 Nearline Storage 等較冷的級別。如果遷移作業期間移動的是 Standard 儲存空間級別的物件,系統會視為已存取該物件。因此,搬遷程序會重設無法存取的時間,即使物件在搬遷前即將轉換為 Nearline 儲存空間,也必須在搬遷完成後再等待 30 天。
系統會以以下方式處理非 Standard 儲存空間級別的物件:
在 Nearline Storage、Coldline Storage 或 Archive Storage 儲存空間類別中重新放置物件,不算是存取物件。因此,這些物件的無法存取期限不會受到影響。
遷移值區時,如果經常存取非 Standard 儲存空間級別 (例如 Nearline、Coldline 或 Archive 儲存空間) 的值區物件,值區不會自動轉換為較熱的儲存空間級別。舉例來說,即使物件經常遭到存取,值區也不會自動從 Archive 儲存空間轉換為 Coldline 儲存空間,或從 Coldline 儲存空間轉換為 Standard 儲存空間。這項行為可防止系統在搬遷期間自動轉換儲存空間級別。
如果物件已排定要移至資料存取頻率較低的儲存空間級別 (例如從 Nearline Storage 移至 Coldline Storage),搬遷程序不會干擾排程。遷移作業完成後,轉換作業會如期進行。
物件大小限制:搬遷的物件大小不得超過 2 TB。
多部分上傳
無論狀態為何 (已完成、進行中或在遷移期間啟動),有寫入停機時間的 bucket 遷移作業都不支援多部分上傳。如果要在儲存空間中搬移已完成的多部分上傳作業,您必須重新上傳物件 (不使用多部分方法),並刪除多部分上傳作業,否則搬移作業會失敗。如果在儲存空間遷移期間使用多部分上傳功能上傳物件,且寫入作業停機,就會發生 FAILED_PRECONDITION 錯誤。
不支援的功能
使用下列功能的 bucket 無法遷移:
已鎖定的保留政策。
設有暫時性保留的物件。
已啟用階層命名空間的 bucket。
標記。建議不要在遷移期間新增標記,否則遷移程序會失敗。
Anywhere Cache。雖然可以在儲存空間區塊遷移程序中啟用 Anywhere Cache,但這會導致最終同步步驟無法完成。
Appspot bucket。如要解決 App Engine 建立預設 bucket 的問題,建議將 Container Registry 遷移至 Artifact Registry。
Firebase bucket。您無法遷移與 Firebase 相關聯的 bucket。
營運限制
使用寫入停機時間進行 Bucket 搬遷作業時,有下列作業限制:
專案限制:您無法跨專案重新放置 bucket。
可續傳的上傳作業:為避免資料遺失,必須在最終同步處理步驟前完成進行中的可續傳上傳作業。
中繼資料更新:搬遷期間無法更新 bucket 的中繼資料。
要求速率升速:遷移的 bucket 須遵守與新建立 bucket 相同的要求速率升速規範。
無須停機即可搬遷
無寫入停機時間的 Bucket 搬遷作業有下列限制:
保留政策:必須先解除所有保留政策的鎖定狀態,才能遷移資料。
Firebase 和 Appspot bucket:與 Firebase 或 Appspot 相關聯的 bucket 不支援搬遷。
進度更新:搬遷進度更新可能不是線性。
多部分上傳作業:在 Bucket 搬遷期間,系統僅支援已完成的多部分上傳作業。系統不支援在儲存空間重新定位期間上傳多部分物件,因此您必須先完成或取消作業,才能重新定位儲存空間。您必須重新上傳物件,但不得使用多部分方法。 如果在值區搬遷期間使用多部分上傳功能上傳物件,就會發生
FAILED_PRECONDITION錯誤。
不支援的地區
下列地區的來源和目的地 bucket 不支援 bucket 搬遷:
| 位置類型 | 不支援的地區 |
|---|---|
| 區域 |
|
定價
如要進一步瞭解值區搬遷相關費用,請參閱 Cloud Storage 定價。
後續步驟
- 瞭解如何規劃 bucket 遷移作業。
- 瞭解如何重新放置水桶。