将磁盘备份到备份保险库

本页介绍了如何使用 Google Cloud 控制台将磁盘备份到备份保险库。将备份发送到备份保险柜可实现不可变性和强制保留。借助备份保险柜,您可以将备份存储在单区域或多区域中。

只有受邀用户才能访问多区域备份保险柜。如果您想在 Google Cloud项目中申请访问多区域备份保险库,请与您的销售代表联系。

在 Google Cloud 控制台中,您可以通过应用备份方案将磁盘备份到备份保险库。您可以通过以下两种方式进行备份:

  • 定期备份:您可以按特定时间间隔(例如每天、每周、每月或每年)自动备份磁盘。
  • 按需备份:您可以随时根据需要创建按需备份。 在对实例进行重大更改之前创建备份,或进行临时数据保护时,按需备份非常有用。

这两种方法都允许您将备份安全地存储在备份保险库中,从而在发生数据丢失或其他意外事件时提供可靠的磁盘恢复方式。

准备工作

  1. 在磁盘所在的位置启用 Backup and DR Service API。
  2. 启用该 API
  3. 创建备份保险柜
  4. 创建备份方案
  5. 为备份用户分配 IAM 角色和权限
  6. 在 Compute Engine 项目中授予备份保险柜访问权限
  7. 在存储桶上设置 Log Analytics 以监控 Backup and DR 备份作业。

限制

备份和灾难恢复服务不支持:

  • 将磁盘备份到备份库(适用于使用客户管理的加密密钥 [CMEK] 或客户提供的加密密钥 [CSEK] 的磁盘)。
  • 不支持备份访问模式为 READ_WRITE_MANY 的磁盘。
  • 跨区域备份。
  • 每小时备份多次。

备份用户的 IAM 角色和权限

如需获得配置定期备份或运行按需备份所需的权限,请让管理员向您授予备份保险库项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含配置定期备份或运行按需备份所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需配置预定备份或运行按需备份,您需要具备以下权限:

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForComputeDisk
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.get
  • backupdr.backupPlanAssociations.triggerBackupForComputeDisk
  • backupdr.backupPlanAssociations.deleteForComputeDisk
  • backupdr.backupPlans.useForComputeDisk
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

您也可以使用自定义角色或其他预定义角色来获取这些权限。

在磁盘所在的项目中授予备份保险柜访问权限

如需备份位于与备份保险柜所在项目不同的项目中的磁盘,您必须向磁盘所在项目中的备份保险柜服务代理授予 Backup and DR 磁盘操作员 (roles/backupdr.diskOperator) IAM 角色。

如需备份创建备份保险柜的项目中的磁盘,无需授予任何角色。

如需了解如何在您打算备份的项目中向备份保险库服务代理授予角色,请参阅向服务代理授予角色

配置预定备份

按照以下说明为磁盘配置定期备份。

控制台

  1. 在 Google Cloud 控制台中,前往保险库备份页面。

    前往“受保管的备份”页面

  2. 点击安排备份

  3. 对于资源类型,请选择磁盘

  4. 项目列表中,点击浏览,然后选择磁盘所在的项目。

  5. 区域列表中,选择磁盘所在的区域。

  6. 资源列表中,点击浏览

  7. 选择要备份的磁盘,然后点击完成

  8. 点击继续

  9. 备份方案列表中,点击选择

  10. 选择要用于保护磁盘的备份方案。

  11. 点击完成

  12. 查看备份详细信息,然后点击安排。 此时,您已将备份方案与磁盘相关联。备份方案会根据备份政策中设置的频率安排所选磁盘进行备份,但尚未开始备份。如果当前时间在备份方案中设置的窗口期内,则第一个备份作业将在几分钟内开始。如果当前时间不在方案窗口内,则创建按需备份

gcloud

  1. 获取实例 ID。

      gcloud compute instances describe DISK_NAME --zone=DISK_ZONE --format="value(id)"
    

    替换以下内容:

    • DISK_NAME:磁盘的名称。
    • DISK_ZONE:磁盘所在的位置。
  2. 配置预定备份。

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
      --location=DISK_REGION \
      --resource=projects/DISK_PROJECT_ID/zones/DISK_ZONE/disks/DISK_ID \
      --resource-type=compute.googleapis.com/Disk \
      --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    替换以下内容:

    • BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。
    • DISK_REGION:磁盘所在的区域。
    • DISK_PROJECT_ID:磁盘所在项目的名称。
    • DISK_ZONE:磁盘所在的可用区。
    • DISK_ID:磁盘 ID。
    • PROJECT_ID:存在备份方案的项目的名称。
    • LOCATION:备份方案所在的区域。
    • BACKUP_PLAN:您要与磁盘关联的备份方案的名称。

Terraform

您可以使用 Terraform 资源配置定期备份


# Before creating a backup plan association, you need to create backup plan (google_backup_dr_backup_plan)
# and compute disk (google_compute_disk or google_compute_region_disk).
resource "google_backup_dr_backup_plan_association" "disk_association" {
  provider                   = google-beta
  location                   = "us-central1"
  backup_plan_association_id = "my-disk-bpa"
  resource                   = google_compute_disk.default.id
  resource_type              = "compute.googleapis.com/Disk"
  backup_plan                = google_backup_dr_backup_plan.disk_default.name
}

更改与磁盘关联的备份方案

您可以将与磁盘关联的备份方案更改为其他备份方案。其他备份方案必须:

  • 使用相同的备份保险柜
  • 与磁盘 Compute Engine 实例位于同一区域

请按照以下说明更改与磁盘关联的备份方案。

控制台

  1. 在 Google Cloud 控制台中,前往保险库备份页面。

    前往“受保管的备份”页面

    已保险柜化的备份页面仅列出已应用备份方案且备份已存储在项目中的备份保险柜内的实例。

  2. 选择数据资源以获取其他方案。在备份的备份详情页面中,或在 Compute Engine 实例最右侧的 菜单中,选择更改备份方案

  3. 选择备份方案窗口仅列出适用于相应实例的备份方案。选择一个备份方案,然后点击应用

gcloud

  • 更改分配的备份方案。

      gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \
      --resource-type=compute.googleapis.com/Disk \
      --workload-project=DISK_PROJECT_ID \
      --location=DISK_REGION \
      --backup-plan=BACKUP-PLAN \
      --project=PROJECT_ID
    

    替换以下内容:

    • BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联资源的名称。
    • DISK_PROJECT_ID:相应磁盘的项目 ID。
    • DISK_REGION:磁盘的位置。
    • BACKUP_PLAN:您要切换到的备份方案的名称。
    • PROJECT_ID:所选备份方案的项目 ID。

列出已安排的备份和按需备份

按照以下说明列出已备份或计划备份的磁盘。

控制台

  1. 在 Google Cloud 控制台中,前往保险库备份页面。

    前往“受保管的备份”页面

    已保险柜化的备份页面仅列出已应用备份方案且备份已存储在项目中的备份保险柜内的实例和磁盘。

  2. 点击某个磁盘,即可查看该磁盘的所有可用备份(包括预定备份和按需备份)。

gcloud

  1. 列出预定备份和按需备份。

      gcloud backup-dr backup-plan-associations list \
      --location=LOCATION \
      --project=PROJECT_ID
    

    替换以下内容:

    • LOCATION:预定备份的位置。
    • PROJECT_ID:项目的名称。

创建按需备份

您可以触发所选的备份规则立即运行,从而为具有备份方案的磁盘启动按需备份。 按需备份是增量备份,仅捕获自上次备份以来发生更改的数据。

创建按需备份时,您可以从与磁盘关联的备份方案中选择规则。此规则决定了何时删除按需备份。您可以在作业页面中查看备份作业状态。如需了解详情,请参阅在 Google Cloud 控制台中监控备份和恢复作业

按照以下说明创建按需备份。

控制台

  1. 前往受保管的备份
  2. 选择要备份的磁盘。
  3. 点击创建按需备份
  4. 选择备份规则。
  5. 点击创建以开始按需备份创建流程。
  6. 如需查看按需备份作业的状态,请点击通知

gcloud

  1. 创建按需备份。

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

    替换以下内容:

    • BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。运行命令 gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID 以获取与磁盘关联的备份方案列表。
    • PROJECT_ID:项目的名称。
    • LOCATION:预定备份的位置。
    • RULE_ID:您要关联的备份规则名称,以便运行按需备份。

取消保护磁盘

您可以移除应用于磁盘的备份方案,从而取消对磁盘的保护。从磁盘中移除备份方案不会删除该备份方案或实例使用期间创建的任何备份。 您仍然可以访问和管理这些现有备份。

按照以下说明取消保护磁盘:

控制台

  1. 在 Google Cloud 控制台中,前往保险库备份页面。

    前往“受保管的备份”页面

  2. 点击要从中移除备份方案的磁盘的名称。

  3. 选择移除备份方案

gcloud

  1. 取消保护磁盘。

      gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME\
      --project=PROJECT_ID \
      --location=LOCATION
    

    替换以下内容:

    • BACKUP_PLAN_ASSOCIATION_NAME:要删除的备份的名称。
    • PROJECT_ID:项目的名称。
    • LOCATION:预定备份的位置。