

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

# 使用 指派資源 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"
        }
      ]
    }
  }
}
```