本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将资源分配给备份计划
资源分配指定 Amazon Backup 将使用您的备份计划保护哪些资源。 Amazon Backup 为您提供了简单的默认设置和精细的控制来为备份计划分配资源。每次运行备份计划时,它都会扫描您的 Amazon Web Services 账户 所有符合您的资源分配标准的资源。这种自动化级别允许您只定义一次备份计划和资源分配。 Amazon Backup 简化了寻找和备份适合您先前定义的资源分配的新资源的工作。
您可以分配您选择管理的任何 Amazon Backup支持的资源类型。 Amazon Backup 有关如何选择更多 Amazon Backup支持的资源类型的说明,请参阅入门 1:服务选择加入。
Amazon Backup 控制台有两种方法可以在备份计划中包含资源类型:在备份计划中明确分配资源类型或包含所有资源。请参阅以下要点,了解如何将这些选择与“选择加入服务”设置一起使用。
-
如果资源分配仅基于标签,将应用“选择加入服务”设置。
-
如果为备份计划明确分配了资源类型,例如 Amazon S3、Amazon EC2 或 Amazon RDS,那么即使该特定服务未启用选择加入功能,该资源类型也将包含在备份中。
-
如果在资源分配中同时指定了资源类型和标签,则备份计划中指定的资源类型优先于标签条件。在这种情况下,“选择加入服务”设置将被忽略。
您的资源分配可以包括(或排除)资源类型和资源。
-
资源类型包括 Amazon Backup支持的 Amazon 服务或第三方应用程序的每个实例或资源。例如,DynamoDB 资源类型指的是您的所有 DynamoDB 表。
-
资源是某种资源类型的单个实例,例如您的一个 DynamoDB 表。您可以使用其唯一的资源 ID 来指定资源。
您可以使用标签和条件运算符进一步细化资源分配。
使用控制台分配资源
要导航到分配资源页面,请执行以下操作:
打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/backup
。 -
选择备份计划。
-
选择创建备份计划。
-
在选择模板下拉列表中选择任意模板,然后选择创建计划。
-
键入备份计划名称。
-
选择创建计划。
-
选择分配资源。
要开始分配资源,请在常规部分执行以下操作:
-
键入资源分配名称。
-
选择默认角色或选择一个 IAM 角色。
注意
如果您选择 IAM 角色,请验证该角色是否具有备份您要分配的所有资源的权限。如果您的角色遇到它无权备份的资源,则备份计划将失败。
要分配资源,请在分配资源部分,选择定义资源选择下的两个选项之一:
-
包括所有资源类型。此选项可配置您的备份计划,以保护分配给您的备份计划的所有当前和 future Amazon Backup支持的资源。使用此选项可以快速轻松地保护您的数据资产。
选择此选项后,下一步可以选择使用标签来调整选择。
-
包括特定的资源类型。选择此选项时,必须按照以下步骤选择特定的资源类型:
-
使用选择资源类型下拉菜单,分配一个或多个资源类型。
重要
RDS、Aurora、Neptune 和 DocumentDB 共享相同的 Amazon 资源名称 (ARN)。在将其中一种资源类型分配给备份计划时,选择使用 Amazon Backup 来管理这种资源可以选择管理所有这些资源类型。要细化您的选择,请使用标签和条件运算符。
完成后,将 Amazon Backup 显示您选择的资源类型列表及其默认设置,即保护每种选定资源类型的所有资源。
-
(可选)如果您想从所选资源类型中排除特定资源,请执行以下操作:
-
使用选择资源下拉菜单并取消选择默认选项。
-
选择要分配给备份计划的特定资源。
-
-
或者,您可以从所选资源类型中排除特定的资源 ID。如果您想从众多资源中排除一个或几个资源,请使用此选项,因为这样做可能比在上一步中选择许多资源要快。必须先包括资源类型,然后才能从该资源类型中排除资源。按照以下步骤操作,排除资源 ID:
-
在从所选资源类型中排除特定资源 ID下,使用选择资源类型选择一个或多个包含的资源类型。
-
对于每种资源类型,使用选择资源下拉菜单,选择一个或多个要排除的资源。
-
-
除了之前的选择外,您还可以使用可选的使用标签优化选择功能,进行更精细的选择。此功能允许您使用标签细化当前的选择,以包含资源子集。
标签是键值对,您可以将其分配给特定资源,以帮助您识别、组织和筛选资源。标签区分大小写。有关更多信息,请参阅《Amazon 一般参考》中的标记 Amazon 资源。
当您使用两个或更多标签细化您的选择时,效果是 AND 条件。例如,如果您使用 env: prod
和 role: application
这两个标签来细化选择,则只能将带有 BOTH 标签的资源分配给您的备份计划。
要使用标签细化选择,请执行以下操作:
-
在使用标签细化选择下,从下拉列表中选择一个密钥。
-
从下拉列表中选择值条件。
-
值是指下一个输入,即键值对的值。
-
条件可以是
Equals
、Contains
、Begins with
或Ends with
,或者它们的反义词:Does not equal
、Does not contain
、Does not begin with
或Does not end with
。
-
-
从下拉列表中选择一个值。
-
要使用其他标签进一步细化,请选择添加标签。
以编程方式分配资源
您可以在 JSON 文档中定义资源分配。此示例资源分配将所有 Amazon EC2 实例分配给备份计划 BACKUP-PLAN-ID
:
{ "BackupPlanId":"
BACKUP-PLAN-ID
", "BackupSelection":{ "SelectionName":"resources-list-selection", "IamRoleArn":"arn:aws:iam::ACCOUNT-ID
:role/IAM-ROLE-ARN
", "Resources":[ "arn:aws:ec2:*:*:instance/*" ] } }
假设将此 JSON 存储为 backup-selection.json
,则您可以使用以下 CLI 命令将这些资源分配给您的备份计划:
aws backup create-backup-selection --cli-input-json file://
PATH-TO-FILE
/backup-selection
.json
下表列出了一些资源分配示例,以及使用 Amazon Backup API、CLI 或 SDK 执行分配的相应的 JSON 文档。为了便于您阅读此表,示例省略了字段 "BackupPlanId"
、"SelectionName"
和 "IamRoleArn"
。通配符 *
代表零个或多个非空格字符。
资源分配 | JSON |
---|---|
选择我账户中的所有资源。 |
|
选择我账户中的所有资源,但不包括 EBS 卷。 |
|
选择我账户中带 "backup":"true" 标签的所有资源,但不包括 EBS 卷。 |
|
选择所有同时带 "backup":"true" 和 "stage":"prod" 标签的 EBS 卷和 RDS DB 实例。 |
注意布尔算术与 IAM 策略中的算术类似, 注意
|
选择所有带 "backup":"true" 标签但不带 "stage":"test" 标签的 EBS 卷和 RDS 实例。 |
|
选择所有带 "key1" 标签、值以 "include" 开头但不以 "key2" 开头、值包含 "exclude" 一词的资源。 |
您可以在字符串的开头、结尾和中间使用通配符字符。请注意,上述示例在 |
选择所有带 "backup":"true" 标签的资源,但 FSx 文件系统以及 RDS、Aurora、Neptune 和 DocumentDB 资源除外。 |
|
选择所有带 "backup" 标签和任意值的资源 |
|
选择所有 FSx 文件系统、Aurora 集群 "my-aurora-cluster" 和所有带 "backup":"true" 标签的资源,但带 "stage":"test" 标签的资源除外。 |
|
选择所有带 "backup":"true" 标签的资源,但带 "stage":"test" 标签的 EBS 卷除外。 |
使用两个 CLI 命令创建两个选项来选择这组资源。第一个选项适用于除了 EBS 卷之外的所有资源。第二个选项适用于 EBS 卷。
|
使用分配资源 Amazon CloudFormation
此 end-to-end Amazon CloudFormation 模板创建资源分配、备份计划和目标备份存储库:
-
名为的备份保管库
CloudFormationTestBackupVault
。 -
名为的备份计划
CloudFormationTestBackupPlan
。该计划将运行两个包含两个备份规则的计划,这两个规则均在 UTC 每天中午 12 点进行备份,并保留 210 天。 -
名为的资源选择
BackupSelectionName
。 -
-
资源分配会备份以下资源:
-
任何标记为键值对
backupplan:dsi-sandbox-daily
的资源。 -
标记为值
prod
或值以prod/
开头的任何资源。
-
-
资源分配不会备份以下资源:
-
任何 RDS、Aurora、Neptune 或 DocumentDB 集群。
-
标记为值
test
或值以test/
开头的任何资源。
-
-
Description: "Template that creates Backup Selection and its dependencies" Parameters: BackupVaultName: Type: String Default: "CloudFormationTestBackupVault" BackupPlanName: Type: String Default: "CloudFormationTestBackupPlan" BackupSelectionName: Type: String Default: "CloudFormationTestBackupSelection" BackupPlanTagValue: Type: String Default: "test-value-1" RuleName1: Type: String Default: "TestRule1" RuleName2: Type: String Default: "TestRule2" ScheduleExpression: Type: String Default: "cron(0 12 * * ? *)" StartWindowMinutes: Type: Number Default: 60 CompletionWindowMinutes: Type: Number Default: 120 RecoveryPointTagValue: Type: String Default: "test-recovery-point-value" MoveToColdStorageAfterDays: Type: Number Default: 120 DeleteAfterDays: Type: Number Default: 210 Resources: CloudFormationTestBackupVault: Type: "AWS::Backup::BackupVault" Properties: BackupVaultName: !Ref BackupVaultName BasicBackupPlan: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: !Ref BackupPlanName BackupPlanRule: - RuleName: !Ref RuleName1 TargetBackupVault: !Ref BackupVaultName ScheduleExpression: !Ref ScheduleExpression StartWindowMinutes: !Ref StartWindowMinutes CompletionWindowMinutes: !Ref CompletionWindowMinutes RecoveryPointTags: test-recovery-point-key-1: !Ref RecoveryPointTagValue Lifecycle: MoveToColdStorageAfterDays: !Ref MoveToColdStorageAfterDays DeleteAfterDays: !Ref DeleteAfterDays - RuleName: !Ref RuleName2 TargetBackupVault: !Ref BackupVaultName ScheduleExpression: !Ref ScheduleExpression StartWindowMinutes: !Ref StartWindowMinutes CompletionWindowMinutes: !Ref CompletionWindowMinutes RecoveryPointTags: test-recovery-point-key-1: !Ref RecoveryPointTagValue Lifecycle: MoveToColdStorageAfterDays: !Ref MoveToColdStorageAfterDays DeleteAfterDays: !Ref DeleteAfterDays BackupPlanTags: test-key-1: !Ref BackupPlanTagValue DependsOn: CloudFormationTestBackupVault TestRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "backup.amazonaws.com" Action: - "sts:AssumeRole" ManagedPolicyArns: - !Sub "arn:
${AWS::Partition}
:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup
" BasicBackupSelection: Type: 'AWS::Backup::BackupSelection' Properties: BackupPlanId: !Ref BasicBackupPlan BackupSelection: SelectionName: !Ref BackupSelectionName IamRoleArn: !GetAtt TestRole.Arn ListOfTags: - ConditionType: STRINGEQUALS ConditionKey: backupplan ConditionValue: dsi-sandbox-daily NotResources: - 'arn:aws:rds:*:*:cluster:*' Conditions: StringEquals: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: prod StringNotEquals: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: test StringLike: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: prod/* StringNotLike: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: test/*
资源分配配额
以下配额适用于单个资源分配:
-
500 个不带通配符的 Amazon 资源名称 (ARN)
-
30 个带有通配符表达式的 ARN
-
30 个条件
-
每个资源分配 30 个标签(且每个标签的资源数量不受限制)