配置备份方案

默认情况下,AlloyDB for PostgreSQL 会使用 Google 管理的加密密钥持续备份您的数据,恢复期为 14 天。本页介绍了如何通过以下两种方式调整此默认行为:

准备工作

  • 您使用的 Google Cloud 项目必须已启用才能访问 AlloyDB
  • 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
    • roles/alloydb.admin(AlloyDB Admin 预定义 IAM 角色)
    • roles/owner(Owner 基本 IAM 角色)
    • roles/editor(Editor 基本 IAM 角色)

    如果您不拥有上述任何角色,请与组织管理员联系以申请访问权限。

管理持续备份和恢复

本部分介绍可用于在集群上配置、停用或重新启用持续备份和恢复功能的 Google Cloud CLI 或 Google Cloud 控制台命令。

配置持续备份

您可以配置集群的持续备份系统的恢复时段和加密设置。

如果您减小恢复时间窗口的大小,AlloyDB 会立即缩短可执行时间点恢复的过去时间范围。例如,如果您将窗口大小从 14 天缩短到 7 天,那么过去 7 天以上的时间点将无法用于恢复。

如果您增加窗口的大小,那么时间点恢复可用的时间范围会实时增长,直到达到您指定的新上限。例如,如果您将窗口大小从 7 天更改为 14 天,则恢复窗口的有效大小需要额外 7 天才能达到新的最大值(即过去 14 天)。

配置方案后,持续备份和恢复功能可能需要长达 24 小时才能完成备份并启用持续恢复功能。 如果您想加快备份操作,而不必等待 24 小时,并且想避免数据丢失,那么您可以在配置方案后进行按需备份。

控制台

  1. 转到集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 点击数据保护

  4. 持续备份和恢复政策下,点击修改

  5. 恢复窗口(天数)字段中,输入新的恢复窗口大小。

  6. 如果您想使用特定的客户管理的加密密钥 (CMEK)(而非集群的加密配置)来加密此集群的连续备份和数据更改日志,请执行以下额外步骤:

    1. 点击高级加密选项

      1. 点击客户管理的加密密钥 (CMEK) 单选按钮。

      2. 点击选择客户管理的密钥列表,然后选择一个密钥。

  7. 点击更新

gcloud

如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell

如需在集群上配置持续备份和恢复,请使用 gcloud alloydb clusters update 命令。

gcloud alloydb clusters update CLUSTER_ID \
  --continuous-backup-recovery-window-days=WINDOW_LENGTH \
  --region=REGION_ID \
  --project=PROJECT_ID

替换以下内容:

  • CLUSTER_ID:集群的 ID。

  • WINDOW_LENGTH:相应集群的持续备份和恢复时段的时长(以天为单位)。这个值必须在 1(含)和 35(含)之间。

    此参数的值定义了持续备份和恢复的以下两个方面:

    • 根据持续备份,您可以执行时间点恢复的最长过去时间(相对于当前时间)。

    • AlloyDB 在存储空间中保留连续备份和数据更改日志的时长。为确保您可以恢复到恢复时段内的任何时间点,AlloyDB 会将备份和日志保留的时间比指定值延长一天。

    此参数为可选参数。 如果您未添加此参数,AlloyDB 会将恢复时段设置为 14 天。

    • REGION_ID:集群所在区域的 ID。
    • PROJECT_ID:集群所在项目的 ID。

    如果您想使用特定的客户管理的加密密钥 (CMEK)(而非集群的加密配置)来加密此集群的连续备份和数据更改日志,请提供以下额外参数:

    • --continuous-backup-encryption-key=KEY_ID:要使用的 CMEK 密钥的 ID。

    • --continuous-backup-encryption-key-keyring=KEYRING_ID:密钥的密钥环的 ID。

    • --continuous-backup-encryption-key-location=LOCATION_ID:密钥环的区域的 ID。请注意,您指定的区域必须与集群的区域一致。

    • --continuous-backup-encryption-key-project=PROJECT_ID:密钥环的项目 ID。

    如需将 CMEK 与 AlloyDB 搭配使用,您需要完成一些额外的设置步骤。如需了解详情,请参阅将 CMEK 与 AlloyDB 搭配使用

停用持续备份和恢复

停用持续备份后,集群将无法进行时间点恢复。如果您重新启用持续备份(如下一部分中所述),该功能会再次可用。

控制台

  1. 转到集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 点击数据保护标签页。

  4. 持续备份和恢复政策下,点击修改

  5. 清除Google 管理的持续数据保护复选框。

  6. 点击更新

gcloud

如需在集群上停用持续备份和恢复,请使用 gcloud alloydb clusters update 命令。

  gcloud alloydb clusters update CLUSTER_ID \
      --no-enable-continuous-backup
      --region=REGION_ID \
      --project=PROJECT_ID

替换以下内容:

  • CLUSTER_ID:集群的 ID。
  • REGION_ID:集群所在区域的 ID。
  • PROJECT_ID:集群所在项目的 ID。

启用持续备份

如果您在之前停用持续备份后重新启用,则时间点恢复也会再次可用。恢复窗口从 AlloyDB 创建的第一个后续备份开始。为了尽快启用时间点恢复功能,请在重新启用持续备份后立即创建按需备份。否则,恢复时间窗口将从 AlloyDB 下一次执行的每日备份开始。

控制台

  1. 转到集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 点击数据保护

  4. 持续备份和恢复政策下,点击修改

  5. 选中 Google 管理的持续数据保护复选框。

  6. 点击更新

gcloud

如需在停用集群的持续备份配置后重新启用该配置,请按照重新配置持续备份中的相同步骤操作,并在 gcloud CLI 命令中添加 --enable-continuous-backup 参数:

gcloud alloydb clusters update CLUSTER_ID \
    --enable-continuous-backup \
    --continuous-backup-recovery-window-days=WINDOW_LENGTH \
    --region=REGION_ID \
    --project=PROJECT_ID

替换以下内容:

  • CLUSTER_ID:集群的 ID。

  • WINDOW_LENGTH:相应集群的持续备份和恢复时段的时长(以天为单位)。这个值必须在 1(含)和 35(含)之间。

    此参数的值定义了持续备份和恢复的以下两个方面:

    • 根据持续备份,您可以执行时间点恢复的最长过去时间(相对于当前时间)。

    • AlloyDB 在存储空间中保留连续备份和数据更改日志的时长。为确保您可以恢复到恢复时段内的任何时间点,AlloyDB 会将备份和日志保留的时间比指定值延长一天。

    此参数为可选参数。 如果您未添加此参数,AlloyDB 会将恢复时段设置为 14 天。

    • REGION_ID:集群所在区域的 ID。
    • PROJECT_ID:集群所在项目的 ID。

    如果您想使用特定的客户管理的加密密钥 (CMEK)(而非集群的加密配置)来加密此集群的连续备份和数据更改日志,请提供以下额外参数:

    • --continuous-backup-encryption-key=KEY_ID:要使用的 CMEK 密钥的 ID。

    • --continuous-backup-encryption-key-keyring=KEYRING_ID:密钥的密钥环的 ID。

    • --continuous-backup-encryption-key-location=LOCATION_ID:密钥环的区域的 ID。请注意,您指定的区域必须与集群的区域一致。

    • --continuous-backup-encryption-key-project=PROJECT_ID:密钥环的项目 ID。

    如需将 CMEK 与 AlloyDB 搭配使用,您需要完成一些额外的设置步骤。如需了解详情,请参阅将 CMEK 与 AlloyDB 搭配使用

配置其他自动备份

本部分介绍了如何启用或停用集群上独立于持续备份系统的自动备份时间表。这包括配置 AlloyDB 获取这些额外自动备份的频率以及保留这些备份的时长。

自动备份配置属性

每个 AlloyDB 集群都可以有一个可自定义的自动备份配置,其中包括以下属性:

  • 备份时间表。您可以将此设置设为一周中的特定日期,以及这些日期中的特定时间。

  • 保留政策,以保留备份的时间量或要保留的备份数量表示。默认情况下,AlloyDB 会将自动备份保留 14 天。

    早于保留政策的备份可能会被自动删除。如需了解详情,请参阅备份保留和删除

  • AlloyDB 在取消不完整的尝试以创建新的自动备份之前等待的时间。AlloyDB 使用的默认超时时间为 1 小时。

  • 数据加密偏好设置:默认的 Google 管理的加密或您提供的客户管理的加密密钥 (CMEK)

启用并配置自动备份

控制台

您可以在 Google Cloud 控制台中启用和停用自动备份,但无法指定备份时间表或其他配置。如需执行此操作,请改用 gcloud CLI。

如果您在未配置自动备份功能的集群上启用该功能,AlloyDB 会应用默认配置,即每天安排一次自动备份,保留期限为 14 天,并使用 Google 管理的加密功能。

  1. 前往集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 点击数据保护

  4. 自动备份政策下,点击修改

  5. 选中自动备份复选框。

  6. 点击更新

gcloud

如需使用 gcloud CLI 启用自动备份,您必须指定备份时间表。所有其他配置选项都是可选的。对于您未明确设置的任何配置选项,AlloyDB 都会应用上一部分中列出的默认值。

每次运行此命令来定义新的自动备份配置时,AlloyDB 都会使用新配置完全替换集群的当前配置。

如需启用自动备份,但不指定完整配置,请使用 Google Cloud 控制台。

使用 gcloud alloydb clusters update 命令定义用于创建自动备份的时间表:

gcloud alloydb clusters update CLUSTER_ID \
    --automated-backup-days-of-week=DAYS_LIST \
    --automated-backup-start-times=UTC_TIMES_LIST \
    --region=REGION_ID \
    --project=PROJECT_ID

替换以下内容:

  • CLUSTER_ID:您要为其定义时间表的集群的 ID。

  • DAYS_LIST:以英文逗号分隔的列表,其中包含您希望系统在哪些日期自动创建备份。有效值为 MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY

  • UTC_TIMES_LIST:一个或多个时间的英文逗号分隔列表,用于指定您希望在指定日期开始自动备份操作的时间。以 24 小时制指定时间,格式为 HH:00,时区为世界协调时间 (UTC)。

  • REGION_ID:集群所在区域的 ID。

  • PROJECT_ID:集群所在项目的 ID。

此示例将集群设置为在每周一和周四午夜 (UTC) 进行自动备份:

gcloud alloydb clusters update my-cluster \
    --automated-backup-days-of-week=MONDAY,THURSDAY \
    --automated-backup-start-times=00:00 \
    --region=us-central1 \
    --project=my-project

如需使用 CMEK 密钥(而非默认的 Google 管理的加密)对预定的备份进行加密,请提供以下额外参数:

  • --automated-backup-encryption-key=KEY_ID:要使用的 CMEK 密钥的 ID。

  • --automated-backup-encryption-keyring=KEYRING_ID:密钥的密钥环的 ID。

  • --automated-backup-encryption-location=LOCATION_ID:该密钥环的区域的 ID。请注意,它必须与集群的区域一致。

  • --automated-backup-encryption-project=PROJECT_ID:密钥环的项目 ID。

如需将 CMEK 与 AlloyDB 搭配使用,您需要完成一些额外的设置步骤。如需了解详情,请参阅将 CMEK 与 AlloyDB 搭配使用

您还可以指定自动备份保留政策,该政策可以基于保留期限或要保留的备份数量。为此,请添加以下任一参数:

  • 如需让 AlloyDB 将所有自动备份保留一段时间,请使用 --automated-backup-retention-period=DURATION

    DURATION 替换为时长字符串,如 gcloud topic datetimes 中所述。您可以指定最长一年的时长。

  • 如需让 AlloyDB 改为保留一定数量的备份,请使用 --automated-backup-retention-count=COUNT

    COUNT 替换为 AlloyDB 应保留的自动备份数量(最多一年)。

停用自动备份

控制台

  1. 转到集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 点击数据保护

  4. 自动备份政策下,点击修改

  5. 清除自动备份复选框。

  6. 点击更新

gcloud

如需停用自动备份,请使用 gcloud alloydb clusters update 命令。

gcloud alloydb clusters update CLUSTER_ID \
    --disable-automated-backup \
    --region=REGION_ID \
    --project=PROJECT_ID

替换以下内容:

  • CLUSTER_ID:要停用自动备份的集群的 ID。
  • REGION_ID:集群所在区域的 ID。
  • PROJECT_ID:集群所在项目的 ID。

查看备份方案

您可以查看集群的自动或持续备份方案的详细信息。

控制台

  1. 转到集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 点击数据保护

您可以在持续备份和恢复政策自动备份政策表格中找到有关集群备份方案的详细信息。

gcloud

  1. 使用 gcloud alloydb clusters describe 命令可显示有关集群的详细信息。

  2. continuousBackupConfigcontinuousBackupInfo 键总结了集群的持续备份和恢复配置。这包括是否启用持续备份、恢复时段的大小以及加密设置。

    continuousBackupInfo 键还会显示持续备份时间表:每天备份一次,每天如此。

  3. automatedBackupPolicy 键(如果存在)会总结集群的自动备份配置。其中包括是否启用自动备份,并显示备份时间表和加密设置。

例如,以下 gcloud alloydb clusters describe 命令的输出显示,相应集群已启用自动备份,并且每周一和周四大约凌晨 1 点(世界协调时间 [UTC])进行备份。此外,它还启用了持续备份,恢复期为 10 天。

automatedBackupPolicy:
    enabled: true
    location: us-central1
    weeklySchedule:
        daysOfWeek:
        - MONDAY
        - THURSDAY
        startTimes:
        - hours: 1
clusterType: PRIMARY
continuousBackupConfig:
    enabled: true
    recoveryWindowDays: 10
continuousBackupInfo:
    encryptionInfo:
        encryptionType: GOOGLE_DEFAULT_ENCRYPTION
    schedule:
    - MONDAY
    - TUESDAY
    - WEDNESDAY
    - THURSDAY
    - FRIDAY
    - SATURDAY
    - SUNDAY
clusterType: PRIMARY
createTime: '2023-01-23T02:42:56.953258476Z'
databaseVersion: POSTGRES_14
encryptionInfo:
    encryptionType: GOOGLE_DEFAULT_ENCRYPTION
name: [...]
reconciling: false
state: READY
uid: [...]
updateTime: '2023-02-06T19:08:57.367222025Z'