遷移 bucket

本文說明 Cloud Storage 值區搬遷服務,這項服務可在不同地理位置之間以無伺服器方式搬遷值區。使用值區搬遷功能,即可將現有值區從一個位置移至另一個位置,不必變更名稱,也不必手動移轉值區內的資料。

請根據目標和 bucket 使用情形,妥善規劃 bucket 遷移作業,盡量減少中斷時間,並順利遷移 bucket。如要進一步瞭解如何遷移 bucket,請參閱遷移 bucket

優點

儲存空間重新定位的優點如下:

  • 簡化遷移作業:您可以遷移 bucket,且作業負擔極小。不需要複雜的指令碼或多步驟程序。

  • 持續運作:在整個遷移程序中,應用程式仍可存取,讀取作業不會停機,寫入作業則會盡量減少停機時間。

  • 提升效能:在相同地區共置 Compute Engine 和 Cloud Storage 資源,可縮短延遲時間並提升效能。

  • 保留中繼資料:bucket 遷移程序會保留物件中繼資料。保留物件中繼資料可確保值區遷移後,現有應用程式和工作流程仍能正常運作。

  • 儲存空間級別設定:您可以保留現有的 Cloud Storage 級別設定,包括 Autoclass。保留儲存空間級別可確保搬遷後費用結構維持不變。

用途

以下是透過重新放置 Bucket 可實現的用途:

  • 降低資料傳輸費用:將 bucket 遷移到更靠近存取 bucket 資料的工作負載,即可避免資料傳輸費用。舉例來說,如果資料儲存在美國,但主要從歐洲存取,您可以將值區移到歐洲,以降低資料移轉費用。

  • 提升效能:將資料移至 Compute Engine 工作負載附近,提升應用程式的速度和回應能力。舉例來說,如果應用程式在 us-central1 中執行,但資料位於 asia-east1 中,您可以將值區遷移至 us-central1,以減少延遲。

  • 提升復原能力:保護重要資料,避免受到區域性中斷影響。舉例來說,如果資料儲存在單一地區,您可以將資料遷移至雙地區或多地區,提高可用性並確保災難復原能力。

搬遷類型

儲存空間重新放置作業分為兩種類型:

  • 有寫入停機時間的 bucket 遷移:在有寫入停機時間的 bucket 遷移中,bucket 遷移程序進行期間,您無法執行物件寫入作業。

  • 無寫入停機時間的值區搬遷:在無寫入停機時間的值區搬遷中,您可以在背景執行值區搬遷作業時,繼續執行物件寫入作業,不會中斷。

值區的來源和目的地位置會決定值區重新安置作業是否會造成寫入停機。下表說明儲存空間的所在位置如何影響搬遷期間的寫入停機時間,包括有停機時間和無停機時間的搬遷作業差異。

規格 遷移 bucket (寫入停機) 無須停機即可遷移 bucket
Bucket 位置

在下列位置之間重新放置值區會導致停機:

  • 區域
  • 雙地區
  • 多區域
  • 多區域和預先定義的雙區域
  • 如果兩個地點的多區域代碼不同,則為多區域和可設定的雙區域

如果兩個位置共用相同的多區域代碼,在下列位置之間重新放置值區不會造成停機:

  • 可設定的雙區域
  • 多區域和可設定的雙區域
寫入供應情形 在最後的同步步驟中,您無法執行寫入作業。

搬遷期間,寫入作業不會中斷。

注意:如果政策異動不會造成寫入停機,則至少需要七天才能完成,因為系統必須等待進行中的可續傳上傳作業完成。

使用者參與 您必須啟動寫入停機時間的最終步驟。 不需要明確的完成步驟。
效能影響 在最後的同步步驟中,您無法在值區中寫入或更新物件。遷移期間,物件讀取和寫入延遲時間可能會增加。
取消 bucket 遷移 比重新定位更快,且不會發生寫入停機時間。 取消作業不會立即生效,由於需要回填物件,因此可能需要較長時間。
功能支援相較於不中斷寫入作業的遷移作業,提供的功能支援較少。如要進一步瞭解不支援的功能,請參閱「不支援的功能」。部分功能有使用限制,例如多部分上傳保留政策Firebaseappspot。 如要進一步瞭解這些限制,請參閱「限制」一節。
最短搬遷時間 7 天

瞭解 bucket 遷移程序

值區搬遷功能可協助您將資料從來源值區移至目的地值區。來源 bucket 包含您要移動的資料,目的地 bucket 則是您要將資料移往的位置。

下圖顯示 bucket 搬遷程序流程:

bucket 遷移程序流程。
圖 1. Bucket 遷移程序流程 (按一下可放大)。

* 只有在遷移作業會造成寫入停機時,才需要進行最終同步處理。

下表列出三個主要步驟,以及每個步驟的說明:

步驟 說明

執行模擬測試
(選用)

模擬儲存空間遷移程序,在實際開始轉移資料前找出潛在問題。

啟動增量資料複製步驟

將來源值區中的資料複製到目的地值區。系統會寫入鎖定 bucket 中繼資料,防止 bucket 發生任何可能影響搬遷程序的變更。不過,您可以在值區中寫入、修改及刪除物件。影響時間長度的因素如下:

  • Bucket 內物件更新、刪除或新增的頻率,會直接影響複製時間。變更率越高,所需時間就越長。物件移動速率上限為 `Rm`,單位是「物件/秒」。如果物件總數為 `N`,更新速率為 `R`「物件/秒」,則複製步驟的預估時間長度為 `N / (Rm - R)` 秒。
  • 由於頻寬有限,大型儲存區需要較長的重新定位時間。
  • 個別物件的大小會影響複製時間。由於頻寬限制,傳輸大於 10 GB 的物件所需時間,會比傳輸小於 10 GB 的物件更長。舉例來說,複製 1 TB 的物件需要一天。

啟動最終同步處理步驟
(僅適用於寫入停機時間的搬遷作業)

啟動最終同步作業後,系統會將 bucket 寫入鎖定。因此,您在這段期間無法寫入或更新值區中的任何物件,避免資料不一致。不過,您仍可繼續從 bucket 讀取資料。

所有資料轉移及驗證完畢,且值區在新位置運作後,寫入鎖定就會自動移除。接著,您就可以繼續在值區中寫入及更新物件。

限制

值區搬遷服務支援在專案中,從同一位置最多同時搬遷五個值區。

以下各節說明有寫入停機時間和沒有寫入停機時間的搬遷作業適用的限制。

遷移作業 (寫入停機時間限制)

如果遷移作業會造成寫入停機,則有下列限制。

資料處理限制

搬遷期間處理資料時,會受到下列限制:

  • 資料表損毀:使用 Apache Iceberg 的 BigLake 外部資料表和 BigQuery 資料表會損毀,需要手動重新建立。無法自動偵測受影響的資料表。

  • Autoclass 物件處理:Autoclass 會根據存取模式,判斷何時要將物件轉移至較冷的儲存空間級別。在值區搬遷程序的最終同步期間,系統會暫停自動調整級別功能,物件不會移轉至存取頻率較低的儲存空間級別。最終同步完成後,Autoclass 就會繼續運作。

    • 系統會以以下方式處理 Standard 儲存空間級別的物件:

      • Standard 儲存空間級別的物件必須經過 30 天的無存取期,才能轉換為 Nearline Storage 等資料存取頻率較低的級別。如果搬遷期間移動 Standard 儲存空間級別的物件,系統會視為已存取該物件。因此,搬遷程序會重設無法存取的時間,即使物件在搬遷前即將轉換為 Nearline 儲存空間,也必須在搬遷完成後再等待 30 天。
    • 系統會以以下方式處理非 Standard 儲存空間級別的物件:

      • 在 Nearline、Coldline 或 Archive 儲存空間級別中重新放置物件,不算是存取物件。因此這些物件的無法存取期不受影響。

      • 遷移值區時,如果經常存取非 Standard 儲存空間級別 (例如 Nearline、Coldline 或 Archive 儲存空間) 的值區物件,值區不會自動轉換為資料存取頻率較高的儲存空間級別。舉例來說,即使物件經常遭到存取,值區也不會自動從 Archive 儲存空間轉換為 Coldline 儲存空間,或從 Coldline 儲存空間轉換為 Standard Storage。這項行為可防止系統在搬遷期間自動轉換儲存空間級別。

      • 如果物件已排定要移至資料存取頻率較低的儲存空間級別 (例如從 Nearline 儲存空間移至 Coldline 儲存空間),搬遷程序不會干擾排程。遷移作業完成後,轉換作業會如期進行。

  • 物件大小限制:搬遷的物件大小不得超過 2 TB。

多部分上傳

無論狀態為何 (已完成、進行中或在遷移期間啟動),多部分上傳作業都不支援寫入停機時間的 bucket 遷移作業。如果要在儲存空間中搬移已完成的多部分上傳作業,您必須重新上傳物件 (不使用多部分方法),並刪除多部分上傳作業,否則搬移作業會失敗。如果在儲存空間停機期間,使用多部分上傳功能上傳物件,系統會顯示 FAILED_PRECONDITION 錯誤。

不支援的功能

使用下列功能的 bucket 無法遷移:

營運限制

使用寫入停機時間進行 Bucket 搬遷作業時,有下列作業限制:

  • 專案限制:您無法跨專案重新放置 bucket。

  • 可續傳的上傳作業:為避免資料遺失,必須在最後的同步處理步驟前,完成進行中的可續傳上傳作業。

  • 中繼資料更新:遷移期間無法更新 bucket 的中繼資料。

  • 要求速率升速:遷移的 bucket 須遵守與新建立 bucket 相同的要求速率升速規範。

無寫入停機時間限制的重新安置作業

無寫入停機時間的 Bucket 搬遷作業有下列限制:

  • 資料保留政策:所有資料保留政策都必須先解鎖,才能進行遷移。

  • Firebase 和 Appspot 值區:與 Firebase 或 Appspot 相關聯的值區不支援搬遷。

  • 進度更新:搬遷進度更新可能不是線性。

  • 多部分上傳作業:在 Bucket 搬遷期間,系統僅支援已完成的多部分上傳作業。儲存空間重新定位時,系統不支援物件的多部分上傳作業,因此您必須先完成或取消作業,才能重新定位儲存空間。您必須重新上傳物件,但不得使用多部分方法。 如果在值區搬遷期間使用多部分上傳功能上傳物件,就會發生 FAILED_PRECONDITION 錯誤。

不支援的地區

下列地區的來源和目的地 bucket 不支援 bucket 搬遷:

位置類型 不支援的地區
區域
  • ME-CENTRAL1
  • ME-WEST1
預先定義的雙區域
  • EUR5
  • EUR7
  • EUR8

定價

如要進一步瞭解值區搬遷相關費用,請參閱 Cloud Storage 定價

後續步驟