本页介绍了如何在Google Cloud 控制台中创建和管理备份保险柜。
准备工作
如需获得创建和管理备份保险柜所需的权限,请让您的管理员为您授予您要创建备份保险柜的项目的 Backup and DR Backup Vault Admin (roles/backupdr.backupvaultAdmin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建和管理备份保险柜所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建和管理备份保险柜,需要具备以下权限:
-
backupdr.backupVaults.create
-
backupdr.backupVaults.list
-
backupdr.backupVaults.get
-
backupdr.backupVaults.update
-
backupdr.backupVaults.delete
创建备份保险柜
按照以下说明创建备份保险库。
控制台
在 Google Cloud 控制台中,前往备份保险柜页面。
点击创建备份保险柜。
在创建备份保险柜页面上,输入您的备份保险柜信息。
点击创建。
gcloud
- 在以下开发环境之一中,设置 gcloud CLI:
- Cloud Shell:如需使用已设置 gcloud CLI 的在线终端,请激活 Cloud Shell。Cloud Shell 会话会在页面底部启动,并显示命令行提示符。该会话可能需要几秒钟来完成初始化。
创建备份保险柜。
gcloud backup-dr backup-vaults create BACKUPVAULT_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS --access-restriction=ACCESS_RESTRICTION
替换以下内容:
BACKUPVAULT_NAME
:备份保险柜的名称。PROJECT_ID
:您要创建备份保险柜的项目的名称。LOCATION
:您要在其中创建备份保险柜的位置。RETENTION_PERIOD_IN_DAYS
:备份保险柜中每个备份无法删除的时长。最短为 1 天,最长为 99 年。例如,2w1d
表示两周零一天。如需了解详情,请参阅备份保险柜的最短强制保留期限。ACCESS_RESTRICTION
:为备份保险柜指定访问权限限制。允许的值包括within-project
、within-org
、unrestricted
和within-org-but-unrestricted-for-ba
。如果您未指定值,系统会创建带有within-org
限制的备份保险柜。
查看操作的状态。
gcloud backup-dr operations describe FULL_OPERATION_ID
替换以下内容:
FULL_OPERATION_ID
为备份保险柜显示的操作 ID。其格式如下projects/test-project/locations/us-central1/operations/operationID
输出如下所示:
Create in progress for backup vault [projects/test-project/locations/us-central1/operations/operation-1721893921568-41e0dab8938a1-f1dc6ad2-3051b3ce]. Run the [gcloud backup-dr operations describe] command to check the status of this operation.
Terraform
您可以使用 Terraform 资源创建备份保险柜。
列出项目中的备份保险柜
请按照以下说明列出项目中的备份保险柜。
控制台
在 Google Cloud 控制台中,前往备份保险柜页面。
列表中会显示属于所选项目的备份保险柜。
gcloud
列出备份保险柜。
gcloud backup-dr backup-vaults list \ --project=PROJECT_ID \ --location=LOCATION
替换以下内容:
PROJECT_ID
:用于创建备份保险柜的项目的名称。LOCATION
:创建备份保险柜的位置。
查看备份保险柜详情
备份保险柜详情页面会显示配置信息,并允许您更新可修改的项目。
备份保险柜详情页面中的锁定状态字段可以具有以下值之一:
- 已解锁:备份保险柜未应用锁定,也没有待处理的锁定。
- 锁定将于日期时间生效:已将锁定设置为在指定日期对备份保险柜生效。
- 已锁定:备份保险柜的最短强制保留期限的值已锁定,无法缩短或移除。
请按照以下说明查看备份保险柜详情。
控制台
在 Google Cloud 控制台中,前往备份保险柜页面。
此页面列出了所选项目中的备份保险柜。
点击要查看的备份保险柜。
备份保险柜详情页面会显示配置信息,包括最短强制保留期限的值及其锁定状态。
gcloud
查看备份保险柜详情。
gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME \ --location=LOCATION \ --project=PROJECT_ID
替换以下内容:
BACKUPVAULT_NAME
:备份保险柜的名称。LOCATION
:备份保险柜的位置。PROJECT_ID
:创建备份保险柜的项目的名称。
更新现有备份保险柜的最短强制保留期限
您可以根据锁定的状态更新最短强制保留期限。
- 解锁:您可以延长或缩短最短强制保留期限。
- 已锁定:您只能延长最短强制保留期限。
如果已到生效日期,则无法移除锁定。不过,如果尚未达到生效日期,您可以移除锁定,这会清除原先指定的生效日期。
对最短强制保留期限值所做的更改仅适用于更新后创建的备份。更改最短强制保留期限的值不会影响备份保险柜中现有备份的剩余强制保留期限。为确保备份不会失败,请确保最短强制保留期限未超过相关备份方案所定义的备份删除时间轴。
增加备份保险柜的强制保留期限时,请确保备份保险柜的强制保留期限不超过您要存储在备份保险柜中的任何备份的备份方案中的保留期限。如果更改后的值长于备份保留期限,Backup and DR Service 会根据备份方案类型以不同的方式处理这些更改。
Google Cloud 控制台版方案:系统会阻止更改备份保险柜的值。
基于管理控制台的方案:允许更改备份保险柜值,但您应立即更新相关备份方案,以指定等于或长于更新后的备份保险柜最短强制保留期限的保留期限,以防止备份失败。
在方案保留期限短于备份保险柜最短强制保留期限时生成的备份会设置为强制保留期限,该期限设为备份保险柜的最短强制保留期限。此外,备份的到期时间设置为在强制保留期限结束后。
请按照以下说明更新现有备份保险柜的最短强制保留期限。
控制台
在 Google Cloud 控制台中,前往备份保险柜页面。
在备份保险柜列表中,点击要更新的备份保险柜的名称。
点击
图标。在修改最短强制保留期限对话框中,输入新的最短强制保留期限值。这是指备份保险柜中每个备份无法删除的时间段。最短为 1 天,最长为 99 年。
如果您想锁定最短强制保留期限,请选中锁定强制保留期限复选框,然后从日历中选择锁定生效日期。
点击保存。
gcloud
更新现有备份保险柜的最短强制保留期限。
gcloud backup-dr backup-vaults update BACKUPVAULT_NAME\ --project=PROJECT_ID \ --location=LOCATION \ --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS
替换以下内容:
BACKUPVAULT_NAME
:备份保险柜的名称。PROJECT_ID
:创建备份保险柜的项目的名称。LOCATION
:备份保险柜的位置。RETENTION_PERIOD_IN_DAYS
:备份保险柜中每个备份无法删除的时长。最短为 1 天,最长为 99 年。
删除备份保险柜
只有当备份保险柜不包含备份时,才能将其删除。如需删除备份保险柜,请先删除该保险柜中包含的所有备份(如果它们符合删除条件)。
按照以下说明删除备份保险柜。
控制台
在 Google Cloud 控制台中,前往备份保险柜页面。
点击要删除的备份保险柜。
点击删除。
在出现的叠加窗口中,确认要删除备份保险柜及其内容。
点击删除。
gcloud
删除备份保险柜。
gcloud backup-dr backup-vaults delete BACKUPVAULT_NAME \ --project=PROJECT_ID \ --location=LOCATION
替换以下内容:
BACKUPVAULT_NAME
:备份保险柜的名称。PROJECT_ID
:创建备份保险柜的项目的名称。LOCATION
:备份保险柜的位置。
向备份保险柜服务代理和备份/恢复设备授予访问权限
创建的每个备份保险柜都有一个与之关联的唯一服务代理。对于某些资源类型,服务代理会代表备份和灾难恢复服务执行操作,因此需要在备份保险柜服务代理需要访问的项目中向其授予适当的权限。服务代理是 Google 代管式服务账号;如需了解详情,请参阅服务代理。
对于某些资源类型(例如 Google Cloud VMware Engine、Oracle 数据库和 SQL Server 数据库),备份和灾难恢复备份/恢复设备必须对备份保险柜执行操作。在这些情况下,备份/恢复设备需要对备份保险柜拥有适当的权限。
向服务代理授予角色
找到服务代理的电子邮件地址后,您可以向备份保险柜服务代理授予角色,就像向任何其他主账号授予角色一样。
如需在创建备份保险柜的项目之外的项目中备份 Compute Engine 虚拟机实例,您必须向 Compute Engine 项目中的备份保险柜服务代理授予 Backup and DR Compute Engine Operator (roles/backupdr.computeEngineOperator
) IAM 角色。不过,如果要在创建备份保险柜的项目中备份 Compute Engine 虚拟机实例,则无需授予任何角色。
如需恢复 Compute Engine 实例,您需要向备份保险柜服务代理授予恢复项目中的 Backup and DR Compute Engine Operator (roles/backupdr.computeEngineOperator
) IAM 角色。
按照以下说明向服务代理授予角色。
控制台
在 Google Cloud 控制台中,前往备份保险柜页面。
点击备份保险柜名称,然后复制服务代理的电子邮件地址。
在 Google Cloud 控制台中,前往 IAM 页面。
在新主账号字段中,输入服务代理的电子邮件地址。
从选择角色列表中,根据资源类型选择适当的角色。例如,如需备份与创建备份保险柜的项目不同的项目中的 Compute Engine 实例,请选择 Backup and DR Compute Engine Operator (
roles/backupdr.computeEngineOperator
) IAM 角色。点击保存。
gcloud
向服务代理授予角色。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT \ --role=ROLE
替换以下内容:
PROJECT_ID
:项目的名称。SERVICE_ACCOUNT
:备份保险柜服务代理的电子邮件地址。例如:my-service-account@my-project.iam.gserviceaccount.com
。ROLE
:对资源项目授予的角色。例如,如需备份与创建备份保险柜的项目不同的项目中的 Compute Engine 实例,请选择“备份和灾难恢复 Compute Engine 操作员”(roles/backupdr.computeEngineOperator
) IAM 角色。
向备份/恢复设备服务账号授予角色
只有在向设备服务账号授予备份保险柜项目中的 Backup and DR Backup Vault Accessor (roles/backupdr.backupvaultAccessor
) 和 Backup and DR Backup Vault Lister (roles/backupdr.backupvaultLister
) IAM 角色后,您才能从备份/恢复设备项目访问备份保险柜。如果没有这些角色,您将无法访问备份保险柜以完成设置,从而启用备份创建功能。
向备份/恢复设备服务账号授予角色后,您就可以使用管理控制台将 Google Cloud VMware Engine、Oracle 数据库和 SQL Server 数据库备份和恢复到备份保险柜。
按照以下说明向备份/恢复设备服务账号授予角色:
在 Google Cloud 控制台中,前往用于创建设备的虚拟机实例页面。
点击您要为其获取服务账号的 Compute Engine 实例。
在 API 和身份管理部分,从服务账号字段复制服务账号的电子邮件地址。
在 Google Cloud 控制台中,前往备份保险柜项目中的 IAM 角色。
点击授予访问权限。
在新主账号字段中,输入设备的服务账号电子邮件地址。
从选择角色列表中,选择 Backup and DR Backup Vault Accessor 角色。
可选:如需确保您的备份/恢复设备只能访问特定的备份保险柜,请点击 Backup and DR Backup Vault Accessor 角色旁边的
添加 IAM 条件。- 在名称字段中,输入条件的名称。
点击条件编辑器标签页。
在 Expression CEL editor 字段中,输入以下表达式。
resource.name.extract("projects/PROJECT_ID/locations/LOCATION/backupVaults /{name}/") == ("BACKUPVAULT_NAME") || resource.name.extract("projects/PROJECT_ID/locations/LOCATION/backupVaults /{name}") == ("BACKUPVAULT_NAME") || resource.name.extract("operations/{op}") != ""```
替换以下内容:
BACKUPVAULT_NAME
:备份保险柜的名称。PROJECT_ID
:创建备份保险柜的项目的名称。LOCATION
:备份保险柜的位置。如需为其他备份保险柜添加访问权限,请根据需要附加其他“resource.name.startsWith”语句(使用“||”或逻辑运算符)。
例如,以下语句会授权名为“bv-test”和“user-bv1”的两个备份保险柜,这两个备份保险柜都位于名为“testproject”的项目中,且位于“us-central1”区域。
resource.name.extract("projects/testproject/locations/us-central1/backupVaults /{name}/") == ("bv-test") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults /{name}") == ("bv-test") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults /{name}/") == ("user-bv1") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults /{name}") == ("user-bv1") || resource.name.extract("operations/{op}") != ""```
点击保存。
点击添加其他角色。
从选择角色列表中,选择 Backup and DR Backup Vault Lister 角色。
点击保存。