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

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

创建备份计划

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

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

Amazon Backup提供了开始使用Amazon Backup控制台的不同方法:

  • 从现有计划开始-您可以根据现有计划中的配置创建新的备份计划。提供的Amazon Backup现有计划基于最佳实践和常见的备份策略配置。当您选择要从现有的备份计划开始时,该备份计划中的配置将自动填充到新的备份计划中。随后,您可以根据备份要求更改其中的任意配置。

    有关 step-by-step 说明,请参阅 “第 1 步:基于现有备份计划创建一个备份计划入门” 部分中的。

  • 从头开始制定新计划-您可以通过指定以下各节中描述的每个备份配置详细信息来创建新的备份计划。您可以从推荐的默认配置中选择。

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

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

您也可以在 JSON 文档中定义备份计划,然后使用Amazon Backup控制台或Amazon CLI. 以下 JSON 文档包含一个示例备份计划,该计划每小时创建备份。它会在备份保留一年后自动将其删除。

{ "BackupPlan":{ "BackupPlanName":"test-plan", "Rules":[ { "RuleName":"test-rule", "TargetBackupVaultName":"test-vault", "ScheduleExpression":"cron(15 * ? * * *)", "StartWindowMinutes":60, "CompletionWindowMinutes":600, "Lifecycle":{ "DeleteAfterDays":365 } } ] } }

假设您将上述 JSON 文档存储为test-backup-plan.json,则可以使用以下 CLI 命令在中创建该文档Amazon Backup。

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

Backup 计划选项和配置

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

Backup计划名称

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

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

备份规则

备份计划由一个或多个备份规则组成。要向备份计划添加备份规则,或编辑备份计划中的现有规则,请执行以下操作:

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

  2. 在 “Backup 计划名称” 下,选择一个备份计划。

  3. 在 “Backup 规则” 部分下:

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

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

注意

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

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

Backup 规则名称

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

Backup frequency (备份频率)

备份频率决定Amazon Backup创建快照备份的频率。使用控制台,您可以选择每小时、12 小时、每天、每周或每月的频率。您还可以创建 cron 表达式,用于按每小时的频率创建快照备份。使用Amazon Backup CLI,您可以按每小时的频率安排快照备份。

如果选择每周,则可以指定要在一周中的哪几天进行备份。如果您选择每月,则可以选择该月的特定日期。

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

备份时段

备份时段由备份时段的开始时间和持续时间(以小时为单位)构成。备份作业会在此时段内启动。如果您不确定要使用哪个备份时段,则可选择使用 Amazon Backup 推荐的默认备份时段。默认备份时段设置为凌晨 5 点 UTC(协调世界时)开始,并持续 8 个小时。

注意

您可以使用 cron 表达式来自定义备份频率和备份时段开始时间。要查看Amazon cron 表达式的六个字段,请参阅 Amazon Ev CloudWatch ents 用户指南中的规则调度表达式。Amazoncron 表达式的两个示例是15 * ? * * *(每小时 15 分钟备份一次)和0 12 * * ? *(世界标准时间每天中午 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. 每小时Backup 一次,起始窗口为 1 小时,保留 1 天。

  2. 每 12 小时Backup 一次,启动窗口为 8 小时,保留 1 周。

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

在这个 “启动” 窗口中 此规则创建 1 个Backup
午夜到上午 8 点 12 小时
8 每小时
9 每小时
10 每小时
11 每小时
中午到晚上 8 点 12 小时
8 每小时
9 每小时
10 每小时
11 每小时

生命周期

生命周期定义备份何时转换到冷存储以及何时过期。Amazon Backup 将根据您定义的生命周期自动转换备份和使备份过期。

如果要增量备份,则必须至少有一个热备份。由于每次备份到冷存储都是完整备份,因此Amazon Backup建议您将生命周期设置设置为在至少 8 天后才将备份移至冷存储。

如果您将生命周期设置为在 1 天后备份到冷存储,则每个备份都将是完整备份。这可能比不那么经常地转移到冷藏库更具成本效益。

转换到冷存储的备份必须在冷存储中存储至少 90 天。因此,在主机上,“保留” 设置必须比 “几天后过渡到寒冷” 设置长 90 天。在备份转换为冷态后,您无法更改“转换为冷态前经过的天数”设置。

注意
  • 要查看可以过渡到冷存储的资源列表,请参阅按资源划分的功能可用性表中的 “到冷存储的生命周期” 部分。其他资源的冷存储表达式将被忽略。

  • 当备份的生命周期结束并作为生命周期策略的一部分被标记为删除时,将在接下来的 8 小时内在随机选择的时间点Amazon Backup删除备份。这个 8 小时窗口有助于确保删除时性能保持一致。

备份文件库

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

复制到区域

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

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

目标区域

备份副本的目标区域。

(高级设置)Backup 保管库

副本的目标备份保管库。

(高级设置)IAM 角色

创建副本时Amazon Backup使用的 IAM 角色。该角色还必须将 Amazon Backup 列为可信实体,这使得 Amazon Backup 能够代入该角色。如果您选择 Default (默认值) 且账户中不存在 Amazon Backup 默认角色,则系统将使用正确的权限为您创建一个角色。

(高级设置)生命周期

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

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

标签已添加到恢复点

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

已将标签添加到备份计划中

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

高级备份设置

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

Amazon CloudFormation备份计划模板

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

注意

如果您使用的是默认服务角色,请将服务角色替换为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