跳至内容

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

2 分钟阅读
0

我想使用 AWS 命令行界面 (AWS CLI) 在 AWS Backup 中创建备份计划。或者,我想使用 AWS CLI 在 AWS Backup 中运行按需作业。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

创建 AWS Backup 计划

**注意:**以下示例备份计划在备份规则中配置了复制作业。在源 AWS 区域创建一个主备份保管库,用于托管恢复点。然后,在目标区域创建一个辅助保管库。辅助保管库存储 AWS Backup 根据备份计划中的复制配置所创建的恢复点。

  1. 要在源区域创建主保管库,请运行 create-backup-vault 命令:

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

    **注意:**将 eu-west-1 替换为您的源区域。

  2. 要在目标区域创建辅助保管库,请再次运行 create-backup-vault 命令:

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

    **注意:**将 eu-west-2 替换为您的目标区域。

  3. 配置包含备份计划选项的 JSON 文件
    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 参数是可选的。您可以根据备份策略的保留期来指定一个值。

  4. 运行 create-backup-plan 命令并引入备份计划 JSON 文件:

    aws backup create-backup-plan --backup-plan file://
  5. 在上述命令的输出中,记下您收到的 BackupPlanId 值。

  6. 创建一个 JSON 文件来设置为备份计划分配资源的参数。
    JSON 文件示例:

    {    "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"
        }]
    }

    **注意:**要为备份计划指定资源,您可以使用 Amazon 资源名称 (ARN)、标签或二者结合。

  7. 运行 create-backup-selection 命令并引入备份选择 JSON 文件:

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

    **注意:**将 backup-plan-id 替换为您的备份计划 ID。

在 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

**注意:**上述命令包含 IdempotencyToken 的值,用于区分 StartBackupJob 调用。要在 Linux 操作系统 (OS) 上生成唯一标识符,请运行 uuid 命令:

uuid -r

要启动按需复制作业,请运行 start-copy-job 命令。

以下示例运行的作业将 snap-0abcdaf2247b33dbc 的恢复点从名为 primary 的源保管库复制到名为 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 命令。

以下示例使用 JSON 元数据文件来运行恢复任务:

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole"  --metadata file://path_to_json_file
AWS 官方已更新 1 年前