为归档资源创建和管理备份方案

概览

本页介绍了如何为保险库资源创建和管理备份方案。如需了解备份方案的含义及其使用方式,请参阅 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

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

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

创建备份方案

按照以下说明为保险库资源创建备份方案。

控制台

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

    前往“备份方案”

  2. 点击创建备份方案

  3. 对于资源类型,请选择以下任一选项:

    • Compute Engine:适用于 Compute Engine 实例
    • 磁盘:适用于附加到 Compute Engine 实例的磁盘。
    • Cloud SQL:适用于 Cloud SQL 实例(预览版)。
    • AlloyDB:适用于 AlloyDB 集群(预览版)。
    • Filestore:适用于 Filestore 实例。
  4. 备份方案名称字段中,输入备份方案的名称。备份方案创建后,您无法更改方案的名称。

  5. 备份方案说明字段中,输入备份方案的可选说明。

  6. 区域列表中,选择备份方案区域。备份方案是在此区域中创建的。您可以保护与备份方案位于同一区域的资源。

  7. 备份保险柜列表中,选择用于存储备份的备份保险柜。

  8. 添加备份规则部分中,默认备份规则已就位。

    • (Compute Engine 和 Filestore)如果您想使用默认规则,而不使用任何其他备份规则,可以点击创建

    • (数据库)如果您想使用默认规则,而不使用其他备份规则,可以继续配置数据库日志备份

    1. 如果您想添加一项或多项额外的备份规则,请点击添加规则
    2. 添加备份规则窗格中,输入备份规则信息,然后点击保存

      • 为备份规则命名:为备份规则输入一个名称。
      • 选择创建备份的时间:指定备份的周期和频率。
      • 时间段:为备份作业选择时区开始时间结束时间
      • 选择将备份保留多久后删除:输入备份在删除之前应保留的天数。请注意,此值必须等于或大于备份保险柜的最短强制保留期限
  9. 设置自定义按需保留期限上限。(预览

    自定义按需备份可保留的最长时间,由自定义按需保留期限上限决定。在创建按需备份时,您可以设置保留期限,也可以使用现有的备份规则。如果未指定,系统会将保险柜的最短强制保留期限加上 30 天作为自定义保留期限的上限。

    保留期限上限中输入一个值(以天为单位)。此值必须大于或等于保险库的最短强制保留期限。

  10. 只有在保护数据库实例时,系统才会显示配置数据库日志备份。您可以使用预写式日志归档功能,将数据恢复到特定的时间点,时间可精确到零点几秒。设置后即无法更改。勾选相应复选框,然后选择数据库日志的保留时长。

  11. 点击创建

gcloud

  1. 为 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_PLAN_NAME:备份方案的名称。
    • REGION:您要在其中创建备份方案的 Google Cloud 区域。
    • RESOURCE_TYPE:备份方案要保护的资源类型。值包括:
      • 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:使用此备份方案创建的按需备份的自定义保留期限上限(以天为单位)。
  2. 为 Compute Engine 实例创建不含备份规则的备份方案。

    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
    
  3. 分配备份方案的示例:

    示例:每 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
    

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

  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
      }
    }
  }
}

列出备份方案

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

控制台

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

    前往“备份方案”

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

gcloud

  1. 列出备份方案。

      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:创建备份方案的项目名称。

后续步骤