

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 選取要備份 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：//[https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 開啟 AWS Backup 主控台。

1. 在導覽窗格中，選擇**設定**。

1. 在 **Service opt-in (選擇加入服務)** 頁面上，選擇 **Configure resources (設定資源)**。

1. 在**設定資源**頁面上，使用切換開關來啟用或停用使用的服務 AWS Backup。設定服務時，請選擇 **Confirm (確認)**。請確定您選擇使用 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：//[https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 開啟 AWS Backup 主控台。

1. 選擇 **備份計畫**。

1. 選擇 **建立備份計畫**。

1. 在 **選擇範本** 下拉式清單中選取任一範本，然後選擇 **建立計畫**。

1. 輸入**備份計畫名稱**。

1. 選擇 **建立計畫**。

1. 選擇 **指派資源**。

**若要開始指派資源，請在 **一般** 區段中：**

1. 輸入**資源指派名稱**。

1. 選擇 **預設角色** 或 **選擇 IAM 角色**。
**注意**  
如果您選擇 IAM 角色，請確認其有權備份您要指派的所有資源。如果您的角色遇到無權備份的資源，您的備份計畫會失敗。

若要指派資源，請在 **指派資源** 區段中，選擇 **定義資源選取** 下的兩個選項之一：
+ **包含所有資源類型**。此選項會設定備份計劃，以保護指派給備份計劃的所有目前和未來 AWS Backup支援的資源。使用此選項可快速輕鬆地保護您的資料資產。

  選擇此選項時，您也可以在下一步選擇 **使用標籤縮小選取範圍**。
+ **包含特定的資源類型**。選擇此選項時，您必須在後續步驟中 **選取特定的資源類型**：

  1. 使用 **選取資源類型** 下拉式功能表，指派一或多個資源類型。

     完成後， AWS Backup 會顯示您選取的資源類型清單及其預設設定，以保護每個選取的資源類型的所有資源。

  1. 或者，您也可以從選取的資源類型中排除特定的資源：

     1. 使用 **選擇資源** 下拉式功能表，取消選取預設選項。

     1. 選取要指派給備份計畫的特定資源。

  1. 或者，您也可以選擇 **排除所選資源類型中的特定資源 ID**。如果您想要在諸多資源中排除一或幾項資源，請使用此選項，因為這比上一個步驟的選取許多資源來得快。您必須先包含資源類型，才能從該資源類型中排除資源。使用下列步驟排除資源 ID：

     1. 在 **排除所選資源類型中的特定資源 ID** 下，選擇您使用 **選取資源類型** 包含的一或多個資源類型。

     1. 對於每個資源類型，請使用**選擇資源**功能表選取要排除的一或多個資源。

除了先前的選擇之外，您還可以使用選用的 **使用標籤縮小選取範圍** 功能進行更精細的選擇。此功能可讓您縮小目前的選取範圍，使用標籤包含資源的子集。

標籤是可以指派給特定資源的鍵值對，以利識別、組織與篩選資源。標籤會區分大小寫。如需標籤的詳細資訊，請參閱[標記您的 AWS 資源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。

當您使用兩個或以上的標籤縮小選取範圍時，效果如同 AND 條件。例如，如果您使用兩個標籤 `env: prod` 和 `role: application` 縮小選取範圍，僅會將同時具有兩個標籤的資源指派給備份計畫。

**使用標籤縮小選取範圍：**

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 for 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 和 DocumentDB ARNs 開頭為 `arn:aws:rds:`。如果您不打算包含所有這些類型，請使用標籤和條件式運算子來精簡您的選擇。

**Example 範例：選取所有標記 和 的 EBS 磁碟區"backup":"true"和 RDS 資料庫執行個體 "stage":"prod"**  
布林算術與 IAM 政策的運算類似，使用布林運算 OR 合併的 "Resources" 項目以及使用布林運算 AND 合併的 `"Conditions"` 項目。  
`"Resources"` 運算式 `"arn:aws:rds:*:*:db:*"` 只選取 RDS 資料庫執行個體，因為沒有對應的 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" 但未標記的所有 EBS 磁碟區和 RDS 執行個體 "stage":"test"**  

```
{
  "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 範例：選取標記 的所有資源，FSx 檔案系統和 RDS、Aurora、Neptune 和 DocumentDB 資源"backup":"true"除外**  
`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 範例：選取標記 標籤的所有資源，但標記 的 EBS 磁碟區`"backup":"true"`除外 `"stage":"test"`**  
使用兩個 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 個不含萬用字元的 Amazon Resource Name (ARN)
+ 30 個含萬用字元運算式的 ARN
+ 30 個條件
+ 每個資源指派有 30 個標籤 (每個標籤的資源不限數量)