从存储的备份恢复集群

本页介绍了如何从存储的备份恢复 AlloyDB for PostgreSQL 集群。您可以使用此方法将集群恢复到其恢复期限之前的状态,或恢复不再在线的集群。

准备工作

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

    如果您不具备上述任何角色,请与您的 Organization Administrator 联系以请求访问权限。

  • 您必须在所使用的 Google Cloud 项目中拥有以下所有 IAM 角色:
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • compute.globalAddresses.create
    • compute.globalAddresses.list
    • servicenetworking.services.addPeering

    如需获得这些权限,同时遵循最小权限原则,请让管理员向您授予 roles/alloydb.admin(AlloyDB Admin 预定义 IAM)角色。

使用备份进行恢复

从备份恢复时,您需要在与备份所在区域相同的区域中配置新集群。用于恢复的备份可以位于与源集群不同的项目中。AlloyDB 会创建集群,并将备份的数据恢复到该集群的数据存储空间。然后,您需要在该集群中创建实例以访问数据。

  1. 将备份恢复到新的 AlloyDB 集群。
  2. 控制台

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

      前往“备份”页面

    2. 在备份列表中,找到要恢复的备份,然后点击其对应行的恢复
    3. 集群 ID 字段中,输入要创建的集群的 ID,以托管要恢复的数据。
    4. 网络列表中,选择您希望新创建的集群可从中访问的网络。
    5. 如果您想使用客户管理的加密密钥 (CMEK) 而非 Google 管理的加密来加密新集群的数据,请执行以下额外步骤:

      1. 点击高级加密选项
      2. 选择 Cloud KMS 密钥
      3. 密钥类型中,选择 Cloud KMS
      4. 从随即显示的菜单中选择一个客户管理的密钥。

        Google Cloud 控制台会将此列表限制为与新集群位于同一 Google Cloud 项目和区域中的密钥。如需使用此列表中未列出的密钥,请点击没看到您的密钥?输入密钥资源名称,然后在随即显示的对话框中输入密钥的资源名称。

        请注意,若要将 CMEK 与 AlloyDB 搭配使用,需要进行一些额外的设置。如需了解详情,请参阅将 CMEK 与 AlloyDB 搭配使用

    6. 点击恢复

    gcloud

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

    使用 gcloud alloydb clusters restore 命令创建集群,并将备份的数据恢复到该集群。

    gcloud alloydb clusters restore CLUSTER_ID \
        --backup=BACKUP_ID \
        --network=NETWORK \
        --region=REGION_ID \
        --project=PROJECT_ID\
        --async

    此命令会返回一个操作,您可以使用 gcloud alloydb operations describe 命令查询其状态。

    gcloud alloydb operations describe OPERATION_ID \
        --region=REGION_ID \
        --project=PROJECT_ID
    • CLUSTER_ID:要创建的集群的 ID。
    • BACKUP_ID:要恢复到新集群的备份的 ID。
      如需从其他项目中的备份进行恢复,请将其替换为采用以下格式的完整备份路径:
      projects/SOURCE_PROJECT/locations/SOURCE_REGION/backups/SOURCE_BACKUP
    • NETWORK:您希望新创建的集群可从中访问的 VPC 网络的名称。
    • REGION_ID:存储源备份以及创建新集群的区域的 ID。
    • PROJECT_ID:新集群所在的项目的 ID。

    如果您想使用客户管理的加密密钥 (CMEK)(而不是默认的 Google 管理的加密)对新集群的数据进行加密,则必须提供以下额外参数:

    • --kms-key=KEY_ID:要使用的 CMEK 密钥的 ID。
    • --kms-keyring=KEYRING_ID:密钥的密钥环的 ID。
    • --kms-location=LOCATION_ID:该密钥串所在区域的 ID。请注意,它必须与集群所在的区域一致。
    • --kms-project=PROJECT_ID:密钥串的项目 ID。

    如需恢复启用了 Private Service Connect 的集群,请务必添加 --enable-private-service-connect 标志。

  3. AlloyDB 完成创建集群后,为其创建主实例

    创建新的主实例时,您需要指定其配置,包括大小和标志;AlloyDB 不会在备份中存储实例配置。请注意,配置不必与原始主实例的配置完全匹配。

    AlloyDB 完成创建实例后,您就可以使用该实例访问已恢复的数据。

  4. 根据需要设置读取池实例,以完成新集群的配置。

后续步骤