管理备份方案

备份方案概览

本页面介绍了如何为保险柜备份创建和管理备份方案。 如需了解备份方案的定义及其使用方式,请参阅 控制台中的备份方案 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

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

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

创建备份方案

按照以下说明为保险柜备份创建备份方案:

控制台

  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

替换以下内容:

  • 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 标志用于设置允许的自定义保留期限上限(以天为单位),并限制用户请求的保留期限,以用于使用此备份方案创建的按需备份。

  • LOG_RETENTION:数据库事务日志(时间点恢复)的保留时长(以天为单位)。此标志仅对 AlloyDB 和 Cloud SQL 工作负载有效。 指定的时长必须大于或等于目标备份保险柜的最短强制保留时长。

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

  • 每天凌晨 2 点到上午 8 点之间备份 AlloyDB 集群,备份保留期限为 30 天,事务 日志保留期限为 13 天,以用于时间点恢复 (PITR)。

          gcloud backup-dr backup-plans create bp-alloydb-daily 
    --project=test-project --location=us-central1
    --resource-type=alloydb.googleapis.com/Cluster
    --backup-vault=test-bv
    --log-retention-days=13
    --backup-rule=rule-id=rule-alloydb,recurrence=DAILY,backup-window-start=2,backup-window-end=8,retention-days=30

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

创建不包含备份规则的备份方案。如果配置了 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:创建备份方案的项目的名称。

后续步骤