本页面介绍了如何从存储的备份恢复 AlloyDB for PostgreSQL 集群。使用此方法可将集群恢复到早于其恢复时段的状态,或恢复不再处于在线状态的集群。
准备工作
- 您使用的 Google Cloud 项目必须已启用为可访问 AlloyDB。
- 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
roles/alloydb.admin
(AlloyDB Admin 预定义 IAM 角色)roles/owner
(Owner 基本 IAM 角色)roles/editor
(Editor 基本 IAM 角色)
如果您不拥有上述任何角色,请与组织管理员联系以申请访问权限。
- 您必须在所使用的 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
标志。