建立及管理備份保險庫

總覽

本頁面說明如何在Google Cloud 控制台中建立及管理備份保存庫。

事前準備

如要取得建立及管理 backup vault 所需的權限,請要求管理員在您要建立 backup vault 的專案中,授予您「備份和災難復原 backup vault 管理員」 (roles/backupdr.backupvaultAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備建立及管理備份儲存空間所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要建立及管理 backup vault,必須具備下列權限:

  • backupdr.backupVaults.create
  • backupdr.backupVaults.list
  • backupdr.backupVaults.get
  • backupdr.backupVaults.update
  • backupdr.backupVaults.delete

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

建立 backup vault

請按照下列操作說明建立備份保存庫。

主控台

  1. 前往 Google Cloud 控制台的「備份保存庫」頁面。

    前往備份保存庫

  2. 按一下「建立備份保存庫」

  3. 在「建立備份保存庫」頁面中,輸入備份保存庫資訊。

    1. 在「Name your backup vault」(為備份保存庫命名) 欄位中,輸入符合備份保存庫名稱規定的名稱。
    2. 按一下「繼續」
    3. 從「選擇資料的儲存位置」清單中,選取要永久儲存備份資料的位置
    4. 按一下「繼續」
    5. 在「Prevent backup deletion」(防止備份遭到刪除) 欄位中,輸入最短強制保留期限,定義備份受到刪除保護的時間長度。最少 1 天,最多 99 年。
    6. 如要鎖定最短強制保留期限的值,請選取「鎖定強制保留期限」核取方塊,按一下 圖示,然後從日曆中選取日期。
    7. 在「定義 backup vault 的存取權」部分,選取選項來定義 backup vault 的存取限制。如未選取任何選項,系統會建立備份保存庫,並套用「Restrict access to current organization」(限制存取目前機構) 限制。
  4. 點選「建立」

gcloud

  1. 在下列任一開發環境中設定 gcloud CLI:
  2. Cloud Shell:如要使用已設定 gcloud CLI 的線上終端機,請啟用 Cloud Shell。 頁面底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。工作階段可能要幾秒鐘的時間才能初始化。
  3. 本機殼層:如要使用本機開發環境,請安裝初始化 gcloud CLI。

  4. 建立 backup vault。

      gcloud backup-dr backup-vaults create BACKUPVAULT_NAME \
      --project=PROJECT_ID \
      --location=LOCATION \
      --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS
      --access-restriction=ACCESS_RESTRICTION
    

    更改下列內容:

    • BACKUPVAULT_NAME:備份保存庫的名稱。
    • PROJECT_ID:您要在其中建立備份保存庫的專案名稱。
    • LOCATION:您要建立備份保存庫的位置。
    • RETENTION_PERIOD_IN_DAYS:backup vault 中每個備份都無法刪除的時間長度。最短為 1 天,最長為 99 年。舉例來說,2w1d 是兩週又一天。詳情請參閱備份保存庫最短強制保留期限
    • ACCESS_RESTRICTION:指定 backup vault 的存取限制。允許的值為 within-projectwithin-orgunrestrictedwithin-org-but-unrestricted-for-ba。如未指定值,備份保存庫會以 within-org 限制建立。
  5. 檢查作業狀態。

      gcloud backup-dr operations describe FULL_OPERATION_ID
    

    更改下列內容:

    • FULL_OPERATION_ID備份保存庫顯示的作業 ID。格式如下: projects/test-project/locations/us-central1/operations/operationID

    輸出內容如下所示:

    
        Create in progress for backup vault [projects/test-project/locations/us-central1/operations/operation-1721893921568-41e0dab8938a1-f1dc6ad2-3051b3ce]. Run the [gcloud backup-dr operations describe] command to check the status of this operation.
    

Terraform

您可以使用 Terraform 資源建立備份保存庫


resource "google_backup_dr_backup_vault" "default" {
  provider                                   = google-beta
  location                                   = "us-central1"
  backup_vault_id                            = "my-vault"
  description                                = "This vault is created usingTerraform."
  backup_minimum_enforced_retention_duration = "100000s"
  force_update                               = "true"
  ignore_inactive_datasources                = "true"
  allow_missing                              = "true"
}

列出專案中的備份儲存空間

請按照下列操作說明,列出專案中的備份儲存空間。

主控台

  1. 前往 Google Cloud 控制台的「備份保存庫」頁面。

    前往備份保存庫

    清單中會顯示所選專案的備份保存庫。

gcloud

  1. 列出 backup vault。

      gcloud backup-dr backup-vaults list \
      --project=PROJECT_ID \
      --location=LOCATION
    

    更改下列內容:

    • PROJECT_ID:建立備份保存庫的專案名稱。
    • LOCATION:建立備份保存庫的位置。

查看 backup vault 詳細資料

備份保存庫詳細資料頁面會顯示設定資訊,並允許您更新可編輯的項目。

備份保存庫詳細資料頁面的「鎖定狀態」欄位可能顯示下列其中一個值:

  • 已解鎖:備份保管箱未套用鎖定,也沒有待處理的鎖定作業。
  • 鎖定將於 datetime 生效:已設定鎖定,將於指定日期對備份保存庫生效。
  • 已鎖定:備份保存庫的最短強制保留期限值已鎖定,無法減少或移除。

請按照下列操作說明查看備份保存庫詳細資料。

主控台

  1. 前往 Google Cloud 控制台的「備份保存庫」頁面。

    前往備份保存庫

    這個頁面會列出所選專案中的 backup vault。

  2. 按一下要查看的備份保存庫。

    備份保存庫詳細資料頁面會顯示設定資訊,包括最短強制保留期限值和鎖定狀態。

gcloud

  1. 查看 backup vault 詳細資料。

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME \
      --location=LOCATION \
      --project=PROJECT_ID
    

    更改下列內容:

    • BACKUPVAULT_NAME:備份保存庫的名稱。
    • LOCATION:備份保存庫的位置。
    • PROJECT_ID:建立備份保存庫的專案名稱。

更新現有 backup vault 的最短強制保留期限

您可以根據鎖定狀態更新最短強制保留期限。

  • 已解鎖:您可以延長或縮短最短強制保留期限。
  • 已鎖定:最短強制保留期限只能延長。

生效日當天,這項鎖定設定就會永久生效,無法移除。不過,如果尚未到期,您可以移除鎖定,這樣系統就會清除原先指定的生效日期。

變更強制執行的最短保留期限值後,只會套用至更新後建立的備份。變更最短強制保留期限的值,不會影響 backup vault 中現有備份的剩餘強制保留期限。

提高 backup vault 的強制保留期限時,backup vault 的強制保留期限不得超過您將儲存在 backup vault 的任何備份方案保留期限。如果變更後的值長於備份保留期限,備份和災難復原服務會根據備份方案類型,以不同方式處理這些變更。

  • Google Cloud 主機方案:無法變更備份保存庫值。

  • 管理控制台方案:允許變更備份保存庫值,但您應立即更新相關備份方案,指定的保留期限必須等於或長於更新後的備份保存庫最短強制保留期限。

    如果方案保留期限短於 backup vault 的最短強制保留期限,系統會以 backup vault 的最短強制保留期限建立備份。此外,備份的到期時間會設在強制保留期限屆滿之後。

請按照下列操作說明,更新現有 backup vault 的最短強制保留期限。

主控台

  1. 前往 Google Cloud 控制台的「備份保存庫」頁面。

    前往備份保存庫

  2. 在備份儲存庫清單中,按一下要更新的備份儲存庫名稱。

  3. 按一下 圖示。

  4. 在「編輯最短強制保留期限」對話方塊中,輸入「新的最短強制保留期限」值。這是指備份保存庫中每個備份都無法刪除的時間範圍。最少 1 天,最多 99 年。

  5. 如要鎖定最短強制保留期限,請選取「鎖定強制保留期限」核取方塊,然後從日曆選取鎖定生效日期。

  6. 按一下 [儲存]

gcloud

  1. 更新現有 backup vault 的最短強制保留期限。

      gcloud backup-dr backup-vaults update BACKUPVAULT_NAME\
      --project=PROJECT_ID \
      --location=LOCATION \
      --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS
    

    更改下列內容:

    • BACKUPVAULT_NAME:備份保存庫的名稱。
    • PROJECT_ID:建立備份保存庫的專案名稱。
    • LOCATION:備份保存庫的位置。
    • RETENTION_PERIOD_IN_DAYS:backup vault 中每個備份都無法刪除的時間長度。最少 1 天,最多 99 年。

刪除備份保存庫

只有在 backup vault 不含備份時,才能刪除。如要刪除備份保存庫,請先刪除保存庫中所有符合刪除資格的備份。

請按照下列操作說明刪除備份保管庫。

主控台

  1. 前往 Google Cloud 控制台的「備份保存庫」頁面。

    前往備份保存庫

  2. 按一下要刪除的備份保存庫。

  3. 點選「刪除」。

  4. 在出現的重疊視窗中,確認要刪除備份保存庫及其內容。

  5. 點選「刪除」。

gcloud

  1. 刪除備份保存庫。

      gcloud backup-dr backup-vaults delete BACKUPVAULT_NAME \
      --project=PROJECT_ID \
      --location=LOCATION
    

    更改下列內容:

    • BACKUPVAULT_NAME:備份保存庫的名稱。
    • PROJECT_ID:建立備份保存庫的專案名稱。
    • LOCATION:備份保存庫的位置。

授予備份儲存空間服務代理和備份/復原設備的存取權

每個備份保存庫都會連結至專屬的服務代理程式。 對於某些資源類型,系統會利用服務代理代表備份和災難復原服務執行動作,因此必須在備份保存庫服務代理需要存取的專案中,授予適當的權限。服務代理是 Google 代管的服務帳戶,詳情請參閱「服務代理」一文。

對於某些資源類型 (例如 Google Cloud VMware Engine、Oracle 資料庫和 SQL Server 資料庫),Backup and DR 備份/復原設備必須對備份儲存空間執行動作。在這種情況下,備份/復原設備必須具備備份保存庫的適當權限。此外,目標備份保存庫必須設為 UNRESTRICTED 或 WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA 存取限制

將角色授予服務代理

找到服務代理的電子郵件地址後,您可以像授予任何其他主體角色一樣,將角色授予備份保管箱服務代理。

如要備份備份儲存空間所在專案以外的 Compute Engine VM 執行個體,您必須在 Compute Engine 專案中,將 Backup and DR Compute Engine 運算子 (roles/backupdr.computeEngineOperator) 身分與存取權管理角色授予備份儲存空間服務代理程式。不過,如要在與備份保存庫相同的專案中備份 Compute Engine VM 執行個體,則無須授予任何角色。

如要還原 Compute Engine 執行個體,您必須在還原專案中,將備份和災難復原 Compute Engine 操作者 (roles/backupdr.computeEngineOperator) IAM 角色授予 backup vault 服務代理。

按照下列操作說明,將角色授予服務代理程式。

主控台

  1. 前往 Google Cloud 控制台的「備份保存庫」頁面。

    前往備份保存庫

  2. 按一下備份儲存空間名稱,然後複製服務代理程式的電子郵件地址。

  3. 前往 Google Cloud 控制台的「IAM」頁面。

    前往身分與存取權管理頁面

  4. 在「New principles」(新增主體) 欄位中,輸入服務專員的電子郵件地址。

  5. 在「Select a role」(選取角色) 清單中,根據資源類型選取適當的角色。舉例來說,如要備份備份保存庫所在專案以外的 Compute Engine 執行個體,請選取備份和災難復原 Compute Engine 運算子 (roles/backupdr.computeEngineOperator) IAM 角色。

  6. 按一下 [儲存]

gcloud

  1. 將角色授予服務代理。

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:SERVICE_ACCOUNT \
      --role=ROLE
    

    更改下列內容:

    • PROJECT_ID:專案名稱。
    • SERVICE_ACCOUNT:備份保存庫服務代理的電子郵件地址。例如:my-service-account@my-project.iam.gserviceaccount.com
    • ROLE:在資源專案中授予的必要角色。 舉例來說,如要備份在備份儲存空間建立位置以外的專案中,選取 Backup and DR Compute Engine Operator (roles/backupdr.computeEngineOperator) IAM 角色。

將角色授予備份/復原設備服務帳戶

只有在備份 vault 專案中,將備份和災難復原備份 vault 存取者 (roles/backupdr.backupvaultAccessor) 身分與存取權管理角色授予設備服務帳戶後,您才能從備份/復原設備專案存取備份 vault。如果沒有這個角色,您就無法存取 backup vault,因此無法完成設定來啟用備份建立作業。

將角色授予備份/復原設備服務帳戶後,您可以使用管理控制台,將 Google Cloud VMware Engine、Oracle 資料庫和 SQL Server 資料庫備份及還原至備份保存庫。

請按照下列操作說明,將角色授予備份/復原設備服務帳戶:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面,找到建立裝置的執行個體。

    前往 VM 執行個體頁面

  2. 按一下要取得服務帳戶的 Compute Engine 執行個體。

  3. 在「API and identity management」(API 和身分管理) 區段中,從「Service account」(服務帳戶) 欄位複製服務帳戶的電子郵件地址。

  4. 在 Google Cloud 控制台中,前往備份保存庫專案的「IAM」IAM角色。

    前往身分與存取權管理頁面

  5. 按一下「授予存取權」

  6. 在「新增主體」欄位中,輸入設備的服務帳戶電子郵件地址。

  7. 在「Select a role」(選取角色) 清單中,選取「Backup and DR Backup Vault Accessor」(Backup and DR 備份儲存空間存取者) 角色。

  8. 選用:如要限制備份/復原裝置只能存取特定備份儲存空間,請按一下「備份和災難復原 backup vault 存取者」角色旁邊的「新增 IAM 條件」

    1. 在「Title」(名稱) 欄位中,輸入條件名稱。
    2. 按一下「條件編輯器」分頁標籤。

      • 在「運算式 CEL 編輯器」欄位中,輸入下列運算式。

        resource.name.extract("projects/PROJECT_ID/locations/LOCATION/backupVaults
        /{name}/") == ("BACKUPVAULT_NAME") || resource.name.extract("projects/PROJECT_ID/locations/LOCATION/backupVaults
        /{name}") == ("BACKUPVAULT_NAME") || resource.name.extract("operations/{op}") != ""
        

      更改下列內容:

      • BACKUPVAULT_NAME:備份保存庫的名稱。
      • PROJECT_ID:建立備份保存庫的專案名稱。
      • LOCATION:備份保存庫的位置。

        如要為其他備份保存庫新增存取權,請視需要附加其他「resource.name.startsWith」陳述式 (使用「||」OR 邏輯運算子)。

        舉例來說,下列陳述式會授權名為「bv-test」和「user-bv1」的備份儲存空間,這兩個儲存空間都位於名為「testproject」的專案,以及「us-central1」位置。

        resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}/") == ("bv-test") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}") == ("bv-test") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}/") == ("user-bv1") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}") == ("user-bv1") || resource.name.extract("operations/{op}") != ""
        
    3. 按一下 [儲存]

  9. 按一下 [儲存]

後續步驟