本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用分配资源 AWS CLI
按服务或资源类型筛选
资源选择基于服务名称和资源类型。资源选择的方法决定了资源是否包含在备份中。是否包含取决于服务名称、资源类型和选择加入设置。
按服务名称选择
当您在资源选择中仅指定服务名称时,备份包含的内容取决于底层资源类型的选择加入设置。例如,使用arn:aws:ec2:*
,只有启用 EC2 资源类型的选择加入设置后, EC2 实例才会包含在备份中。
按资源类型选择
如果您直接使用资源类型指定资源选择,则无论该特定服务的选择设置如何,该资源都将包含在备份中。例如,使用arn:aws:ec2:::instance/*
,无论选择加入设置如何,都将备份 EC2 实例。
共享资源类型
当多个资源共享相同的资源类型时,您需要启用特定资源类型的选择加入设置才能启动备份。
Aurora 和 RDS 集群共用 ARN 格式:。arn:aws:rds:::cluster:*
要备份 Aurora 数据库,必须启用 Aurora 的选择加入设置。
FSx 对 FSx 于 OpenZFS,则共享 ARN 格式。arn:aws:fsx:::file-system/*
启用相应的选择加入设置以备份这些文件系统。
使用 JSON 定义备份计划资源分配
您可以在 JSON 文档中定义资源分配。
您可以指定条件、标签或资源来定义备份计划中将包含的内容。有关帮助您确定要包含哪些参数的更多信息,请参阅 BackupSelection
。
此示例资源分配将所有 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
以下是资源分配示例,以及相应的 JSON 文档。为了便于您阅读此表,示例省略了字段 "BackupPlanId"
、"SelectionName"
和 "IamRoleArn"
。通配符 *
代表零个或多个非空格字符。
例 示例:选择我账户中的所有资源
{ "BackupSelection":{ "Resources":[ "*" ] } }
例 示例:选择我账户中的所有资源,但不包括 EBS 卷
{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:ec2:*:*:volume/*" ] } }
例 示例:选择我账户中带 "backup":"true" 标签的所有资源,但不包括 EBS 卷
{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:ec2:*:*:volume/*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ] } } }
重要
RDS、Aurora、Neptune 和 Doc ARNs umentDB 始于。arn:aws:rds:
如果您不打算包括所有这些类型,请使用标签和条件运算符来完善您的选择。
例 示例:选择所有同时带 "backup":"true" 和 "stage":"prod" 标签的 EBS 卷和 RDS DB 实例
布尔算术与 IAM 策略中的算术类似,"Resources" 中的策略使用布尔 OR 组合,而 "Conditions"
中的策略使用布尔 AND 组合。
"Resources"
表达式 "arn:aws:rds:*:*:db:*"
仅选择 RDS DB 实例,因为没有相应的 Aurora、Neptune 或 DocumentDB 资源。
{ "BackupSelection":{ "Resources":[ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" }, { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"prod" } ] } } }
例 示例:选择所有带 "backup":"true" 标签但不带 "stage":"test" 标签的 EBS 卷和 RDS 实例
{ "BackupSelection":{ "Resources":[ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ], "StringNotEquals":[ { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"test" } ] } } }
例 示例:选择所有带 "key1" 标签、值以 "include" 开头但不以 "key2" 开头、值包含 "exclude" 一词的资源
您可以在字符串的开头、结尾和中间使用通配符字符。请注意,上述示例在 include*
和 *exclude*
中使用了通配符 (*)。您也可以在字符串中间使用通配符,如前面的示例所示,arn:aws:rds:*:*:db:*
。
{ "BackupSelection":{ "Resources":[ "*" ], "Conditions":{ "StringLike":[ { "ConditionKey":"aws:ResourceTag/key1", "ConditionValue":"include*" } ], "StringNotLike":[ { "ConditionKey":"aws:ResourceTag/key2", "ConditionValue":"*exclude*" } ] } } }
例 示例:选择"backup":"true"除 FSx文件系统和 RDS、Aurora、Neptune 和 DocumentDB 资源之外的所有标记资源
NotResources
中的项目使用布尔 OR 进行组合。
{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:fsx:*", "arn:aws:rds:*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ] } } }
例 示例:选择所有带 "backup" 标签和任意值的资源
{ "BackupSelection":{ "Resources":[ "*" ], "Conditions":{ "StringLike":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"*" } ] } } }
例 示例:选择所有 FSx 文件系统、Aurora 集群"my-aurora-cluster"和所有标记为的资源"backup":"true",但标记为的资源除外 "stage":"test"
{ "BackupSelection":{ "Resources":[ "arn:aws:fsx:*", "arn:aws:rds:*:*:cluster:my-aurora-cluster" ], "ListOfTags":[ { "ConditionType":"StringEquals", "ConditionKey":"backup", "ConditionValue":"true" } ], "Conditions":{ "StringNotEquals":[ { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"test" } ] } } }
例 示例:选择所有带 "backup":"true"
标签的资源,但带 "stage":"test"
标签的 EBS 卷除外
使用两个 CLI 命令创建两个选项来选择这组资源。第一个选项适用于除了 EBS 卷之外的所有资源。第二个选项适用于 EBS 卷。
{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:ec2:*:*:volume/*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ] } } }
{ "BackupSelection":{ "Resources":[ "arn:aws:ec2:*:*:volume/*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ], "StringNotEquals":[ { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"test" } ] } } }