管理備份

Bigtable 備份功能可保護資料表,避免資料意外遺失、損毀或發生災難。您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Cloud Bigtable 用戶端程式庫,建立、複製、還原及監控這些備份。

事前準備

開始之前,請先參閱「備份」和「版本總覽」,瞭解僅限 Enterprise Plus 版的功能。

確認您或您使用的使用者帳戶具備執行所需動作的必要權限。

如要使用 gcloud CLI,請安裝 Bigtable 適用的 gcloud CLI。

使用自動備份

您可以使用 gcloud CLI 或 Google Cloud 控制台啟用自動備份功能。自動備份功能每天都會建立資料表備份,預設保留期限為七天。如要修改資料表自動備份政策中的保留期限,或在 Enterprise Plus 版本中選取啟用自動備份的叢集位置,請參閱「更新自動備份政策」。

無論是手動建立或自動備份,刪除、更新、複製和還原備份的步驟都相同。

您可以延長備份或備份副本的到期日。詳情請參閱「修改備份或備份副本」。

如果您打算啟用自動備份功能,請考量下列因素:

  • 如果執行個體中的資料表已啟用自動備份功能,當您將叢集新增至該執行個體時,系統不會為新增的叢集建立每日備份。如要為所有叢集 (包括新加入的叢集) 建立每日備份,請停用資料表的自動備份功能,然後重新啟用。
  • 如果刪除已啟用自動備份功能的資料表,之後又取消刪除,則必須在復原的資料表上重新啟用自動備份功能。
  • 還原資料表的自動備份時,系統不會自動為還原的資料表啟用自動備份功能。您必須手動啟用自動備份功能。

啟用自動備份功能

您可以使用控制台或 Google Cloud CLI 啟用自動備份功能。啟用自動備份功能後,Bigtable 每天都會為執行個體中的每個叢集建立資料表的標準備份。在 Enterprise Plus 版本中,您可以選擇性地為特定位置的叢集設定自動備份。

您無法使用自動備份功能建立熱備份。

自動備份建立的備份會指派以 auto 開頭的 ID。舉例來說,如果資料表的 ID 為 my-table,則自動備份 ID 會是 auto.my-table.c7x3.20230220-145537,其中 my-table 是截斷的資料表 ID,c7x3 是不重複的雜湊 ID,20230220-145537 則是採用世界標準時間格式的日期和時間。

如要建立已啟用自動備份功能的新資料表,請參閱「建立及管理資料表」。

控制台

  1. 在 Google Cloud 控制台中,開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要備份資料表的執行個體。

  3. 按一下左側窗格中的 [Tables] (資料表)。

    「Tables」(資料表) 頁面會顯示執行個體中的資料表清單。

  4. 在資料表的「自動備份」欄中,按一下「啟用」。Bigtable 最多可能需要一小時才會開始建立備份。

    選用:您可以更新自動備份政策,指定自動備份的自訂保留期限。在 Enterprise Plus 版中,您可以為特定位置的叢集啟用自動備份功能。詳情請參閱「更新自動備份政策」。

gcloud

如要啟用資料表的自動備份功能,請執行 gcloud bigtable tables update 指令。如要進一步瞭解如何在建立資料表時啟用自動備份功能,請參閱「建立資料表」。

資料表啟用自動備份政策之後,更新後的設定最多可能需要 1 小時才會生效。

gcloud bigtable tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup

更改下列內容:

  • TABLE_ID:要備份的資料表 ID。
  • INSTANCE_ID:執行個體的永久 ID。

選用:您可以更新自動備份政策,指定自動備份的自訂保留期限。在 Enterprise Plus 版中,您可以為特定位置的叢集啟用自動備份功能。詳情請參閱「更新自動備份政策」。

停用自動備份

資料表停用自動備份政策之後,更新後的設定最多可能需要 1 小時才會生效。在政策變更前建立的備份會保留到過期為止,除非您刪除這些備份。

控制台

  1. 在 Google Cloud 控制台中,開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要停用自動備份功能的資料表所在的執行個體。

  3. 按一下「Tables」。

    「Tables」(資料表) 頁面會顯示執行個體中的資料表清單。

  4. 在要停用自動備份功能的資料表列中,按一下 「Edit」(編輯)。

  5. 取消勾選「啟用自動備份功能」核取方塊。

  6. 按一下 [儲存]。

gcloud

如要停用資料表的自動備份功能,請執行 gcloud bigtable instances tables update 指令。

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup

更改下列內容:

  • TABLE_ID:資料表 ID。
  • INSTANCE_ID:執行個體的永久 ID。

查看自動備份政策

如要查看資料表的自動備份政策,請執行 gcloud bigtable instances tables describe 指令。

gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID

更改下列內容:

  • TABLE_ID:資料表 ID。
  • INSTANCE_ID:執行個體的永久 ID。

輸出看起來類似以下內容:

automatedBackupPolicy:
  frequency: 86400s
  retentionPeriod: 604800s
  locations: us-central1-a,us-east1-b,europe-west1-c
columnFamilies:
  my-family: {}
createTime: '2023-02-07T20:10:55.613546Z'
granularity: MILLIS
name: projects/my-project/instances/my-instance/tables/my-table
updateTime: '2023-02-07T20:10:55.613546Z'

注意事項:

  • 如果資料表未啟用自動備份功能,就不會顯示 automatedBackupPolicy 欄位。
  • retentionPeriod 代表自動建立備份的保留期限。您可以修改備份的保留期限,從備份建立時間起算,Enterprise 版最多可保留 90 天,Enterprise Plus 版最多可保留 365 天。如要更新備份保留期限,請參閱「修改備份或備份副本」。
  • 只有在 Enterprise Plus 版中,為特定位置的叢集啟用自動備份功能時,才會顯示 locations 欄位。如果存在,則表示已啟用自動備份的叢集位置清單。如果所有位置都啟用自動備份 (預設),就不會顯示這個欄位。

更新自動備份政策

自動備份政策變更不會回溯套用至現有備份。新的備份政策設定只會套用至後續備份。

在 Enterprise 和 Enterprise Plus 版本中,您可以設定自訂保留期限,最長可達 90 天。在 Enterprise Plus 版本中,您也可以選取自動備份的特定叢集位置。

如要更新現有備份 (包括自動備份) 的保留期限或到期日,請參閱「修改備份或備份副本」。

控制台

  1. 在 Google Cloud 控制台中,開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要更新資料表自動備份政策的執行個體。

  3. 按一下「Tables」。

    「Tables」(資料表) 頁面會顯示執行個體中的資料表清單。

  4. 在表格中,找到要設定自動備份政策的資料列,然後按一下 「Edit」(編輯)。系統隨即會顯示表格屬性窗格。

  5. 在「Configure automated backup」(設定自動備份) 下方的「Retention period」(保留期限) 欄位中,指定 Bigtable 在變更儲存後應保留備份的天數。您可以自訂保留期限,最短 3 天,最長 90 天。

  6. Enterprise Plus 版:在「Configure automated backup」(設定自動備份) 下方的「Select clusters to back up」(選取要備份的叢集) 欄位中,選取要啟用自動備份的叢集位置。

  7. 按一下 [儲存]。

gcloud

如要修改資料表的自動備份政策,請使用 gcloud bigtable tables update 指令,並搭配下列旗標:

  • --automated-backup-retention-period:設定自訂保留期限。
  • --automated-backup-locations:在 Enterprise Plus 版本中,僅為指定位置的叢集啟用自動備份功能。如未設定,備份預設為資料表執行個體中的所有叢集。
gcloud bigtable tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --automated-backup-retention-period=RETENTION_PERIOD \
    --automated-backup-locations=BACKUP_LOCATIONS

更改下列內容:

  • TABLE_ID:已啟用自動備份功能的資料表 ID。
  • INSTANCE_ID:執行個體的永久 ID。
  • RETENTION_PERIOD:最長 90 天。這個值必須以數字表示,單位為 m、h 或 d (分鐘、小時或天),例如 15d 代表 15 天。

    範例:72h 或 15d

  • BACKUP_LOCATIONS:必須啟用自動備份功能的叢集位置逗號分隔的清單。如未設定,備份預設為資料表執行個體中的所有叢集。

    範例:us-central1-a,us-east1-b,europe-west1-c

設定自動備份叢集位置

根據預設,如果執行個體有多個叢集,當您為執行個體中的資料表啟用自動備份功能時,Bigtable 會每天為執行個體中的每個叢集建立備份。在 Enterprise Plus 版本中,您可以選擇性設定自動備份,在特定位置的叢集上建立每日備份。

您可以在建立資料表、啟用自動備份或更新自動備份政策時,設定自動備份叢集位置。

控制台

  1. 在 Google Cloud 控制台中,開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下要設定的資料表所在的執行個體。

  3. 在左側窗格中,按一下「Tables」。

  4. 在表格列中,按一下「編輯」圖示 。

  5. 在「Configure automated backup」(設定自動備份) 下方的「Select clusters to back up」(選取要備份的叢集) 欄位中,選取要建立每日備份的叢集位置。

  6. 按一下 [儲存]。

gcloud

如要指定自動備份的叢集位置,請使用 --automated-backup-locations 旗標執行 gcloud bigtable tables update 指令:

gcloud bigtable tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --automated-backup-locations=BACKUP_LOCATIONS

更改下列內容:

  • TABLE_ID:要設定的資料表 ID。
  • INSTANCE_ID:執行個體的永久 ID。
  • BACKUP_LOCATIONS:以半形逗號分隔的叢集位置清單,您必須在這些位置啟用自動備份功能,例如 us-central1-a,us-east1-b。

如要移除自訂自動備份位置,並改回在執行個體的所有叢集位置建立備份,請使用 --clear-automated-backup-locations 旗標執行 gcloud bigtable tables update 指令:

gcloud bigtable tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --clear-automated-backup-locations

查看事件記錄

啟用自動備份功能後,Bigtable 會在建立備份時發出系統事件記錄。如果備份建立作業延遲,也會發出事件記錄。

如要在控制台的 Bigtable 叢集總覽頁面,查看自動備份系統事件記錄,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 按一下執行個體 ID。

  3. 按一下叢集 ID。

    如果過去一小時內有建立自動備份事件記錄,這些記錄會顯示在「Logs」(記錄) 窗格中。

  4. 選用:如要查看較早的事件記錄,請按一下「1 Hour」(1 小時) 旁的箭頭,然後選取其他日期範圍。

如要在 Logs Explorer 中查看自動備份系統事件記錄,請按照下列步驟操作:

  1. 前往「記錄檔探索工具」:

    前往「Logs Explorer」

    選取適當的 Google Cloud 專案。

  2. 如要查看備份建立事件,請在「Query」(查詢) 欄位中輸入下列內容:

    resource.type="audited_resource" resource.labels.service="bigtableadmin.googleapis.com"
    resource.labels.method="CreateAutomatedBackup"
    
  3. 點選「執行查詢」。

  4. 如要查看備份延遲事件,請在「Query」(查詢) 欄位中輸入下列內容:

    resource.type="audited_resource" resource.labels.service="bigtableadmin.googleapis.com"
    resource.labels.method="DelayedAutomatedBackup"
    
  5. 點選「執行查詢」。

    查詢結果會包含類似下列的訊息:

    Automated backup is delayed for table ab-test on cluster my-cluster-staging-c1.
    

建立標準級備份

您可以使用 Google Cloud CLI、控制台或 Bigtable 用戶端程式庫,建立資料表的標準備份。您也可以啟用自動備份,讓 Bigtable 每天為您建立標準備份。

控制台

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下要備份的資料表所在的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 按一下「Create backup」(建立備份)。

  5. 在「Table ID」(資料表 ID) 清單中,選取要備份的資料表。(如果您在資料表總覽頁面的「Table action」(資料表動作) 選單中點選「Create backup」(建立備份),Bigtable 會填入資料表)。

  6. 如果您使用複製功能,請選取叢集的「Cluster ID」(叢集 ID)。(如果您在叢集總覽頁面中,按一下叢集 ID 旁的「Create backup」(建立備份),Bigtable 就會填入資料表和叢集)。

  7. 輸入備份的專屬 ID。

  8. 在「Backup type」(備份類型) 區段中,選取「Standard」(標準)。

  9. 選取其中一個選項,設定到期日。

  10. 點選「建立」。

    Google Cloud 控制台會顯示「Backups」(備份) 頁面,並篩選出備份及其詳細資料。

  11. 選用:如要查看備份狀態,請按一下「活動」分頁標籤。

    Bigtable 完成資料備份後,「Status」(狀態) 欄會顯示「Backup complete」(備份完成) 狀態。

gcloud

請將所有指令中的下列項目替換為實際值:

  • INSTANCE_ID:執行個體的永久 ID。
  • CLUSTER_ID:叢集的永久 ID。
  • TABLE_ID:要備份的資料表 ID。
  • BACKUP_ID:您指派給備份的 ID。
  • EXPIRATION_DATE:未來的日期,Enterprise 版本最多可設定 90 天,Enterprise Plus 版本最多可設定 365 天。值必須採用「Zulu」世界標準時間戳記格式,精確度可達奈秒。

    範例:2022-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD:Enterprise 版最長 90 天,Enterprise Plus 版最長 365 天。這個值必須以數字表示,單位為 m、h 或 d (分鐘、小時或天),例如 15d 代表 15 天。

    範例:36h 或 89d

  1. 如果不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 查看執行個體的備份清單,其中包含要備份的資料表,以便選擇尚未在目標叢集使用的備份 ID。

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  3. 查看資料表清單,確認要備份的資料表 ID。

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. 執行 gcloud bigtable instances backups create 指令,從資料表建立備份,並提供到期日「或」保留期限。Enterprise 版本的上限為 90 天,Enterprise Plus 版本則為 365 天。

    gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --table=TABLE_ID \
      --async \
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    

    --async 旗標為選用項目。如要讓終端機在作業完成前傳回作業 ID,請使用這個欄位。如要檢查作業狀態,這項資訊就很有幫助。

  5. 查看備份清單,確認是否已建立備份。

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  6. 如果備份未列出,請查看作業狀態。

    如果狀態為 Ready,表示備份已完成。

建立熱備份

如果資料表已啟用分級式儲存空間 (預先發布版),就無法建立熱備份。

控制台

您可以使用 Google Cloud 控制台建立資料表的熱備份,步驟如下:

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下要備份的資料表所在的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 按一下「Create backup」(建立備份)。

  5. 在「Table ID」(資料表 ID) 清單中,選取要備份的資料表。(如果您在資料表總覽頁面的「Table action」(資料表動作) 選單中點選「Create backup」(建立備份),Bigtable 會填入資料表)。

  6. 如果您使用複製功能,請選取叢集的「Cluster ID」(叢集 ID)。(如果您在叢集總覽頁面中,按一下叢集 ID 旁的「Create backup」(建立備份),Bigtable 就會填入資料表和叢集)。

  7. 在「Backup ID」(備份 ID) 欄位中,輸入備份的專屬 ID。

  8. 在「Backup type」(備份類型) 部分,選取「Hot」(熱)。

  9. 在「Set hot to standard」(將熱資料設為標準) 清單中,選取下列其中一個選項:

    • 如要將備份保留在熱儲存空間,直到到期為止,請選取「一律不」。
    • 如要在三天後將熱備份轉換為標準級別,請選取「3 天」。
    • 如要指定將熱備份轉換為標準備份的自訂日期和時間,請選取「Custom」(自訂)。這個值必須至少比 Bigtable 建立備份的時間晚 24 小時。
  10. 點選「建立」。

    Google Cloud 控制台會顯示「Backups」(備份) 頁面,並篩選出備份及其詳細資料。

  11. 選用:如要查看備份狀態,請按一下「活動」分頁標籤。

    Bigtable 完成資料備份後,「Status」(狀態) 欄會顯示「Backup complete」(備份完成) 狀態。

gcloud

請將所有指令中的下列項目替換為實際值:

  • INSTANCE_ID:執行個體的永久 ID。
  • CLUSTER_ID:叢集的永久 ID。
  • TABLE_ID:要備份的資料表 ID。
  • BACKUP_ID:您指派給備份的 ID。
  • EXPIRATION_DATE:未來日期,Enterprise 版為 90 天內,Enterprise Plus 版為 365 天內。日期必須採用「Zulu」世界標準時間時間戳記格式,精確度可達奈秒。

    範例:2022-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD:Enterprise 版本的期限最長為 90 天,Enterprise Plus 版本則最長為 365 天,以數字表示,單位為 m、h 或 d (分鐘、小時或天)。

    範例:36h 或 89d

  • HOT_TO_STANDARD_TIME:(選用) Bigtable 應將備份從熱備份轉換為標準備份的日期和時間。這個值至少須比備份建立時間晚 24 小時。

    範例:2024-08-02T15:01:23.045123456Z

    您也可以提供相對時間長度的日期和時間。詳情請參閱「gcloud topic datetimes」。

    範例:+P30D,為期 30 天

  1. 如果不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 查看執行個體的備份清單,其中包含要備份的資料表,以便選擇尚未在目標叢集使用的備份 ID。

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  3. 查看資料表清單,確認要備份的資料表 ID。

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. 執行 gcloud bigtable instances backups create 指令,建立資料表的熱備份,並提供到期日「或」保留期限。Enterprise 版本的上限為 90 天,Enterprise Plus 版本則為 365 天。

    gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --table=TABLE_ID \
      --async \
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD \
      --backup-type=HOT \
      --hot-to-standard-time=HOT_TO_STANDARD_TIME
    

    --async 旗標為選用項目。如要讓終端機在作業完成前傳回作業 ID,請使用這個欄位。如要檢查作業狀態,這項資訊就很有幫助。

  5. 查看備份清單,確認是否已建立備份。

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  6. 如果備份未列出,請查看作業狀態。

    如果狀態為 Ready,表示備份已完成。

從備份還原

即使來源資料表已啟用自動備份,從備份還原的新資料表也不會啟用自動備份。如要對新資料表啟用自動備份功能,請務必啟用。

無論是標準級或熱備份,從備份還原的步驟都相同。Bigtable 還原熱備份至正式環境效能的速度,比標準備份更快。

控制台

您無法使用 Google Cloud 控制台還原至其他專案。如有需要,請改用 gcloud CLI。

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下要還原的備份所在的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 找到要還原的備份,然後按一下「還原」。

  5. 選取要還原至哪個執行個體。

    如果執行個體的儲存空間不足,無法容納新資料表,則無法使用。如果您沒有在執行個體中建立資料表的權限,就無法使用該執行個體。將滑鼠游標懸停在 圖示上,即可查看更多資訊。

    如果從受 CMEK 保護的備份還原,目的地執行個體也必須受 CMEK 保護。

    如果從微秒時間戳記精細程度的資料表備份還原,目的地執行個體必須是 Enterprise Plus 執行個體。

    您無法使用Google Cloud 控制台還原至其他專案。如有需要,請改用 gcloud CLI。

  6. 輸入要從備份建立的資料表專屬 ID。這組 ID 設定後即無法變更。

  7. 按一下「還原」。

    控制台會顯示「Tables」(資料表) 頁面,並篩選出新資料表。

    控制台會顯示各叢集的還原狀態。當所有叢集的狀態欄顯示「Ready」(就緒) 時,表示資料表已還原並複製到執行個體中的所有叢集。

gcloud

請將所有指令中的下列項目替換為實際值:

  • PROJECT_ID_SOURCE:專案 ID,用於存放要還原的備份。
  • INSTANCE_ID_SOURCE:來源執行個體的永久 ID。
  • PROJECT_ID_DESTINATION:要還原至哪個專案,請提供該專案的 ID。這個標記是選用的。如未指定這個選項,備份會還原至建立備份的執行個體中的新資料表。
  • INSTANCE_ID_DESTINATION:目的地執行個體的永久 ID。

    如果從微秒時間戳記精細程度的資料表備份還原,目的地執行個體必須是 Enterprise Plus 執行個體。

  • CLUSTER_ID:叢集的永久 ID。

  • BACKUP_ID:要還原的備份 ID。

  • TABLE_ID_NEW:新資料表的 ID。

  1. 如果不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 查看含有備份的執行個體備份清單,確認備份是否存在。

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
      --cluster=CLUSTER_ID_SOURCE
    
  3. 查看目的地執行個體中的資料表清單,以便為新資料表選擇尚未使用的 ID。

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  4. 執行 gcloud bigtable instances tables restore 指令,將備份還原至新資料表。

    gcloud bigtable instances tables restore \
    --source=projects/PROJECT_ID_SOURCE/instances/INSTANCE_ID_SOURCE/clusters/CLUSTER_ID/backups/BACKUP_ID \
    --async \
    --destination=TABLE_ID_NEW \
    --destination-instance=INSTANCE_ID_DESTINATION \
    --project=PROJECT_ID_DESTINATION
    

    --async 旗標為選用項目。如要讓終端機在作業完成前傳回作業 ID,請使用這個欄位。如要檢查作業狀態,這項資訊會很有幫助。

  5. 查看資料表清單,確認資料表是否已建立。

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  6. 如果清單中未列出備份,請查看作業狀態。

建立備份副本

控制台

您無法使用控制台在其他專案中建立備份副本。如有需要,請改用 gcloud CLI。

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下含有要複製備份的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 找到要複製的備份,展開「Restore」(還原) 字樣旁的「More」(更多) 選單,然後按一下「Copy」(複製)。

  5. 找出要複製的備份,然後按一下「Copy」(複製)。

    如果備份是另一個備份的副本,則無法使用「Copy」(複製)。

  6. 選取目的地執行個體。

    您無法使用控制台在其他專案中建立備份副本。如需執行這項操作,請改用 gcloud CLI。

    如果執行個體的儲存空間不足,無法儲存備份副本,則無法使用。如果您沒有在執行個體中建立備份的權限,就無法使用該執行個體。將滑鼠游標懸停在 圖示上,即可查看更多資訊。

    如果複製受 CMEK 保護的備份,目的地執行個體也必須受 CMEK 保護。

  7. 選取目的地叢集。

    與任何備份一樣,備份副本只會儲存在執行個體中的一個叢集,即使該執行個體使用複製功能也一樣。

  8. 輸入從備份建立的副本專屬 ID。ID 設定後即無法變更。

  9. 設定備份副本的到期時間,提供「Time」(時間) 的值,並從下拉式選單中選取「Unit」(單位)。

  10. 點選「複製」。

  11. 如要查看副本,請按一下「查看副本」。

    控制台會顯示目的地執行個體的「Backups」(備份) 頁面,並篩選出剛建立的備份副本。狀態欄顯示「Ready」(就緒) 時,表示複製作業已完成,可以進行後續操作。

gcloud

請將所有指令中的下列項目替換為實際值:

  • PROJECT_ID_SOURCE:要複製的備份所在的專案。
  • INSTANCE_ID_SOURCE:來源執行個體的永久 ID。
  • CLUSTER_ID_SOURCE:儲存來源備份的叢集 ID。
  • BACKUP_ID_SOURCE:要複製的備份 ID。
  • PROJECT_ID_DESTINATION:要存放副本的專案。
  • INSTANCE_ID_DESTINATION:目的地執行個體的永久 ID。
  • CLUSTER_ID_DESTINATION:目的地執行個體中要儲存副本的叢集 ID。
  • BACKUP_ID_DESTINATION:您指派給備份副本的 ID。
  • RETENTION_PERIOD:備份副本的存留時間,以數字和單位 (d 或 h) 表示。例如 5d (5 天) 或 15h (15 小時)。請擇一使用,或使用到期日。
  • EXPIRATION_DATE:備份副本的到期日期和時間,格式為 2022-09-01T10:00:00.0Z。
  1. 如果不知道執行個體 ID,請使用 bigtable instances list 指令查看專案的執行個體清單:

    gcloud bigtable instances list
    
  2. 查看來源執行個體的備份清單,確認要複製的備份是否存在。

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
    --cluster=CLUSTER_ID_SOURCE
    
  3. 查看目的地執行個體中的備份清單,以便選擇尚未使用的副本 ID。

    gcloud bigtable backups list --instances=DESTINATION_INSTANCE
    
  4. 執行 gcloud bigtable instances backups copy 指令,建立備份副本。

    gcloud bigtable backups copy \
      --source-project=PROJECT_ID_SOURCE \
      --source-instance=INSTANCE_ID_SOURCE \
      --source-cluster=CLUSTER_ID_SOURCE \
      --source-backup=BACKUP_ID_SOURCE \
      --destination-project=PROJECT_ID_DESTINATION \
      --destination-instance=INSTANCE_ID_DESTINATION \
      --destination-cluster=CLUSTER_ID_DESTINATION \
      --destination-backup=BACKUP_ID_DESTINATION \
    

    在指令後方附加下列其中一項:

    • --retention-period`=RETENTION_PERIOD:備份副本的保留期限。必須介於來源備份建立時間後的 6 小時至 30 天之間。
    • --expiration-date`=EXPIRATION_DATE:備份副本的到期時間。必須介於來源備份建立時間後的 6 小時至 30 天。

    您可以視需要將 --async 新增至指令。如要讓終端機在作業完成前傳回作業 ID,請使用這個選項。如要檢查作業狀態,這項資訊會很有幫助。

    如果系統傳回逾時訊息,表示備份可能已成功,且副本可能已建立。

  5. 查看備份清單,確認是否已建立副本。

    gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
    
  6. 如果清單中沒有備份,請查看作業狀態。

在極少數情況下,備份複製作業可能會因容量限制而失敗,請改用其他目的地叢集再試一次。如果該作業也失敗,請與支援團隊聯絡。

查看作業狀態

控制台

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下包含備份的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 在「Backups」(備份) 頁面中,按一下「Activity」(活動)。「狀態」欄會顯示每項作業目前的狀態。

還原資料表時,作業狀態包括:

  • 正在等候複製
  • 正在還原備份
  • 正在初始化
  • 已就緒:最佳化
  • 已就緒

建立備份時,作業狀態包括:

  • 正在建立備份
  • 備份完成

複製備份時,作業狀態包括:

  • 正在複製備份
  • 已複製備份

gcloud

如要查看備份或還原作業的狀態,您需要作業的專屬 ID。以下是作業 ID 範例:

`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`

執行指令建立備份,或使用 --async 選項還原至新資料表後,終端機會顯示作業 ID。

  1. 複製作業 ID。

  2. 執行 gcloud bigtable operations describe 指令,並將 OPERATION_ID 替換為您複製的值。

    gcloud bigtable operations describe OPERATION_ID
    

    範例:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    

    您可以每隔幾秒執行一次這個指令,直到 DONE 的值為 TRUE。

如果您不知道作業 ID (可能是因為您並未執行指令,或是在不同的終端機視窗中),可以查看執行個體的作業清單,並判斷要檢查哪項作業。

  1. 查看執行個體最近的作業活動清單,其中包含您要備份或還原的資料表,並將執行個體的 ID 替換為 INSTANCE_ID:

    gcloud bigtable operations list --instance=INSTANCE_ID
    

    終端機會在標示為 NAME、START_TIME、END_TIME 和 DONE 的資料欄中顯示作業清單。NAME 欄中的值是作業 ID。

  2. 從清單中的第一個項目開始,複製作業 ID。

  3. 使用 gcloud bigtable operations describe 查看作業的中繼資料。

    gcloud bigtable operations describe OPERATION_ID
    

    範例:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    
  4. 如果作業的中繼資料顯示 backupInfo 的值,代表您已找到正確的作業,可以每隔一段時間重複執行這個指令,直到 DONE 的值為 TRUE。

    如果中繼資料未顯示 backupInfo 的值,請查看步驟 1 顯示的作業清單中的下一項作業。

修改備份或備份副本

無論是手動建立、透過自動備份政策建立,還是備份副本,您都可以修改現有備份的到期日或保留期限。在 Enterprise 版本中,備份到期日最多可延長至建立時間後的 90 天。在 Enterprise Plus 版中,到期日最多可設為備份建立時間後 365 天。您也可以將熱備份轉換為標準備份。

控制台

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下包含備份的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 如要變更備份的到期日期和時間,請按照下列步驟操作:

    1. 找到要修改的備份,按一下「Restore」(還原) 旁邊的 選單,然後點選「Edit」(編輯)。

    2. 在「Backup expiration」(備份到期時間) 部分設定日期和時間,然後按一下「Save」(儲存)。

  5. 如要設定熱備份從熱級別轉換為標準級別的日期和時間,請按照下列步驟操作:

    1. 找到要修改的熱備份,按一下「Restore」(還原) 旁邊的 選單,然後點選「Edit」(編輯)。

    2. 在「Update hot to standard」(將 Hot 更新為 Standard) 部分,設定日期和時間,然後按一下「Save」(儲存)。

gcloud

您可以使用 gcloud CLI 修改備份或備份副本的到期日或期限。您也可以將熱備份轉換為標準備份。

在所有指令中,請將下列項目替換為實際值:

  • INSTANCE_ID:執行個體的永久 ID。
  • CLUSTER_ID:叢集的永久 ID。
  • BACKUP_ID:備份的專屬 ID。
  • EXPIRATION_DATE:未來日期,Enterprise 版本最多 90 天,Enterprise Plus 版本最多 365 天。值必須採用「Zulu」世界標準時間戳記格式,精確度可達奈秒。

    範例:2019-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD:備份資料的保留期限,Enterprise 版本最長為 90 天,Enterprise Plus 版本最長為 365 天。備份副本則最多 30 天。這個值必須以數字表示,單位為 m、h 或 d (分鐘、小時或天)。

    範例:36h 或 89d

  • HOT_TO_STANDARD_TIME:(選用) Bigtable 應將備份從熱備份轉換為標準備份的日期和時間。這個值至少須比備份建立時間晚 24 小時。

    範例:2024-08-02T15:01:23.045123456Z

    您也可以提供相對時間長度的日期和時間。詳情請參閱「gcloud topic datetimes」。

    範例:+P30D,為期 30 天

  1. 查看備份清單:

        gcloud bigtable backups list --instance=INSTANCE_ID
    

    終端機會顯示備份清單。

  2. 記下要更新的備份 ID 和叢集 ID。

  3. 執行 gcloud bigtable backups update 指令,新增到期日或保留期限,或將熱備份轉換為標準備份。

      gcloud bigtable backups update BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
      --hot-to-standard-time=HOT_TO_STANDARD_TIME
    
  4. 執行 gcloud bigtable instances backups describe 指令,確認已成功更新到期時間。

        gcloud bigtable backups describe BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID
    

刪除備份

如要在建立備份副本後刪除備份,請檢查狀態,確認複製作業已完成。

控制台

  1. 前往 Google Cloud 控制台的 Bigtable「Instances」(執行個體) 頁面。

    開啟執行個體清單

  2. 按一下包含備份的執行個體。

  3. 按一下左側導覽窗格中的「Backups」(備份)。

  4. 找到要刪除的備份,展開「Restore」(還原) 字樣旁的「More」(更多) 選單,然後按一下「Delete」(刪除)。

  5. 在「Confirm deletion」(確認刪除) 欄位中輸入備份 ID,然後按一下「Delete」(刪除)。

gcloud

  1. 查看備份清單,並將執行個體 ID 替換為 INSTANCE_ID:

    gcloud bigtable backups list --instance=INSTANCE_ID
    

    終端機會顯示備份清單。

  2. 記下備份 ID 和儲存備份的叢集 ID。

  3. 執行 gcloud bigtable instances backups delete 指令,將 BACKUP_ID 替換為您記下的備份 ID,並將 CLUSTER_ID 替換為叢集 ID。

    gcloud bigtable backups delete BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    

後續步驟