管理备份方案

备份方案概览

本页面介绍了如何为保险库备份创建和管理备份方案。 如需了解备份方案的含义和使用方式,请参阅 Google Cloud 控制台中的备份方案

准备工作

如需获得创建和管理备份方案所需的权限,请让您的管理员为您授予备份保险库项目的 Backup and DR User V2 (roles/backupdr.userv2) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含创建和管理备份方案所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需创建和管理备份方案,需要具备以下权限:

  • backupdr.backupPlans.create
  • backupdr.backupPlans.list
  • backupdr.backupPlans.get
  • backupdr.backupPlans.delete
  • backupdr.backupVaults.associate

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

如需了解如何授予用户在指定项目中应用备份方案的权限(但不能创建备份方案),请参阅备份用户的 Identity and Access Management 角色和权限

创建备份方案

按照以下说明为归档备份创建备份方案:

控制台

  1. 在 Google Cloud 控制台中,前往备份方案页面。

    前往“备份方案”

  2. 点击创建备份方案

  3. 资源类型列表中,选择目标资源。

  4. 对于身份,请在名称字段中输入唯一名称,并在说明字段中输入说明(可选)。

  5. 对于位置,请从区域列表中选择方案生效的区域。

  6. 对于目标位置,从备份保险库列表中选择存储数据的备份保险库。

  7. 如需配置备份规则,请完成以下步骤:

    1. 点击添加规则

    2. 重复列表中,选择重复频率。

    3. 对于备份窗口,请选择开始时间和结束时间。

    4. 保留期限字段中,输入保留期限。

    5. 对于按需保留期限,请在自定义按需保留期限上限字段中输入一个值(以天为单位),以限制使用此备份方案创建的按需备份的保留期限。如果未指定,系统会将保险柜的最短强制保留期限加上 30 天作为默认上限。您可以输入的最大值为 3,653 (3653) 天。

    6. 对于数据库,请点击数据库日志切换开关,将其切换到开启位置,以启用事务日志保护。

  8. 点击创建

备份方案及其关联的备份保险柜必须位于同一项目中。

gcloud

为 Compute Engine 实例创建包含备份规则的备份方案。

      gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \
      --location=REGION \
      --resource-type=RESOURCE_TYPE \
      --project=PROJECT_ID \
      --backup-vault=BACKUPVAULT_NAME \
      --backup-rule=rule-id=RULE_NAME,recurrence=RECURRENCE,hourly-frequency=HOURS,time-zone=TIME_ZONE,backup-window-start=START_TIME,backup-window-end=END_TIME,retention-days=BACKUP_RETENTION,max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION
      --backup-rule=rule-id=RULE_NAME,recurrence=RECURRENCE,hourly-frequency=HOURS,time-zone=TIME_ZONE,backup-window-start=START_TIME,backup-window-end=END_TIME,retention-days=BACKUP_RETENTION,max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION

替换以下内容:

  • BACKUP_PLAN_NAME:备份方案的名称。

  • REGION:您要在其中创建备份方案的 Google Cloud 区域。

  • RESOURCE_TYPE:备份方案要保护的资源类型。Values are:

    • compute.googleapis.com/Instance

    • compute.googleapis.com/Disk

    • sql.googleapis.com/Instance

    • alloydb.googleapis.com/Cluster

    • file.googleapis.com/Instance

  • PROJECT_ID:备份保险柜所在项目的名称。

  • BACKUPVAULT_NAME:您要用于备份存储的备份保险柜的名称。

  • RULE_NAME:备份规则的名称。

  • RECURRENCE:创建备份的频率。可以是每小时、每天、每周、每月或每年。

  • HOURS:每小时备份的频率。 仅当您将重复周期设置为每小时时,才需要指定此值。 最低小时数始终设置为 6 小时。

  • TIME_ZONE:备份方案的时区,例如 UTC。使用 IANA 时区格式来添加备份方案的时区。

  • START_TIME:开始时间采用 24 小时制,代表一天中的具体小时数。开始时间必须早于结束时间,并且包含在备份窗口内。

  • END_TIME:结束时间是一天中的小时,以 24 小时制表示。结束时间必须晚于开始时间,并且不包含在备份窗口中。

  • BACKUP_RETENTION:备份的保留期限。请注意,备份保留期限必须等于或大于备份保险柜强制执行的最短保留期限。

  • MAX_ONDEMAND_RETENTION:可选的 max_custom_on_demand_retention_days 字段用于设置允许的最大自定义保留期限(以天为单位),并限制用户使用此备份方案创建的按需备份的保留期限。

Terraform

您可以使用 Terraform 资源创建备份计划,并设置每小时、每天、每周、每月或每年的备份频率。


# Before creating a backup plan, you need to create backup vault (google_backup_dr_backup_vault).
resource "google_backup_dr_backup_plan" "default" {
  provider       = google-beta
  location       = "us-central1"
  backup_plan_id = "my-bp"
  resource_type  = "compute.googleapis.com/Instance"
  backup_vault   = google_backup_dr_backup_vault.default.name
  # log_retention_days = 2 # Only applicable for Cloud SQL

  backup_rules {
    rule_id               = "rule-1"
    backup_retention_days = 5

    standard_schedule {
      recurrence_type  = "HOURLY"
      hourly_frequency = 6
      time_zone        = "UTC"

      backup_window {
        start_hour_of_day = 0
        end_hour_of_day   = 24
      }
    }
  }
}

包含备份规则的备份方案示例

  • 每 6 小时备份一次 Compute Engine 实例,并将备份存储 11 天。

      gcloud backup-dr backup-plans create bp-hourly \
          --project=test-project --location=us-central1 \
          --resource-type=compute.googleapis.com/Instance \
          --backup-vault=test-bv \
          --backup-rule=rule-id=rule-hourly,recurrence=HOURLY,hourly-frequency=6,backup-window-start=5,backup-window-end=12,retention-days=11
    
  • 每天上午 5 点到中午 12 点之间备份磁盘,并将备份存储 12 天。

      gcloud backup-dr backup-plans create bp-daily \
          --project=test-project --location=us-central1 \
          --resource-type=compute.googleapis.com/Disk \
          --backup-vault=test-bv \
          --backup-rule=rule-id=rule-daily,recurrence=DAILY,backup-window-start=5,backup-window-end=12,retention-days=12
    
  • 在周一和周三上午 5 点到中午 12 点之间备份 Compute Engine 实例,并将备份存储 13 天。

      gcloud backup-dr backup-plans create bp-weekly \
          --project=test-project --location=us-central1 \
          --resource-type=compute.googleapis.com/Instance \
          --backup-vault=test-bv \
          --backup-rule=rule-id=rule-weekly,recurrence=WEEKLY,days-of-week='MON WED',backup-window-start=5,backup-window-end=12,retention-days=13
    
  • 在每个月的 1 日和 15 日上午 5 点到中午 12 点之间备份磁盘,并将备份存储 14 天。

      gcloud backup-dr backup-plans create bp-monthly \
          --project=test-project --location=us-central1 \
          --resource-type=compute.googleapis.com/Disk \
          --backup-vault=test-bv \
          --backup-rule=rule-id=rule-monthly,recurrence=MONTHLY,days-of-month='1 15',backup-window-start=5,backup-window-end=12,retention-days=14
    
  • 在每年 3 月、6 月、9 月、12 月的 10 日、20 日、30 日备份 Compute Engine 实例,并将备份存储 16 天。

      gcloud backup-dr backup-plans create bp-yearly \
          --project=test-project --location=us-central1 \
          --resource-type=compute.googleapis.com/Instance \
          --backup-vault=test-bv \
          --backup-rule=rule-id=rule-yearly,recurrence=YEARLY,months='MAR JUN SEP DEC',days-of-month='10 20 30',backup-window-start=5,backup-window-end=12,retention-days=16
    

创建不含备份规则的备份方案

创建不含备份规则的备份方案。如果配置了 max_custom_on_demand_retention_days,即使没有安排规则,备份方案也可以有效。

gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \
--location=REGION \
--resource-type=RESOURCE_TYPE \
--project=PROJECT_ID \
--backup-vault=BACKUPVAULT_NAME \
--max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION

列出备份方案

按照以下说明列出备份方案。

控制台

在 Google Cloud 控制台中,前往备份方案页面。

前往“备份方案”

备份方案页面会列出项目中的所有备份方案。

gcloud

列出备份方案。

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

替换以下内容:

  • LOCATION:备份方案的位置。

  • PROJECT_ID:创建备份方案的项目的名称。

查看备份方案详情

按照以下说明查看备份方案详细信息。

控制台

  1. 在 Google Cloud 控制台中,前往备份方案页面。

    前往“备份方案”

  2. 在备份方案列表中,点击要查看的备份方案的名称。

    备份方案包含以下信息:

    • 资源类型

    • 备份方案详情

    • 备份保险柜名称

    • 备份存储位置

    • 备份保留期限

gcloud

  1. 查看备份方案详情。

      gcloud backup-dr backup-plans describe BACKUP_PLAN_NAME \
      --location=LOCATION \
      --project=PROJECT_ID
    

    替换以下内容:

    • BACKUP_PLAN_NAME:备份方案的名称。

    • LOCATION:备份方案的位置。

    • PROJECT_ID:创建备份方案的项目的名称。

删除备份方案

如果您正在使用备份方案来保护资源,则无法删除该方案。如需删除备份方案,请先从资源中移除该备份方案,然后再将其删除。

删除备份方案时:

  • 应用方案时已经创建的备份不受影响。备份会在其保留期限到期后过期,过期前可访问备份。
  • 任何引用该方案的自动操作都将失效。

按照以下说明删除备份方案。

控制台

  1. 在 Google Cloud 控制台中,前往备份方案页面。

    前往“备份方案”

  2. 在备份方案列表中,点击要删除的备份方案的名称。

  3. 点击删除

  4. 在出现的叠加窗口中,确认要删除备份方案及其内容。

  5. 点击删除

gcloud

  1. 删除备份方案。

      gcloud backup-dr backup-plans delete BACKUP_PLAN_NAME \
      --location=LOCATION \
      --project=PROJECT_ID
    

    替换以下内容:

    • BACKUP_PLAN_NAME:要删除的备份方案的名称。

    • LOCATION:备份方案的位置。

    • PROJECT_ID:创建备份方案的项目的名称。

后续步骤