本頁說明如何在Google Cloud 控制台中建立及管理備份保存庫。如要進一步瞭解 backup vault,請參閱「使用 backup vault 進行無法變更和難以刪除的備份」。
事前準備
如要取得建立及管理備份儲存空間所需的權限,請要求管理員在您要建立備份儲存空間的專案中,授予您備份和災難復原備份儲存空間管理員 (roles/backupdr.backupvaultAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備建立及管理備份儲存空間所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立及管理備份儲存空間,必須具備下列權限:
-
backupdr.backupVaults.create -
backupdr.backupVaults.list -
backupdr.backupVaults.get -
backupdr.backupVaults.update -
backupdr.backupVaults.delete -
backupdr.bvbackups.restore
設定留置權
為避免備份保存庫遭意外刪除,強烈建議您對保存庫所在的 Google Cloud 專案套用專案防刪除鎖定。專案防刪除鎖定可防止專案 (和備份) 遭到意外刪除。詳情請參閱「使用留置權保護專案」。
如要防止專案留置權遭到未經授權的移除,請使用 Privileged Access Manager (PAM) 強制執行多方核准。詳情請參閱「使用 Privileged Access Manager 保護專案留置權」。
建立 backup vault
請按照下列操作說明建立備份保存庫。
控制台
前往 Google Cloud 控制台的「備份保存庫」頁面。
按一下「建立備份保存庫」。
在「建立 backup vault」頁面中,輸入 backup vault 資訊。
- 在「Name your backup vault」(為備份保存庫命名) 欄位中,輸入符合備份保存庫名稱規定的名稱。
- 從「選擇資料的儲存位置」清單中,選取要永久儲存備份資料的支援位置。
在「防止備份遭到刪除」欄位中,輸入最短強制保留期限,定義備份受到刪除保護的時間長度。最短 1 天,最長 99 年。
如要鎖定強制執行的最短保留期限值,請選取「鎖定強制執行的保留期限」,然後按一下 圖示,並從日曆中選取日期。
在備份規則指定的時間範圍內禁止刪除:您可以將保管庫設為沿用備份方案中設定的「在以下時間後刪除備份」值。您無法手動刪除備份,系統會根據相關聯備份方案中的值刪除備份。
鎖定強制執行的保留期限:如要鎖定強制執行的最短保留期限值,請勾選這個選項,然後按一下 圖示,並從日曆中選取日期。
如要使用自己的加密金鑰,請在「Encryption」(加密) 下方選取「Customer-managed encryption key (CMEK)」(客戶自行管理的加密金鑰 (CMEK)) 選項,然後從下拉式清單中選取金鑰。系統只會顯示與備份保存庫位於相同位置的金鑰。您只能在建立備份保存庫時設定 CMEK。如要進一步瞭解如何使用 CMEK,請參閱加密。
如需必要權限,請參閱「CMEK 權限」。
- 在「定義 backup vault 的存取權」部分,選取選項來定義 backup vault 的存取限制。如未選取任何選項,系統會建立備份保存庫,並套用「Restrict access to current organization」(限制存取目前機構) 限制。
點選「建立」。
gcloud
- 在下列其中一種開發環境中設定 gcloud CLI:
- Cloud Shell:如要使用已設定 gcloud CLI 的線上終端機,請啟用 Cloud Shell。 頁面底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。工作階段可能要幾秒鐘的時間才能初始化。
建立備份保存庫。
gcloud backup-dr backup-vaults create BACKUPVAULT_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --backup-retention-inheritance=RETENTION_PERIOD_INHERITANCE \ --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS \ --kms-key=KMS_KEY \ --access-restriction=ACCESS_RESTRICTION更改下列內容:
BACKUPVAULT_NAME:備份儲存空間的名稱。PROJECT_ID:要在其中建立備份保存庫的專案名稱。LOCATION:要建立備份保存庫的位置。RETENTION_PERIOD_INHERITANCE:這個備份保存庫中備份的強制保留期限結束時間的繼承模式。設定後即無法變更繼承模式。預設值為inherit-vault-retention。- 如果設為 inherit-vault-retention,備份保留期限會從 backup vault 繼承。
- 如果設為「match-backup-expire-time」,備份保留期限會與備份到期時間相同。
RETENTION_PERIOD_IN_DAYS:backup vault 中每個備份都無法刪除的時間長度。最短為 1 天,最長為 99 年。舉例來說,2w1d是兩週又一天。詳情請參閱備份保存庫最短強制保留期限。KMS_KEY:用於加密的客戶自行管理的加密金鑰 (CMEK),格式為projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME。如果您提供金鑰,系統會在 backup vault 上啟用 CMEK。 您只能在建立備份保存庫時設定 CMEK。 如要進一步瞭解如何使用 CMEK,請參閱加密一文。如需必要權限,請參閱「CMEK 權限」。ACCESS_RESTRICTION:指定 backup vault 的存取限制。允許的值為within-project、within-org、unrestricted和within-org-but-unrestricted-for-ba。如未指定值,備份保存庫會以within-org限制建立。
備份和災難復原服務僅支援對儲存在 backup vault 中的 Compute Engine 執行個體和永久磁碟備份進行 CMEK 保護。檢查作業狀態。
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 資源建立備份保存庫。
列出專案中的備份儲存空間
請按照下列操作說明,列出專案中的備份儲存空間。
控制台
前往 Google Cloud 控制台的「備份保存庫」頁面。
清單中會顯示所選專案的備份保存庫。
gcloud
列出 backup vault。
gcloud backup-dr backup-vaults list \ --project=PROJECT_ID \ --location=LOCATION更改下列內容:
PROJECT_ID:建立備份保存庫的專案名稱。LOCATION:建立備份保存庫的位置。
查看 backup vault 詳細資料
備份保存庫詳細資料頁面會顯示設定資訊,並允許您更新可編輯的項目。
- 建立時間:備份保存庫的建立日期。
- 上次更新時間:上次修改備份保存庫的日期。
- 說明:備份保存庫的選用說明。
- 狀態:有效
- 位置類型:區域或多區域
- 位置:選取的區域或多區域,例如
us-central1 (Iowa)或us。 - 儲存的位元組:備份保存庫中儲存的資料量。
- 強制保留期限
- 備份最短保留時間:為這個備份保存庫選取最短保留時間
- 繼承自備份規則:使用備份規則中已設定的值,適用於儲存在這個備份保存庫中的備份。
- 保留期限鎖定狀態
- 已解鎖:備份保管箱未套用鎖定,也沒有待處理的鎖定作業。
- 鎖定將於 datetime 生效:已設定鎖定,將於指定日期對備份保存庫生效。
- 已鎖定:備份保存庫的最短強制保留期限值已鎖定,無法縮短或移除。
- 加密類型: Google-managed encryption key
- 加密金鑰:目前使用的客戶管理加密金鑰。
- 存取限制:無限制或僅限目前的組織存取
請按照下列說明查看備份保存庫詳細資料。
控制台
前往 Google Cloud 控制台的「備份保存庫」頁面。
這個頁面會列出所選專案中的 backup vault。
按一下要查看的備份保存庫。
備份保存庫詳細資料頁面會顯示設定資訊,包括最短強制保留期限值和鎖定狀態。
gcloud
查看 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 的最短強制保留期限,建立強制保留期限。此外,備份的到期時間會設在強制保留期限屆滿之後。
如要更新現有備份儲存空間的最短強制保留期限,請按照下列操作說明進行。
控制台
前往 Google Cloud 控制台的「備份保存庫」頁面。
在備份儲存庫清單中,按一下要更新的備份儲存庫名稱。
按一下 圖示。
在「編輯最短強制保留期限」對話方塊中,輸入「新的最短強制保留期限」值。這是指備份保存庫中每個備份都無法刪除的時間長度。最短 1 天,最長 99 年。
如要鎖定最短強制保留期限,請選取「鎖定強制保留期限」核取方塊,然後從日曆中選取鎖定生效日期。
按一下 [儲存]。
gcloud
更新現有備份儲存空間的最短強制保留期限。
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 時,會受到與 backup vault 最短強制保留期限設定相容性的限制。
| 資源類型 | 最短強制保留期限 (備份) | 最短強制保留期限 (記錄) | 禁止手動刪除 |
|---|---|---|---|
| AlloyDB for PostgreSQL | 1 到 365 天 | 1 至 35 天 | 必填 |
| Cloud SQL | 1 天至 10 年 | 不適用 | 選用 |
| Compute Engine 執行個體 | 1 天至 99 年 | 不適用 | 選用 |
| Compute Engine 磁碟 | 1 天至 99 年 | 不適用 | 選用 |
| Filestore | 1 天至 99 年 | 不適用 | 選用 |
刪除備份保存庫
您必須等到備份 vault 中的所有備份都達到強制保留期限,且已過期或手動刪除,才能刪除備份 vault。
如要刪除備份保管箱,請按照下列指示操作,前提是保管箱內的所有備份都已過期或刪除。
控制台
前往 Google Cloud 控制台的「備份保存庫」頁面。
按一下要刪除的備份保存庫。
點選「刪除」。
在出現的重疊視窗中,確認要刪除備份保存庫及其內容。
點選「刪除」。
gcloud
刪除備份保存庫。
gcloud backup-dr backup-vaults delete BACKUPVAULT_NAME \ --project=PROJECT_ID \ --location=LOCATION更改下列內容:
BACKUPVAULT_NAME:備份保存庫的名稱。PROJECT_ID:建立備份保存庫的專案名稱。LOCATION:備份保存庫的位置。
授予備份儲存空間服務代理和備份/復原設備的存取權
每個備份保存庫都有專屬的服務代理程式。對於某些資源類型,服務代理會代表備份和災難復原執行動作,因此必須在 backup vault 服務代理需要存取的專案中,授予適當的權限。服務代理是 Google 代管的服務帳戶,詳情請參閱「服務代理」。
對於某些資源類型 (例如 Google Cloud VMware Engine、Oracle 資料庫和 SQL Server 資料庫),Backup and DR 備份/復原設備必須對備份保存庫執行動作。在這種情況下,備份/復原設備必須具備備份保存庫的適當權限。此外,目標備份保存庫必須設有 UNRESTRICTED 或 WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA 存取限制。
將角色授予服務代理
找到服務代理的電子郵件地址後,您可以像授予任何其他主體角色一樣,將角色授予備份保管箱服務代理。
如要備份備份儲存空間所在專案以外的 Compute Engine VM 執行個體,您必須將 Backup and DR Compute Engine 運算子 (roles/backupdr.computeEngineOperator) 身分與存取權管理角色授予 Compute Engine 專案中的備份儲存空間服務代理。不過,如要在建立 backup vault 的專案中備份 Compute Engine VM 執行個體,則無須授予任何角色。
如要還原 Compute Engine 執行個體,您必須在還原專案中,將備份和災難復原 Compute Engine 操作者 (roles/backupdr.computeEngineOperator) IAM 角色授予 backup vault 服務代理。
請按照下列操作說明,將角色授予服務代理程式。
控制台
前往 Google Cloud 控制台的「備份保存庫」頁面。
按一下備份保存庫名稱,然後複製服務代理的電子郵件地址。
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
在「New principles」(新增主體) 欄位中,輸入服務代理的電子郵件地址。
在「Select a role」(選取角色) 清單中,根據資源類型選取適當的角色。舉例來說,如要備份備份保存庫所在專案以外的 Compute Engine 執行個體,請選取「備份和災難復原 Compute Engine 操作者」(
roles/backupdr.computeEngineOperator) IAM 角色。按一下 [儲存]。
gcloud
將角色授予服務代理。
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:在資源專案中授予的必要角色。舉例來說,如要備份備份儲存空間所在專案以外的 Compute Engine 執行個體,請選取「備份和災難復原 Compute Engine 操作者」(roles/backupdr.computeEngineOperator) IAM 角色。
將角色授予備份/復原設備服務帳戶
只有在備份 vault 專案中,將備份和災難復原備份 vault 存取者 (roles/backupdr.backupvaultAccessor) IAM 角色授予設備服務帳戶後,您才能從備份/復原設備專案存取備份 vault。如果沒有這個角色,您就無法存取備份保管箱,完成設定來啟用備份建立作業。
將角色授予備份/復原設備服務帳戶後,您可以使用設備管理控制台,將 Google Cloud VMware Engine、Oracle 資料庫和 SQL Server 資料庫備份及還原至備份保存庫。
請按照下列操作說明,將角色授予備份/還原設備服務帳戶:
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面,找到建立裝置的執行個體。
按一下要取得服務帳戶的 Compute Engine 執行個體。
在「API 與身分識別管理」部分,從「服務帳戶」欄位複製服務帳戶的電子郵件地址。
前往備份儲存庫專案的 Google Cloud 控制台,然後前往「IAM」角色。
按一下「授予存取權」。
在「新增主體」欄位中,輸入設備的服務帳戶電子郵件地址。
在「選取角色」清單中,選取「備份和災難復原備份儲存空間存取者」角色。
選用:如要限制備份/復原裝置只能存取特定備份儲存空間,請按一下「備份和災難復原 backup vault 存取者」角色旁邊的「新增 IAM 條件」。
- 在「Title」(標題) 欄位中,輸入條件名稱。
按一下「條件編輯器」分頁標籤。
在「運算式 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}") != ""
按一下 [儲存]。
按一下 [儲存]。