將 AlloyDB 叢集備份至 backup vault

本頁說明如何將 AlloyDB 備份至備份保存庫。將備份傳送至 backup vault,即可確保備份不可變更,並強制執行保留設定。

在 Google Cloud 控制台中,您可以套用備份方案,將 AlloyDB for PostgreSQL 叢集備份至備份保存庫。您可以透過下列兩種方式備份。這兩種方法都能讓您將備份安全地儲存在備份保存庫中,在資料遺失或其他意外事件發生時,提供可靠的 AlloyDB 叢集復原方式。

  • 排定的備份:您可以設定以特定間隔 (例如每天、每週、每月或每年) 自動備份 AlloyDB for PostgreSQL 叢集。
  • 隨選備份。您可以視需要建立隨選備份。 隨需備份適用於在對資料庫進行重大變更前建立備份,或用於臨時資料保護。

事前準備

  1. 在 AlloyDB for PostgreSQL 叢集所在位置啟用備份和災難復原服務 API。

    啟用 API

  2. 建立備份保存庫

  3. 建立備份方案

  4. 為備份使用者指派 IAM 角色和權限

  5. 在 AlloyDB 專案中授予 backup vault 存取權

  6. 在 bucket 上設定 Observability Analytics,監控備份和災難復原備份工作。

備份使用者的 IAM 角色和權限

如要取得設定排程備份或執行隨選備份所需的權限,請要求管理員在備份保存庫專案中授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備設定排程備份或執行隨選備份所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要設定排程備份或執行隨選備份,您必須具備下列權限:

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForAlloydbCluster
  • backupdr.backupPlanAssociations.fetchForAlloydbCluster
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForAlloydbCluster
  • backupdr.backupPlanAssociations.triggerBackupForAlloydbCluster
  • backupdr.backupPlanAssociations.deleteForAlloydbCluster
  • backupdr.backupPlans.useForAlloydbCluster
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

下表列出各項 API 呼叫所需的動態權限:

資源 要對資源執行的動作 各項 API 呼叫所需的權限 需要指派的專案
backup vault 建立 BackupVault backupdr.backupVaults.create 管理員專案
刪除 BackupVault backupdr.backupVaults.delete 管理員專案
更新 BackupVault backupdr.backupVaults.update 管理員專案
列出 BackupVault backupdr.backupVaults.list 管理員專案
取得 BackupVault backupdr.backupVaults.get 管理員專案
備份方案 建立 BackupPlan backupdr.backupPlans.create 管理員專案
刪除 BackupPlan backupdr.backupPlans.delete 管理員專案
取得 BackupPlan backupdr.backupPlans.get 管理員專案
列出備份方案 backupdr.backupPlans.list 管理員專案
備份方案關聯 建立備份方案關聯 backupdr.backupPlanAssociations.createForAlloydbCluster 工作負載專案
刪除備份方案關聯 backupdr.backupPlanAssociations.deleteForAlloydbCluster 工作負載專案
在備份方案關聯中觸發隨選備份 backupdr.backupPlanAssociations.triggerBackupForAlloydbCluster 工作負載專案
取得備份方案關聯 backupdr.backupPlanAssociations.getForAlloydbCluster 工作負載專案
列出備份方案關聯 backupdr.backupPlanAssociations.list 工作負載專案
擷取備份方案關聯 backupdr.backupPlanAssociations.fetchForAlloydbCluster 工作負載專案
資料來源 取得 DataSource backupdr.bvdataSources.get 管理員專案
列出資料來源 backupdr.bvdataSources.list 管理員專案
PiTR 還原 backupdr.bvdataSources.useReadOnlyForAlloydbCluster 管理員專案
備份 取得備份 backupdr.bvbackups.get 管理員專案
列出備份 backupdr.bvbackups.list 管理員專案
刪除備份 backupdr.bvbackups.delete 管理員專案
還原備份 backupdr.bvbackups.useReadOnlyForAlloydbCluster 管理員專案
資料來源參照 取得資料來源參照 backupdr.dataSourceReferences.getForAlloydbCluster 工作負載專案
擷取資料來源參照 backupdr.dataSourceReferences.fetchForAlloydbCluster 工作負載專案
作業 可列出作業 backupdr.operations.list 各自的專案
Get 作業 backupdr.operations.get 各自的專案

在 AlloyDB for PostgreSQL 專案中授予備份儲存空間存取權

如要在備份保存庫建立所在專案以外的專案中備份 AlloyDB 叢集,您必須在 AlloyDB 專案中,將 Backup and DR AlloyDB Operator (roles/backupdr.alloydbOperator) IAM 角色授予備份保存庫服務代理。如果備份儲存所在的備份 vault 專案與 AlloyDB 專案不同,請在 AlloyDB 專案中,將角色指派給備份 vault 服務代理。

如要在建立 backup vault 的專案中備份 AlloyDB 叢集,不需要授予任何角色。

如要瞭解如何授予 backup vault 服務代理備份專案中的角色,請參閱「授予服務代理角色」。

設定排程備份

如要為 AlloyDB 叢集設定排定的備份,請按照下列操作說明進行。

控制台

  1. 前往 Google Cloud 控制台的 Backup and DR「Vaulted backups」(已封存備份) 頁面。

    前往 vault 中的備份

  2. 按一下「排定備份時程」

  3. 在「資源類型」清單中,選取「AlloyDB」

  4. 在「專案」清單中,選取 AlloyDB 叢集所在的專案。

  5. 從「Region」(區域) 清單中,選取叢集所在的區域。

  6. 在「資源」清單中,按一下「瀏覽」。選擇要備份的 AlloyDB 叢集,然後按一下「完成」

  7. 按一下「繼續」

  8. 在「備份方案」清單中,按一下「選取」

  9. 選擇要用來保護 AlloyDB 叢集的備份方案。

  10. 按一下 [完成]

  11. 查看備份詳細資料,然後按一下「排程」

gcloud

  1. 設定排程備份。

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
          --location=ALLOYDB_REGION \
          --project=ALLOYDB_PROJECT_ID \
          --resource=projects/ALLOYDB_PROJECT_ID/clusters/ALLOYDB_CLUSTER_ID \
          --resource-type=alloydb.googleapis.com/Cluster \
          --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    更改下列內容:

    • BACKUP_PLAN_ASSOCIATION_NAME:備份方案關聯的名稱。
    • ALLOYDB_REGION:AlloyDB 叢集所在的區域。
    • ALLOYDB_PROJECT_ID:AlloyDB 叢集所在的專案名稱。
    • ALLOYDB_CLUSTER_ID:AlloyDB 叢集 ID。
    • PROJECT_ID:備份計畫所在的專案名稱。
    • LOCATION:叢集位置。

列出已排定備份時間的叢集

如要列出已排定備份作業的 AlloyDB 叢集,請按照下列操作說明執行。

控制台

  1. 前往 Google Cloud 控制台的 Backup and DR「Vaulted backups」(已封存備份) 頁面。

    前往 vault 中的備份

  2. 在表格頂端,依序選取「篩選表格」>「資源類型」。 選取「AlloyDB」AlloyDB。這樣一來,系統就會篩選顯示內容,只顯示已套用備份方案,且備份儲存於專案 backup vault 的 AlloyDB 叢集。

gcloud

列出已排定備份作業的 AlloyDB 叢集:

  gcloud backup-dr backup-plan-associations fetch-for-resource-type alloydb.googleapis.com/Cluster \
  --location=LOCATION \
  --project=PROJECT_ID

更改下列內容:

  • LOCATION:排定備份的位置。
  • PROJECT_ID:AlloyDB 叢集所在的專案名稱。

建立按照需求執行的備份

如要為 AlloyDB 叢集啟動備份方案的隨需備份,請立即觸發所選備份規則。按照需求執行的備份通常只會擷取上次備份後變更的資料 (增量備份)。

建立隨需備份時,您可以從與 AlloyDB 叢集相關聯的備份方案中選擇規則。這項規則會決定何時刪除隨需備份。您可以在「工作」頁面查看備份工作狀態。詳情請參閱「在 Google Cloud 控制台中監控備份與還原作業」。

請按照下列操作說明建立隨選備份。

控制台

  1. 前往 Google Cloud 控制台的 Backup and DR「Vaulted backups」(已封存備份) 頁面。

    前往 vault 中的備份

    「已封存的備份」頁面只會列出符合下列條件的資料資源:已套用備份方案,而且備份儲存於專案中的 backup vault。

  2. 選取要備份的資源。從選單或資源的詳細資料頁面中,選取「建立隨選備份」

  3. 使用下列其中一個選項,指定備份的刪除時間:

    • 依據自訂保留期限 (搶先版):在備份方案中新增自訂隨需保留期限,預設為備份 vault 的最短強制保留期限加上 30 天。
    • 依據現有備份規則:從「在以下時間後刪除備份」下拉式選單中選取現有規則。
  4. 按一下「建立」,開始建立隨選備份。

  5. 如要查看隨選備份工作的狀態,請按一下「通知」

gcloud

使用下列任一選項建立隨選備份:

  • 依據備份規則

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    
  • 根據自訂保留期限

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --custom-retention-days=CUSTOM_RETENTION \
    --project=PROJECT_ID \
    --location=LOCATION \
    --labels=LABELS
    

    更改下列內容:

    • BACKUP_PLAN_ASSOCIATION_NAME:備份方案關聯的名稱。

      指令。
    • RULE_ID:您要建立關聯的備份規則名稱,以便執行隨選備份。

    • PROJECT_ID:專案名稱。

    • LOCATION:排定備份的位置。

    • CUSTOM_RETENTION:這項隨選備份的自訂保留期限 (以天為單位)。這個值必須大於或等於 backup vault 保留時間,且小於或等於備份方案中設定的 max-custom-on-demand-retention-days 值 (如果未設定 max-custom-on-demand-retention-days,則為 vault 保留時間 + 30 天)。

    • LABELS:備份的選用標籤,以半形逗號分隔的鍵/值組合,例如 webserver=backend,media=images

變更套用至 AlloyDB 叢集的備份方案

您可以將套用至 AlloyDB 叢集的備份方案變更為其他備份方案。其他備份方案必須符合下列條件:

  • 使用同一個備份保存庫
  • 與 AlloyDB 叢集位於相同區域

請按照下列操作說明,變更與 AlloyDB 叢集相關聯的備份方案。

控制台

  1. 前往 Google Cloud 控制台的「備份和災難復原」「Vaulted backups」(已封存備份) 頁面。

    前往 vault 中的備份

    「已封存的備份」頁面只會列出符合下列條件的資料資源:已套用備份方案,而且備份儲存於專案中的 backup vault。

  2. 選取要改用其他方案的備份資料。在備份的備份詳細資料頁面中,或從 選單中,選取「變更備份方案」。「選取備份方案」視窗只會列出適用於這個叢集的備份方案。

  3. 選取備份方案,然後按一下「套用」

gcloud

  • 變更指派的備份方案。

      gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \
      --workload-project=ALLOYDB_PROJECT_ID \
      --location=ALLOYDB_REGION \
      --backup-plan=BACKUP_PLAN \
      --project=PROJECT_ID
    

    更改下列內容:

    • BACKUP_PLAN_ASSOCIATION_NAME:備份方案關聯資源的名稱。
    • ALLOYDB_PROJECT_ID:AlloyDB 叢集的專案 ID。
    • ALLOYDB_REGION:AlloyDB 叢集的位置。
    • BACKUP_PLAN:要切換的備份計畫名稱。
    • PROJECT_ID:所選備份計畫的專案 ID。

取消保護 AlloyDB 叢集

如要取消保護 AlloyDB 叢集,請移除套用至叢集的備份方案。從 AlloyDB 叢集移除備份方案時,不會刪除使用備份方案期間建立的任何備份。在備份過期前,您仍可存取及管理這些備份。

如要取消保護 AlloyDB 叢集,請按照這些操作說明操作。

控制台

  1. 前往 Google Cloud 控制台的 Backup and DR「Vaulted backups」(已封存備份) 頁面。

    前往 vault 中的備份

  2. 按一下要移除備份計畫的資料庫名稱。

  3. 選取「移除備份方案」

gcloud

取消保護 AlloyDB 叢集。

  gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
  --project=PROJECT_ID \
  --location=LOCATION

更改下列內容:

  • BACKUP_PLAN_ASSOCIATION_NAME:要刪除的備份方案關聯名稱。
  • PROJECT_ID:專案名稱。
  • LOCATION:排定備份作業的位置。