从备份保险柜恢复 AlloyDB 集群

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

从保险库备份恢复 AlloyDB 集群

如需从保险库备份恢复 AlloyDB for PostgreSQL 集群,请按照以下说明操作:

  1. 将备份恢复到新的 Backup and DR Service 集群。

    控制台

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

      • 最终用户应在目标 AlloyDB 集群所在的项目中具有 roles/alloydb.admin
      • 最终用户应在源备份所在的项目中拥有 roles/backupdr.restoreUser。

      前往“受保管的备份”页面

      已保险柜化的备份页面仅列出已应用备份方案且备份已存储在相应项目中的备份保险柜内的数据资源。

    2. 选择要恢复的备份。在备份的备份详情页面中或从 菜单中选择恢复

      恢复备份页面会显示以下恢复选项,您可以在其中进行选择:

      • 资源类型已预先填充为 AlloyDB
      • 资源名称中,选择要恢复的 AlloyDB 集群。
      • 点击备份后,系统会打开一个窗格,其中显示所有可用的备份。 选择要恢复的特定备份。
      • 选择恢复目标位置中,选择要将 AlloyDB 集群恢复到的项目。
    3. 点击继续

    4. 下一页会显示到目前为止的恢复详细信息,并提示您配置新集群:这会根据您在备份中存储的配置创建一个新的 AlloyDB 集群。恢复完成后,您可以自定义集群。提供新的集群 ID,其中包含小写字母、数字和连字符。 以字母开头。

    5. 选择专用连接方法:您可以采用以下两种方法在 Google Cloud 或第三方托管的 VPC 网络中连接服务,而无需分配外部 IP 地址:

      • 专用服务访问通道:使用对等互连连接将集群分配给单个 VPC 网络。如果需要连接到与 AlloyDB 集群位于同一 VPC 网络中的特定Google Cloud 和第三方服务,请使用此选项。这需要额外的 API。
      • Private Service Connect:使用许可名单和 Private Service Connect 端点,允许从一个或多个 VPC 网络访问集群。

    gcloud

    gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
        --project=WORKLOAD_PROJECT_ID \
        --region=REGION \
        --backupdr-backup=BACKUP_NAME
    

    替换以下内容:

    • RESTORED_CLUSTER_ID:您要恢复的新 AlloyDB 集群的 ID。
    • WORKLOAD_PROJECT_ID:您要将 AlloyDB 集群恢复到的项目的 ID。
    • REGION:您要将 AlloyDB 集群恢复到的 Google Cloud 区域。
    • BACKUP_NAME:要恢复的备份的名称。
  2. Backup and DR 完成集群创建后,会为其创建主实例

    创建新的主实例时,您需要指定其配置,包括其大小和标志;Backup and DR 不会将实例配置存储为备份的一部分。请注意,配置不必与原始主实例的配置完全一致。

    Backup and DR 完成实例创建后,您可以使用该实例访问恢复的数据。

  3. 通过设置读取池实例(如有必要)来完成新集群的配置。

将 AlloyDB 集群恢复到某个时间点

  1. 如需将 AlloyDB for PostgreSQL 集群恢复到特定时间点,请按照以下说明操作:

    控制台

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

      • 最终用户需要:

      roles/alloydb.admin 在目标 AlloyDB 集群所在的项目中。

      源备份所在项目中的 roles/backupdr.restoreUser

      前往“受保管的备份”页面

      已保险柜备份页面仅列出已应用备份方案且备份已存储在相应项目中的备份保险柜内的数据资源。

    2. 在备份列表顶部,选择从时间点恢复

      系统会显示从某个时间点开始恢复到新集群窗格。 您可以在此处选择要恢复到的时间点,以及要创建的新集群的详细信息:

      • 选择时间点:输入此集群恢复期内的目标时间,以便从该时间恢复您的集群数据。

      • 配置新集群:这会根据您在备份中存储的配置创建一个新的 AlloyDB 集群。恢复完成后,您可以自定义集群。

      提供新的集群 ID,其中包含小写字母、数字和连字符。 以字母开头。

    3. 选择专用连接方法:

      您可以采用以下两种方法在 Google Cloud 或第三方托管的 VPC 网络中连接服务,而无需分配外部 IP 地址:

      • 专用服务访问通道:使用对等互连连接将集群分配给单个 VPC 网络。如果需要连接到与 AlloyDB 集群位于同一 VPC 网络中的特定Google Cloud 和第三方服务,请使用此选项。这需要额外的 API。

      • Private Service Connect:使用许可名单和 Private Service Connect 端点,允许从一个或多个 VPC 网络访问集群。

    gcloud

    1. 将备份恢复到新的 Backup and DR Service 集群。此流程分为两步。

      首先,您必须找到数据源 ID:

      gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \
          --location=REGION \
          --project=WORKLOAD_PROJECT_ID \
          --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME'
      

      然后,执行时间点恢复

    2. 如需恢复集群,请使用以下脚本中的数据源 ID:

        gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
          --project=WORKLOAD_PROJECT_ID \
          --region=REGION \
          --backupdr-data-source=projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID \
          --point-in-time=POINT_IN_TIME
      

      替换以下内容:

      • WORKLOAD_PROJECT_ID:您要将 AlloyDB 集群恢复到的项目的 ID。
      • REGION:您要将 AlloyDB 集群恢复到的 Google Cloud 区域。
      • RESTORED_CLUSTER_ID:您要恢复的新 AlloyDB 集群的 ID。
      • VAULT_PROJECT_ID:包含备份保险柜的项目的 ID。
      • BV_ID:备份保险柜的 ID。
      • DS_ID:数据源的 ID。
      • POINT_IN_TIME:您要将集群恢复到的具体时间点。示例值:“2025-10-10T10:16:10Z”
  2. Backup and DR 完成集群创建后,会为其创建主实例

    创建新的主实例时,您需要指定其配置,包括其大小和标志;Backup and DR 不会将实例配置存储为备份的一部分。请注意,配置不必与原始主实例的配置完全一致。

    Backup and DR 完成实例创建后,您可以使用该实例访问恢复的数据。

  3. 通过设置读取池实例(如有必要)来完成新集群的配置。

列出备份保险柜中的备份

列出备份并选择要恢复的备份。您可以使用以下命令查找数据源 ID,然后列出数据源中的所有备份:

      # Find the data source id
      gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \
        --location=REGION \
        --project=WORKLOAD_PROJECT_ID \
        --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME "'

      # List backups
      gcloud backup-dr backups list \
        --project=VAULT_PROJECT_ID \
        --location=REGION \
        --backup-vault=BV_ID \
        --data-source='projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID'

替换以下内容:

  • REGION: Google Cloud 区域。
  • WORKLOAD_PROJECT_ID:AlloyDB 集群所在项目的 ID。
  • WORKLOAD_PROJECT_NUMBER:AlloyDB 集群所在项目的编号。
  • CLUSTER_NAME:AlloyDB 集群的名称。
  • VAULT_PROJECT_ID:包含备份保险柜的项目的 ID。
  • BV_ID:备份保险柜的 ID。
  • DS_ID:数据源的 ID。