可以如何使用 AWS CLI 创建 AWS Backup 计划或运行按需作业?

上次更新时间:2020 年 5 月 19 日

我想使用 AWS 命令行界面 (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

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 资源名称 (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 命令。以下示例命令运行的是从名为 primary 的源备份文件库中将 snap-0abcdaf2247b33dbc 的恢复点复制到名为 secondary 的目标备份文件库的作业:

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.    在命令的输出中,记下卷 ID加密的值。

3.    创建 JSON 文件,该文件设置用于所需的 --metadata option of the start-restore-job 命令的参数。对于已加密volumeId,输入在第 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 文件系统?一文。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?