本页介绍了如何从存储的备份恢复 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 会创建集群,并将备份的数据恢复到该集群的数据存储空间。然后,您需要在该集群中创建实例以访问数据。
- 将备份恢复到新的 AlloyDB 集群。
- 在 Google Cloud 控制台中,前往备份页面。
- 在备份列表中,找到要恢复的备份,然后点击其对应行的恢复。
- 在集群 ID 字段中,输入要创建的集群的 ID,以托管要恢复的数据。
- 在网络列表中,选择您希望新创建的集群可从中访问的网络。
如果您想使用客户管理的加密密钥 (CMEK) 而非 Google 管理的加密来加密新集群的数据,请执行以下额外步骤:
- 点击高级加密选项。
- 选择 Cloud KMS 密钥。
- 在密钥类型中,选择 Cloud KMS。
从随即显示的菜单中选择一个客户管理的密钥。
Google Cloud 控制台会将此列表限制为与新集群位于同一 Google Cloud 项目和区域中的密钥。如需使用此列表中未列出的密钥,请点击没看到您的密钥?输入密钥资源名称,然后在随即显示的对话框中输入密钥的资源名称。
请注意,若要将 CMEK 与 AlloyDB 搭配使用,需要进行一些额外的设置。如需了解详情,请参阅将 CMEK 与 AlloyDB 搭配使用。
- 点击恢复。
CLUSTER_ID
:要创建的集群的 ID。BACKUP_ID
:要恢复到新集群的备份的 ID。
如需从其他项目中的备份进行恢复,请将其替换为采用以下格式的完整备份路径:
projects/SOURCE_PROJECT/locations/SOURCE_REGION/backups/SOURCE_BACKUP
NETWORK
:您希望新创建的集群可从中访问的 VPC 网络的名称。REGION_ID
:存储源备份以及创建新集群的区域的 ID。PROJECT_ID
:新集群所在的项目的 ID。--kms-key=KEY_ID
:要使用的 CMEK 密钥的 ID。--kms-keyring=KEYRING_ID
:密钥的密钥环的 ID。--kms-location=LOCATION_ID
:该密钥串所在区域的 ID。请注意,它必须与集群所在的区域一致。--kms-project=PROJECT_ID
:密钥串的项目 ID。-
AlloyDB 完成创建集群后,为其创建主实例。
创建新的主实例时,您需要指定其配置,包括大小和标志;AlloyDB 不会在备份中存储实例配置。请注意,配置不必与原始主实例的配置完全匹配。
AlloyDB 完成创建实例后,您就可以使用该实例访问已恢复的数据。
- 根据需要设置读取池实例,以完成新集群的配置。
控制台
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
如果您想使用客户管理的加密密钥 (CMEK)(而不是默认的 Google 管理的加密)对新集群的数据进行加密,则必须提供以下额外参数:
如需恢复启用了 Private Service Connect 的集群,请务必添加 --enable-private-service-connect
标志。