從備份保存庫還原 Compute Engine 執行個體

本頁面說明如何使用 Google Cloud 控制台,從備份保存庫還原 Compute Engine 執行個體。

事前準備

  • 在要執行還原作業的目標專案中,為備份儲存空間的備份儲存空間服務代理程式授予備份和災難復原 Compute Engine 操作者 (roles/backupdr.computeEngineOperator) IAM 角色。

  • 如果您使用共用虛擬私有雲,請為虛擬私有雲主專案中保存庫的備份保存庫服務代理程式授予 Compute 網路使用者 (roles/compute.networkUser) 身分與存取權管理角色。

  • 為在備份保存庫專案中執行還原作業的使用者授予下列 IAM 角色。

    • 備份和災難復原還原使用者 (roles/backupdr.restoreUser),適用於備份儲存空間和目標專案。
    • 僅限目標的 Compute 檢視者 (roles/compute.viewer)。

    這些預先定義的角色具備存取 Compute Engine 專案中備份保存庫所需的權限。如需特定權限,請參閱下列清單。

    • backupdr.bvbackups.restore
    • backupdr.compute.restoreFromBackupVault
    • backupdr.backupVaults.get
    • backupdr.backupVaults.list
    • backupdr.bvbackups.list
    • backupdr.bvdataSources.get
    • backupdr.bvdataSources.list
    • backupdr.bvbackups.get

    如要使用 Google Cloud CLI 或 API 還原執行個體,使用者必須具備下列權限:

    • 備份資源的 backupdr.bvbackups.restore 權限。
    • 目標專案的 backupdr.compute.restoreFromBackupVault 權限,執行個體將還原至該專案。

Google Cloud 控制台的其他權限

使用 Google Cloud 控制台還原執行個體時,使用者需要 CLI 權限和下列權限。主控台需要這些額外權限,才能列出並顯示必要 Compute Engine 資源,供使用者介面選取:

  • compute.acceleratorTypes.list
  • compute.disks.list
  • compute.machineTypes.list
  • compute.projects.get
  • compute.regions.list
  • compute.zones.list

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

還原 Compute Engine 執行個體

請按照下列操作說明還原 VM 執行個體。

主控台

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

    前往「vault 中的備份」

    這裡會列出所有具有封存備份的 Compute Engine 執行個體。

  2. 按一下動作圖示,然後選取「還原」動作。系統會顯示「還原頁面」,您可以在其中選取下列還原選項:

    • 選取資源名稱
    • 選取「備份建立時間」
    • 選取要還原 VM 的專案名稱
  3. 按一下 [繼續]

    • 系統會顯示「透過備份建立新的 VM 執行個體」頁面,並根據來源 VM 屬性預先填入 VM 屬性。您可以修改屬性來建立新的 VM,例如變更「地區」或「機器類型」的選取項目。
  4. 按一下「建立」,即可從所選備份建立新的 VM。

gcloud

  1. 如果尚未授予,請在要復原 VM 的復原專案中,將備份和災難復原 Compute Engine 操作者 (roles/backupdr.computeEngineOperator) IAM 角色授予 backup vault 服務代理。

  2. 如要取得備份儲存空間服務帳戶,請使用下列指令。

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME
      --location=LOCATION
    

    更改下列內容:

    • BACKUPVAULT_NAME:要從中還原資料的備份保存庫名稱。
    • LOCATION:備份保存庫的位置。
  3. 如要還原 VM 執行個體,請使用下列指令。

    • 使用備份 ID,在與工作負載專案相同的專案中還原 VM。

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • 使用備份完整資源網址,在與工作負載專案相同的專案中還原 VM。

        gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • 還原具有自訂服務帳戶和網路設定的 VM 執行個體。

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT \
        --network-interface=network=NETWORK,subnet=SUBNET \
        --service-account=SERVICE_ACCOUNT \
        --scopes=SCOPE
      

      更改下列內容:

      • PROJECT:備份保存庫專案的名稱。
      • LOCATION:備份保存庫的位置。
      • BACKUPVAULT_NAME:要從中還原資料的備份保存庫名稱。
      • DATA_SOURCE:要從中還原資料的資料來源名稱。
      • NAME:還原的 VM 名稱。
      • TARGET_ZONE:VM 還原所在的區域。
      • TARGET_PROJECT:VM 還原所在的專案。
      • NETWORK:VM 的網路 URI。
      • SUBNET:VM 的子網路 URI。
      • SERVICE_ACCOUNT:還原的 VM 服務帳戶。
      • SCOPE:服務帳戶的授權範圍。

如要覆寫其他 VM 屬性,請參閱「Backup and DR Service Google Cloud CLI 指令總覽」。

備份和災難復原 Compute Engine 指南