

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 选择要备份的 AWS 服务
<a name="assigning-resources"></a>

## 选择加入服务，然后分配资源
<a name="w2aac13c17b3"></a>

AWS Backup 适用于许多[不同的 AWS 服务](backup-feature-availability.md#features-by-resource)。在决定将哪些服务包含在备份计划中之前，请使用[AWS Backup 控制台](#backup-optin-console)或[AWS CLI](#backup-optin-cli)选择使用 AWS Backup 来使用这些服务。

然后，在每个备份计划中，在[控制台](assigning-resources-console.md)中或通过 [CLI](assigning-resources-json.md) 指定将哪些资源类型包含在该计划中。

例如，您可以选择使用所有 AWS Backup 支持的服务，然后在备份计划中仅包含 Amazon S3 存储桶和 Aurora 集群。

**Topics**
+ [选择加入服务，然后分配资源](#w2aac13c17b3)
+ [AWS Backup 服务选择加入](#backup-service-optin)
+ [备份计划资源分配](#backup-resource-assignment)
+ [使用 AWS Backup 控制台分配资源](assigning-resources-console.md)
+ [使用分配资源 AWS CLI](assigning-resources-json.md)
+ [通过以下方式分配 AWS Backup 资源 CloudFormation](assigning-resources-cfn.md)
+ [备份计划资源分配配额](#assigning-resources-quotas)

## AWS Backup 服务选择加入
<a name="backup-service-optin"></a>

### 通过控制台选择加入服务 AWS Backup
<a name="backup-optin-console"></a>

**配置要与一起使用的 AWS 服务 AWS Backup**

1. 登录 AWS 管理控制台，然后在 [https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 上打开 AWS Backup 控制台。

1. 在导航窗格中，选择**设置**。

1. 在**选择加入服务**页面上，选择**配置资源**。

1. 在**配置资源**页面上，使用切换开关启用或禁用与一起使用的服务 AWS Backup。在配置服务时选择**确认**。确保您选择加入的 AWS 服务在您的 AWS 区域服务中可用。

### 通过选择加入服务 AWS CLI
<a name="backup-optin-cli"></a>

使用[https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html)命令更改您的账户或组织将用于 AWS Backup 协调备份创建的服务（资源类型）。使用 [https://docs.aws.amazon.com/aws-backup/latest/devguide/API_DescribeRegionSettings.html](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_DescribeRegionSettings.html) 命令确定您在特定区域中选择加入了哪些服务。

## 备份计划资源分配
<a name="backup-resource-assignment"></a>

通过[AWS Backup 控制台](assigning-resources-console.md)或通过 [AWS CLI](assigning-resources-json.md)，备份计划中的资源分配指定 AWS Backup 将包括哪些资源。 AWS Backup 提供了简单的默认设置和用于分配资源的精细控件。

 您可以通过以下方法来分配资源：
+ 为备份计划显式分配资源类型
+ 包括所有资源（然后AWS Backup 将扫描所有支持的资源类型）
+ 使用标签来包含或排除资源

如果您仅使用标签来进行资源分配，则服务选择加入设置仍将适用。

 您可以使用条件和标签进一步细化资源分配。在单个资源分配中可以使用的数量 ARNs、条件和标签有一些限制。

通过 CLI 进行的资源选择基于服务名称和资源类型。有关资源选择的注意事项，请参阅 [使用分配资源 AWS CLI](assigning-resources-json.md)。

# 使用 AWS Backup 控制台分配资源
<a name="assigning-resources-console"></a>

**要导航到**分配资源**页面，请执行以下操作：**

1. 在 [https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 上打开 AWS Backup 控制台。

1. 选择**备份计划**。

1. 选择**创建备份计划**。

1. 在**选择模板**下拉列表中选择任意模板，然后选择**创建计划**。

1. 键入**备份计划名称**。

1. 选择**创建计划**。

1. 选择**分配资源**。

**要开始分配资源，请在**常规**部分执行以下操作：**

1. 键入**资源分配名称**。

1. 选择**默认角色**或**选择一个 IAM 角色**。
**注意**  
如果您选择 IAM 角色，请验证该角色是否具有备份您要分配的所有资源的权限。如果您的角色遇到它无权备份的资源，则备份计划将失败。

要分配资源，请在**分配资源**部分，选择**定义资源选择**下的两个选项之一：
+ **包括所有资源类型**。此选项可配置您的备份计划，以保护分配给您的备份计划的所有当前和 future AWS Backup支持的资源。使用此选项可以快速轻松地保护您的数据资产。

  选择此选项后，下一步可以选择**使用标签来调整选择**。
+ **包括特定的资源类型**。选择此选项时，必须按照以下步骤**选择特定的资源类型**：

  1. 使用**选择资源类型**下拉菜单，分配一个或多个资源类型。

     完成后，将 AWS Backup 显示您选择的资源类型列表及其默认设置，即保护每种选定资源类型的所有资源。

  1. （可选）如果您想从所选资源类型中排除特定资源，请执行以下操作：

     1. 使用**选择资源**下拉菜单并取消选择默认选项。

     1. 选择要分配给备份计划的特定资源。

  1. 或者，您可以** IDs 从选定的资源类型中排除特定资源**。如果您想从众多资源中排除一个或几个资源，请使用此选项，因为这样做可能比在上一步中选择许多资源要快。必须先包括资源类型，然后才能从该资源类型中排除资源。按照以下步骤操作，排除资源 ID：

     1. 在 “** IDs 从所选资源类型中排除特定**资源” 下，使用选择资源类型**选择一个或多个包含的资源类型**。

     1. 对于每种资源类型，使用**选择资源**菜单，选择一个或多个要排除的资源。

除了之前的选择外，您还可以使用可选的**使用标签优化选择**功能，进行更精细的选择。此功能允许您使用标签细化当前的选择，以包含资源子集。

标签是键值对，您可以将其分配给特定资源，以帮助您识别、组织和筛选资源。标签区分大小写。有关标签的更多信息，请参阅为[AWS 资源添加标签](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。

当您使用两个或更多标签细化您的选择时，效果是 AND 条件。例如，如果您使用 `env: prod` 和 `role: application` 这两个标签来细化选择，则只能将带有 BOTH 标签的资源分配给您的备份计划。

**要使用标签细化选择，请执行以下操作：**

1. 在**使用标签细化选择**下，从列表中选择一个**键**。

1. 从列表中选择**值条件**。
   + *值*是指下一个输入，即键值对的值。
   + **条件**可以是 `Equals`、`Contains`、`Begins with` 或 `Ends with`，或者它们的反义词：`Does not equal`、`Does not contain`、`Does not begin with` 或 `Does not end with`。

1. 从列表中选择一个**值**。

1. 要使用其他标签进一步细化，请选择**添加标签**。

# 使用分配资源 AWS CLI
<a name="assigning-resources-json"></a>

## 按服务或资源类型筛选
<a name="resource-assignment-filter"></a>

资源选择基于服务名称和资源类型。资源选择的方法决定了资源是否包含在备份中。这种包含操作取决于服务名称、资源类型和选择加入设置。

**按服务名称选择**  
当您在资源选择中仅指定服务名称时，备份包含操作取决于底层资源类型的选择加入设置。例如，使用 `arn:aws:ec2:*`，只有启用 EC2 资源类型的选择加入设置后，EC2 实例才会包含在备份中。

**按资源类型选择**  
如果您直接使用资源类型指定资源选择，那么无论该特定服务的选择加入设置如何，它都将包含在备份中。例如，使用 `arn:aws:ec2:::instance/*`，无论选择加入设置如何，系统都将备份 EC2 实例。

**共享资源类型**  
当多个资源共享相同的资源类型时，您需要启用特定资源类型的选择加入设置才能启动备份。

**Example**  
Aurora 和 RDS 集群共享 ARN 格式：`arn:aws:rds:::cluster:*`。要备份 Aurora 数据库，您必须启用 Aurora 的选择加入设置。  
FSx 对 FSx 于 OpenZFS，则共享 ARN 格式。`arn:aws:fsx:::file-system/*`启用相应的选择加入设置才能备份这些文件系统。

## 使用 JSON 定义备份计划资源分配
<a name="backup-resource-json"></a>

您可以在 JSON 文档中定义资源分配。

您可以指定条件、标签或资源来定义备份计划中将包含的内容。有关帮助您确定要包含哪些参数的更多信息，请参阅 [https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupSelection.html#Backup-Type-BackupSelection-ListOfTags](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupSelection.html#Backup-Type-BackupSelection-ListOfTags)。

此示例资源分配将所有 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"`。通配符 `*` 代表零个或多个非空格字符。

**Example 示例：选择我账户中的所有资源**  

```
{
  "BackupSelection":{
    "Resources":[
      "*"
    ]
  }
}
```

**Example 示例：选择我账户中的所有资源，但不包括 EBS 卷**  

```
{
  "BackupSelection":{
    "Resources":[
      "*"
    ],
    "NotResources":[
      "arn:aws:ec2:*:*:volume/*"
    ]
  }
}
```

**Example 示例：选择我账户中带 "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:`如果您不打算包含所有这些类型，可使用标签和条件运算符来细化您的选择。

**Example 示例：选择所有同时带 "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"
        }
      ]
    }
  }
}
```

**Example 示例：选择所有带 "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"
        }
      ]
    }
  }
}
```

**Example 示例：选择所有带 "key1" 标签、值以 "include" 开头但不以 "key2" 开头、值包含 "exclude" 一词的资源**  
您可以在字符串的开头、结尾和中间使用通配符字符。请注意，上述示例在 `include*` 和 `*exclude*` 中使用了通配符 (\$1)。您也可以在字符串中间使用通配符，如前面的示例所示，`arn:aws:rds:*:*:db:*`。  

```
{
  "BackupSelection":{
    "Resources":[
      "*"
    ],
    "Conditions":{
      "StringLike":[
        {
          "ConditionKey":"aws:ResourceTag/key1",
          "ConditionValue":"include*"
        }
      ],
      "StringNotLike":[
        {
          "ConditionKey":"aws:ResourceTag/key2",
          "ConditionValue":"*exclude*"
        }
      ]
    }
  }
}
```

**Example 示例：选择"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"
        }
      ]
    }
  }
}
```

**Example 示例：选择所有带 "backup" 标签和任意值的资源**  

```
{
  "BackupSelection":{
    "Resources":[
      "*"
    ],
    "Conditions":{
      "StringLike":[
        {
          "ConditionKey":"aws:ResourceTag/backup",
          "ConditionValue":"*"
        }
      ]
    }
  }
}
```

**Example 示例：选择所有 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"
        }
      ]
    }
  }
}
```

**Example 示例：选择所有带 `"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"
        }
      ]
    }
  }
}
```

# 通过以下方式分配 AWS Backup 资源 CloudFormation
<a name="assigning-resources-cfn"></a>

此 end-to-end 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/*
```

## 备份计划资源分配配额
<a name="assigning-resources-quotas"></a>

以下配额适用于单个资源分配：
+ 500 个不带通配符的亚马逊资源名称 (ARNs)
+ 30 ARNs 带通配符表达式
+ 30 个条件
+ 每个资源分配 30 个标签（且每个标签的资源数量不受限制）