如何使用 AWS CLI 建立 AWS Backup 計畫或執行隨需任務?

2 分的閱讀內容
0

我想要使用 AWS Command Line Interface (AWS CLI) 來建立 AWS Backup 計畫。-或- 我想要使用 AWS CLI 在 AWS Backup 上執行隨需任務。

解決方法

建立 AWS Backup 計畫

**注意:**下列範例 AWS Backup 計畫使用備份規則中複製任務組態予以設定。使用此組態,您可以在來源 AWS 區域中建立主要備份保存庫。主要保存庫會託管來源復原點。然後,您可以在目的地區域中建立次要保存庫。次要保存庫會將 AWS Backup 建立的復原點儲存為備份計畫中複製組態的一部分。

1.    執行 create-backup-vault 命令,以在來源區域中建立主要保存庫。然後,再次執行該命令,以在目的地區域中建立次要保存庫。在下列範例命令中,eu-west-1 是來源區域,而 eu-west-2 是目的地區域。

aws backup create-backup-vault --backup-vault-name primary --region eu-west-1

aws backup create-backup-vault --backup-vault-name secondary --region eu-west-2

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI

2.    建立一個包含備份計畫的選項和參數的 JSON 檔案。範例:

{
    "BackupPlanName": "testplan",
    "Rules": [{
        "RuleName": "HalfDayBackups",
        "TargetBackupVaultName": "primary",
        "ScheduleExpression": "cron(0 5/12 ? * * *)",
        "StartWindowMinutes": 480,
        "CompletionWindowMinutes": 10080,
        "Lifecycle": {
            "DeleteAfterDays": 30
        },
        "CopyActions": [{
            "DestinationBackupVaultArn": "arn:aws:backup:eu-west-2:123456789:backup-vault:secondary",
            "Lifecycle": {
                "DeleteAfterDays": 30
            }
        }]
    }]
}

**注意:**對於 ScheduleExpression 欄位,請根據組織的復原點目標設定值。對於 Lifecycle 欄位 (選用),您可以根據備份策略的保留政策輸入值。

3.    建立 JSON 檔案之後,請執行 create-backup-plan 命令。然後,將 JSON 檔案作為輸入參數傳遞:

aws backup create-backup-plan --backup-plan file://

4.    在命令的輸出中,記下 BackupPlanId 的值。

5.    建立一個 JSON 檔案,用於設定將資源指派給備份計畫的參數,類似下列內容:

**注意:**您可以使用 Amazon Resource Name (ARN)、標籤或前述兩者,來指定備份計畫的資源。下列範例同時使用 ARN 和標籤。

{
    "SelectionName": "Myselection",
    "IamRoleArn": "arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole",
    "Resources": ["arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234"],
    "ListOfTags": [{
        "ConditionType": "STRINGEQUALS",
        "ConditionKey": "backup",
        "ConditionValue": "yes"
    }]
}

6.    建立 JSON 檔案之後,執行 create-backup-selection 命令。然後,將 JSON 檔案作為輸入參數傳遞:

**注意:**對於 --backup-plan-id 的值,輸入您在步驟 4 中取得的 BackupPlanId

aws backup create-backup-selection --backup-plan-id abcd-efgh-ijkl-mnop --backup-selection file://

在 AWS Backup 上執行隨需任務

若要執行隨需備份任務,請執行 start-backup-job 命令。下列範例命令會執行資源 vol-0abcdef1234 的備份任務:

aws backup start-backup-job --backup-vault-name primary --resource-arn arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234 --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 623f13d2-78d2-11ea-bc55-0242ac130003 --start-window-minutes 60 --complete-window-minutes 10080 --lifecycle DeleteAfterDays=30 --region eu-west-1

**注意:**上述命令包括 --idempotency-token 的值。此值是您提供的唯一字串,用於區分 StartBackupJob 呼叫。在 Linux 作業系統上,您可以執行 uuid 命令來產生唯一識別碼:

uuid -r

若要執行隨需複製任務,請執行 start-copy-job 命令。下列範例命令會執行一項任務,將 snap-0abcdaf2247b33dbc 的復原點從名為主要的來源保存庫複製到名為次要的目的地保存庫:

aws backup start-copy-job --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc --source-backup-vault-name primary --destination-backup-vault-arn arn:aws:backup:eu-west-2:123456789:backup-vault:secondary --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 5aac8974-78d2-11ea-bc55-0242ac130003 --lifecycle DeleteAfterDays=30 --region eu-west-1

若要啟動還原任務,請執行 start-restore-job 命令。若要啟動 Amazon Elastic Block Store (Amazon EBS) 磁碟區的還原任務,請執行下列步驟:

1.    在您要還原的復原點上執行 get-recovery-point-restore-metadata 命令:

aws backup get-recovery-point-restore-metadata --backup-vault-name primary --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc

2.    在命令的輸出中,記下 volume IDencryption 的值。

3.    建立一個 JSON 檔案,用於設定必要的 --metadata option of the start-restore-job 命令的參數。對於 encryptedvolumeId,輸入您在步驟 2 中取得的值。

{
   "availabilityZone":"eu-west-1a",
   "encrypted":"false",
   "volumeId":"vol-0ck270d4c0b2e44c9",
   "volumeSize":"100",
   "volumeType":"gp2"
}

4.    建立 JSON 檔案之後,執行 start-restore-job 命令。然後,將 JSON 檔案作為輸入參數傳遞:

aws backup start-restore-job --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc  --metadata file:// --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 52e602ce-78d2-11ea-bc55-0242ac130003 --resource-type EBS --region eu-west-1

若要啟動 Amazon Elastic File System (Amazon EFS) 的還原,請參閱如何使用 AWS CLI 從 AWS Backup 復原點還原 Amazon EFS 檔案系統?


AWS 官方
AWS 官方已更新 2 年前