创建备份计划 - Amazon Backup
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建备份计划

您可以使用 Amazon Backup 控制台、API、CLI、SDK 或 Amazon CloudFormation 模板创建备份计划。

使用 Amazon Backup 控制台创建备份计划

打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/backup。从控制面板中,选择管理备份计划。或者,使用导航窗格选择备份计划,并选择创建备份计划

启动选项

要启动新的备份计划,您有三种选择:

在本教程中,我们将选择创建新计划。配置的每个部分都有一个指向页面上扩展部分的链接,您可以在该部分中导航以获取更多详细信息。

备份计划名称框中,输入计划名称。如果您尝试创建与现有计划相同的备份计划,则会收到 AlreadyExistsException 错误。

  1. 您可以选择为备份计划添加标签。

  2. 备份规则配置:在备份规则配置部分,您将要设置备份计划、时段和生命周期。

  3. 计划:

    1. 在文本字段中输入备份规则名称

    2. 在“备份保管库”下拉菜单中,选择默认或选择新建备份保管库以创建新的保管库。

    3. 在“备份频率”下拉菜单中,选择您希望此计划创建备份的频率。

  4. 备份时段:

    1. 开始时间默认为系统本地时区的凌晨 1:00。

    2. 开始时间范围默认为 8 小时。您可以对此设置进行更改以指定开始备份的时间段。

    3. 完成时间范围默认为 7 天。

  5. 连续备份和 point-in-time 恢复 (PITR)您可以选择 “启用连续备份以进行 point-in-time 恢复 (PITR)”。要验证支持使用哪些资源进行此类备份,请参阅按资源划分的功能可用性矩阵。

  6. 生命周期

    1. 冷存储:选中此框可让符合条件的资源类型根据您在“总保留期”中指定的时间表转移到冷存储。要使用冷存储,您的总保留期必须不短于 90 天。

    2. Amazon EBS 的冷存储Amazon EBS 快照归档。转移到归档存储层的快照将作为冷层显示在控制台中。如果启用了冷存储,并且您的备份频率为每月或更长时间一次,则可以让备份计划转移 EBS 快照。

    3. 总保留期是您将资源存储在 Amazon Backup中的天数。它是暖存储天数和冷存储天数的总和。

  7. 可选)如果您想将备份副本存储在其他 Amazon Web Services 区域中,请使用复制到目的地来创建符合条件的资源的跨区域副本。

  8. 可选)将标签添加到恢复点。

  9. 当所有部分均设置为您的规格后,请选择保存备份规则

使用 JSON 文档和 Amazon Backup CLI 创建备份计划

您也可以在 JSON 文档中定义备份计划并使用 Amazon Backup 控制台或 Amazon CLI提供该计划。以下 JSON 文档包含一个备份计划示例,该计划每天在太平洋时间 1:00 创建备份(如果适用,当地时间会根据时区的夏令时、标准时间或夏令时间条件进行调整)。它会在备份保留一年后自动将其删除。有关自定义的更多信息,请参阅 Amazon CloudWatch Events 用户指南中的 Cron 表达式。有关时区的更多信息,请参阅 Amazon Location Service API 参考中的TimeZone 页面

{ "BackupPlan":{ "BackupPlanName":"test-plan", "Rules":[ { "RuleName":"test-rule", "TargetBackupVaultName":"test-vault", "ScheduleExpression":"cron(0 1 ? * * *)", "ScheduleExpressionTimezone": "America/Los_Angeles", "StartWindowMinutes":"480", "CompletionWindowMinutes":"10080", "Lifecycle":{ "DeleteAfterDays":365 } } ] } }

您可以使用自己选择的名称存储 JSON 文档。以下 CLI 命令显示的是 create-backup-plan,其带有名为 test-backup-plan.json 的 JSON:

aws backup create-backup-plan --cli-input-json file://PATH-TO-FILE/test-backup-plan.json

备份计划选项和配置

在 Amazon Backup 控制台中定义备份计划时,需要配置以下选项:

备份计划名称

您必须提供唯一备份计划名称。

如果您选择与现有计划名称相同的名称,将会收到一条错误消息。

备份规则

备份计划由一个或多个备份规则组成。向备份计划添加备份规则或编辑备份计划中的现有规则:

  1. 在 Amazon Backup 控制台的左侧导航窗格中,选择 Backup 计划

  2. 备份计划名称下,选择一个备份计划。

  3. 备份规则部分下:

    • 要添加备份规则,请选择添加备份规则

    • 要编辑现有备份规则,请选择规则,然后选择编辑

注意

如果您的备份计划包含多个规则,并且两个规则的时间范围重叠,请 Amazon Backup 优化备份,并根据保留时间较长的规则进行备份。优化功能考虑了完整的启动时段,而不仅仅是每日备份的时间。

每个备份规则都包含以下元素。

备份规则名称

备份规则名称区分大小写。必须包含 1 到 50 个字母数字字符或连字符。

Backup frequency (备份频率)

备份频率决定了 Amazon Backup 创建快照备份的频率。使用控制台,您可从每小时、每 12 个小时、每天、每周或每月中选择频率。您还可以创建 Cron 表达式,以每小时一次的频率创建快照备份。使用 Amazon Backup CLI,您可以将快照备份频率安排为每小时一次。

如果选择每周,您可以指定在一周中的星期几进行备份。如果选择每月,您可以选择在一月中具体哪一天进行备份。

您也可以选中 “为支持的资源启用连续备份” 复选框来创建启用 point-in-time 恢复 (PITR) 的连续备份规则。与快照备份不同,连续备份允许您执行 point-in-time 恢复。要详细了解连续备份,请参阅时间点恢复

备份时段

备份时段由备份时段的开始时间和持续时间(以小时为单位)构成。备份作业会在此时段内启动。控制台中的默认设置为:

  • 系统所在时区当地时间凌晨 1:00(24 小时系统为 1:00)

  • 8 小时内开始

  • 7 天内完成

    完成时间范围参数不适用于 Amazon FSx 资源)

您可以使用 cron 表达式来自定义备份频率和备份时段开始时间。要查看 Amazon cron 表达式的六个字段,请参阅 A ma CloudWatch zon Events 用户指南中的 Cron 表达式。 Amazon cron 表达式的两个示例是15 * ? * * *(每小时在过去 15 分钟时进行一次备份)和0 12 * * ? *(UTC 每天中午 12 点进行备份)。要查看示例表,请单击前面的链接并向下滚动页面。

Amazon Backup 在 00:00 到 23:59 之间评估 cron 表达式。如果您创建了“每 12 小时”的备份规则,但提供的开始时间晚于 11:59,则该规则每天只会运行一次。

注意

通常, Amazon 数据库服务无法在维护时段前 1 小时或维护时段内启动备份,Amazon FSx 无法在其维护时段或自动备份窗口前 4 小时或期间启动备份(Amazon Aurora 不受此维护时段限制的约束)。在这段时间内安排的快照备份将失败。

当您选择使用 Amazon Backup 对受支持的服务进行快照和连续备份时,会发生异常。 Amazon Backup 将自动安排备份时段以避免冲突。有关支持的服务列表以及如何使用 Amazon Backup 进行连续备份的说明,请参阅时间点恢复

重叠备份规则

有时,备份计划可能包含多个重叠的规则。当不同规则的起始窗口重叠时, Amazon Backup 会根据保留期较长的规则保留备份。例如,假设有一个备份计划包含两条规则:

  1. 每小时备份一次,起始时间为 1 小时,并保留 1 天。

  2. 每 12 小时备份一次,起始时间为 8 小时,并保留 1 周。

24 小时后,第二条规则创建两个备份(因为它的保留期更长)。第一条规则创建八个备份(因为第二条规则的 8 小时启动时间使每小时备份无法运行)。具体来说:

在这个开始时间内 此规则创建 1 个备份
午夜至早上 8 点 12 小时
8 点到 9 点 每小时
9 点到 10 点 每小时
10 点到 11 点 每小时
11 点到中午 每小时
中午至晚上 8 点 12 小时
8 点到 9 点 每小时
9 点到 10 点 每小时
10 点到 11 点 每小时
11 点到午夜 每小时

在启动时段内,备份作业的状态将保持 CREATED 状态,直到成功启动或启动时段结束为止。如果在启动窗口内 Amazon Backup 收到允许重试作业的错误消息, Amazon Backup 则至少每 10 分钟自动重试一次以开始作业,直到备份成功开始(任务状态更改为RUNNING)或任务状态更改为EXPIRED(预计在启动窗口时间结束时发生)。

生命周期和存储层

备份将存储您指定的天数(即备份生命周期)。备份可以还原,直到其生命周期结束。

在 Amazon Backup 控制台中备份规则配置的生命周期部分中,将其设置为总保留期。如果您使用 Amazon CLI,则使用参数进行设置DeleteAfterDays。快照的保留期可以介于 1 天到 100 年之间(如果不输入具体时间,则无限期),而连续备份的保留期可以从 1 天到 35 天不等。

备份保存在存储层中。如 Amazon Backup 定价所述,每个层的存储和还原成本都不同。每个备份都已创建并存储在暖存储中。根据您选择的备份存储时间长短,您可能希望将备份转移到成本较低的层(名为“冷存储”)。按资源划分的功能可用性中显示了哪些资源具有此可选功能。

Console
  1. 打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/backup

  2. 创建或编辑备份计划。

  3. 在备份规则配置的生命周期部分,选中将备份从暖存储移至冷存储框。

  4. 可选)如果 Amazon EBS 是您备份的资源之一,并且您的备份频率为每月或更长时间一次,则可以使用 EBS 快照归档将其转移到冷层。

  5. 输入您希望将备份保留在温存储空间中的值(以天为单位)。 Amazon Backup 建议至少 8 天。

  6. 输入总保留期的值(以天为单位)。总保留期和暖存储时间之间的差值将是备份在冷存储中保留的天数。

Amazon CLI
  1. 使用 create-backup-plan 或者 update-backup-plan

  2. 包括 EBS 资源的布尔参数 OptInToArchiveForSupportedResources

  3. 包含 MoveToColdStorageAfterdays 参数。

  4. 使用 DeleteAfterDays 参数。此值必须是 90(天)加上您输入的 MoveToColdStorageAfterDays 值。

冷存储目前可用于以下资源类型:

资源类型 冷存储中的增量备份或完整备份

Amazon CloudFormation

增量

DynamoDB,带 高级功能

完整;任何层中都没有增量备份

Amazon EBS(使用 EBS 快照归档)

完整;转移后增量备份将变为完整备份。

Amazon EFS

增量

Amazon EC2 实例上运行的 SAP HANA 数据库

增量

Amazon Timestream

增量

VMware 虚拟机

增量

通过控制台或命令行启用向冷存储的转移后,以下条件对于冷存储(或归档)中的备份是成立的:

  • 过渡后的备份必须存储在冷库中至少 90 天,此外还必须存储在温存储空间中的时间。 Amazon Backup 要求将保留期设置为 90 天,比 “几天后过渡到低温” 设置长 90 天。在备份转换为冷态后,您无法更改“转换为冷态前经过的天数”设置。

  • 一些服务支持增量备份。对于增量备份,必须至少有一个热完整备份。 Amazon Backup 建议您将生命周期设置为在至少 8 天后才将备份移至冷存储。如果过早地将完整备份过渡到冷存储(例如,1 天后过渡到冷存储),则 Amazon Backup 会创建另一个热完整备份。

  • 对于支持增量备份的资源类型,如果热备份不再引用 Amazon Backup 过渡后的数据,则会将数据从温存储转换为冷存储。冷备份中保留的仅供其他冷备份引用的备份数据按冷存储层定价计费。其他备份则继续按暖存储层定价计费。

备份保管库

备份保管库是一个用来整理备份的容器。由备份规则创建的备份存储到您在备份规则中指定的备份保管库。您可以使用备份存储库来设置 Amazon Key Management Service (Amazon KMS) 加密密钥,该密钥用于加密备份库中的备份,并控制对备份库中备份的访问权限。您还可以向备份保管库添加标签来帮助组织备份保管库。如果您不想使用默认保管库,可以自行创建保管库。有关创建备份存储库的 step-by-step 说明,请参阅步骤 3:创建备份保管库

复制到区域

作为备份计划的一部分,您可以选择在另一个 Amazon Web Services 区域创建备份副本。有关备份副本的更多信息,请参阅跨 Amazon Web Services 区域创建备份副本

在定义备份副本时,您可以配置以下选项:

目的地区域

备份副本的目的地区域。

(高级设置)备份保管库

副本的目的地备份保管库。

(高级设置)IAM 角色

创建副本时 Amazon Backup 使用的 IAM 角色。该角色还必须 Amazon Backup 列为可信实体,这样 Amazon Backup 才能担任该角色。如果您选择 “默认”,但您的账户中没有 Amazon Backup 默认角色,则会为您创建一个具有正确权限的角色。

(高级设置)生命周期

指定将备份副本转换到冷存储的时间以及副本的到期(删除)时间。转换到冷存储的备份必须在冷存储中存储至少 90 天。在副本转换为冷存储后,您无法更改此值。

过期指定副本在创建后多少天删除。这必须比转换为冷存储值多 90 天。

添加到恢复点的标签

您在此处列出的标签,在创建备份时将自动添加到备份。

添加到备份计划的标签

这些标签与备份计划本身关联,帮助您组织和跟踪备份计划。

高级备份设置

为 Amazon EC2 实例上运行的第三方应用程序启用应用程序一致性备份。目前, Amazon Backup 支持 Windows VSS 备份。 Amazon Backup 从 Windows VSS 备份中排除特定的 Amazon EC2 实例类型。有关更多信息,请参阅 创建 Windows VSS 备份

Amazon CloudFormation 备份计划模板

我们提供了两个示例 Amazon CloudFormation 模板供您参考。第一个模板可创建一个简单的备份计划。第二个模板在备份计划中启用 VSS 备份。

注意

如果您使用的是默认服务角色,请将 service-role 替换为 AWSBackupServiceRolePolicyForBackup

Description: backup plan template to back up all resources daily at 5am UTC, and tag all recovery points with backup:daily. Resources: KMSKey: Type: AWS::KMS::Key Properties: Description: "Encryption key for daily" EnableKeyRotation: True Enabled: True KeyPolicy: Version: "2012-10-17" Statement: - Effect: Allow Principal: "AWS": { "Fn::Sub": "arn:${AWS::Partition}:iam::${AWS::AccountId}:root" } Action: - kms:* Resource: "*" BackupVaultWithDailyBackups: Type: "AWS::Backup::BackupVault" Properties: BackupVaultName: "BackupVaultWithDailyBackups" EncryptionKeyArn: !GetAtt KMSKey.Arn BackupPlanWithDailyBackups: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: "BackupPlanWithDailyBackups" BackupPlanRule: - RuleName: "RuleForDailyBackups" TargetBackupVault: !Ref BackupVaultWithDailyBackups ScheduleExpression: "cron(0 5 ? * * *)" DependsOn: BackupVaultWithDailyBackups DDBTableWithDailyBackupTag: Type: "AWS::DynamoDB::Table" Properties: TableName: "TestTable" AttributeDefinitions: - AttributeName: "Album" AttributeType: "S" KeySchema: - AttributeName: "Album" KeyType: "HASH" ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5" Tags: - Key: "backup" Value: "daily" BackupRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "backup.amazonaws.com" Action: - "sts:AssumeRole" ManagedPolicyArns: - "arn:aws:iam::aws:policy/service-role/service-role" TagBasedBackupSelection: Type: "AWS::Backup::BackupSelection" Properties: BackupSelection: SelectionName: "TagBasedBackupSelection" IamRoleArn: !GetAtt BackupRole.Arn ListOfTags: - ConditionType: "STRINGEQUALS" ConditionKey: "backup" ConditionValue: "daily" BackupPlanId: !Ref BackupPlanWithDailyBackups DependsOn: BackupPlanWithDailyBackups
Description: backup plan template to enable Windows VSS and add backup rule to take backup of assigned resources daily at 5am UTC. Resources: KMSKey: Type: AWS::KMS::Key Properties: Description: "Encryption key for daily" EnableKeyRotation: True Enabled: True KeyPolicy: Version: "2012-10-17" Statement: - Effect: Allow Principal: "AWS": { "Fn::Sub": "arn:${AWS::Partition}:iam::${AWS::AccountId}:root" } Action: - kms:* Resource: "*" BackupVaultWithDailyBackups: Type: "AWS::Backup::BackupVault" Properties: BackupVaultName: "BackupVaultWithDailyBackups" EncryptionKeyArn: !GetAtt KMSKey.Arn BackupPlanWithDailyBackups: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: "BackupPlanWithDailyBackups" AdvancedBackupSettings: - ResourceType: EC2 BackupOptions: WindowsVSS: enabled BackupPlanRule: - RuleName: "RuleForDailyBackups" TargetBackupVault: !Ref BackupVaultWithDailyBackups ScheduleExpression: "cron(0 5 ? * * *)" DependsOn: BackupVaultWithDailyBackups