本页面可帮助您通过 Google Cloud 控制台中的备份保险库恢复 Compute Engine 实例。
准备工作
为执行恢复操作的目标项目中的保险库的备份保险库服务代理授予 Backup and DR Compute Engine Operator (
roles/backupdr.computeEngineOperator
) IAM 角色。如果您使用的是共享 VPC,请为 VPC 宿主项目中的备份保险库服务代理 (
roles/compute.networkUser
) 授予 Compute Network User IAM 角色。为在备份保险库项目中执行恢复操作的用户授予以下 IAM 角色。
- 备份保险柜和目标项目的 Backup and DR Restore User (
roles/backupdr.restoreUser
)。 - 仅针对目标资源的 Compute Viewer (
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
。
- 备份保险柜和目标项目的 Backup and DR Restore User (
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 实例
请按照以下说明恢复虚拟机实例。
控制台
在 Google Cloud 控制台中,前往归档备份页面。
此处列出了所有具有保险库备份的 Compute Engine 实例。
点击操作图标,选择恢复操作。“恢复”页面会显示以下恢复选项,您可以在其中进行选择:
- 选择资源名称。
- 选择备份创建时间。
- 选择要将虚拟机恢复到的项目名称。
点击继续。
- 随即会显示下一个页面基于备份新建一个虚拟机实例,其中虚拟机的属性会根据源虚拟机的属性预先填充。您可以修改属性以创建新的虚拟机,例如更改区域或机器类型的选择。
点击创建,以基于所选备份创建新的虚拟机。
gcloud
如果尚未授予,请向正在恢复虚拟机的恢复项目中的备份库服务代理授予 Backup and DR Compute Engine Operator (
roles/backupdr.computeEngineOperator
) IAM 角色。如需获取备份保险库服务账号,请使用以下命令。
gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME --location=LOCATION
替换以下内容:
- BACKUPVAULT_NAME:您要从中恢复数据的备份保险柜名称。
- LOCATION:备份保险柜的位置。
如需恢复虚拟机实例,请使用以下命令。
恢复与工作负载项目位于同一项目中的虚拟机,并提供备份 ID。
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
使用备份完整资源网址在与工作负载项目相同的项目中恢复虚拟机。
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
恢复具有自定义服务账号和网络配置的虚拟机实例。
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:恢复的虚拟机的名称。
- TARGET_ZONE:虚拟机恢复到的区域。
- TARGET_PROJECT:虚拟机恢复到的项目。
- NETWORK:虚拟机的网络 URI。
- SUBNET:虚拟机的子网 URI。
- SERVICE_ACCOUNT:已恢复虚拟机的服务账号。
- SCOPE:服务账号的授权范围。
如需替换其他虚拟机属性,请参阅 Backup and DR Service Google Cloud CLI 命令概览。
Backup and DR Compute Engine 指南
- 为保险库备份创建和管理备份方案
- 检查云凭据
- 发现并保护 Compute Engine 实例
- 装载 Compute Engine 永久性磁盘的备份映像
- 恢复 Compute Engine 实例
- 导入永久性磁盘快照映像