將 AlloyDB 叢集備份至 backup vault

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

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

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

事前準備

  1. 在 AlloyDB for PostgreSQL 叢集所在位置啟用 Backup and DR Service API。

    啟用 API

  2. 建立備份保存庫

  3. 建立備份方案

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

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

  6. 在 bucket 上設定記錄檔分析工具,監控備份和災難復原備份工作。

備份使用者的 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 控制台的「Vaulted backups」(已封存備份) 頁面。

    前往「封存備份」

  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 控制台的「Vaulted backups」(已封存備份) 頁面。

    前往「封存備份」

  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 控制台的「Vaulted backups」(已封存備份) 頁面。

    前往「封存備份」

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

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

  3. 在「建立按照需求執行的備份」視窗中,選取要使用的備份規則,然後按一下「建立」

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

gcloud

  1. 建立隨選備份。使用現有的備份方案關聯,啟動隨選備份。指定規則 ID,決定這項單次隨選備份的到期時間:

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    

    更改下列內容:

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

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

    • PROJECT_ID:專案名稱。

    • LOCATION:排定備份的位置。

取消保護 AlloyDB 叢集

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

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

控制台

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

    前往「封存備份」

  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:排定備份作業的位置。