使用 指派資源 AWS CLI - AWS Backup

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

使用 指派資源 AWS CLI

您可以在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" } ] } } }
範例:選取標記兩者的所有EBS磁碟區和RDS資料庫執行個體 "backup":"true" 以及 "stage":"prod"

布林算術與IAM政策中的算術類似,其中的算術 "Resources" 使用布林值 OR 和 中與布林值 "Conditions"結合的 AND。

"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" } ] } } }
範例:選取標記 的所有EBS磁碟區和RDS執行個體 "backup":"true" 但不是 "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" } ] } } }
範例:選取標記 的所有資源 "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"但以 標記的EBS磁碟區除外 "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" } ] } } }