本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建备份计划
您可以使用AWS Backup控制台、API、CLI、SDK 或AWS CloudFormation模板创建备份计划。
使用AWS Backup控制台创建备份计划
AWS Backup提供了不同的开始使用AWS Backup控制台的方法:
-
从现有计划开始-您可以根据现有计划中的配置创建新的备份计划。提供的AWS Backup现有计划基于最佳实践和常见的备份策略配置。当您选择要从现有的备份计划开始时,该备份计划中的配置将自动填充到新的备份计划中。随后,您可以根据备份要求更改其中的任意配置。
有关 step-by-step 说明,请参阅 “步骤 1:基于现有备份计划入门” 部分。
-
从头开始构建新计划-您可以通过指定以下部分中描述的每个备份配置详细信息来创建新的备份计划。您可以从推荐的默认配置中选择。
如果您尝试创建与现有计划相同的备份计划,则会收到
AlreadyExistsException
错误。
使用 JSON 文档和AWS Backup CLI 创建备份计划
您也可以在 JSON 文档中定义备份计划,并使用AWS Backup控制台或提供AWS 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 命令在中创建它AWS Backup。
aws backup create-backup-plan --cli-input-json file:///
PATH-TO-FILE
/test-backup-plan
.json
Backup 计划选项和配置
在 AWS Backup 控制台中定义备份计划时,您可以配置以下选项:
Backup 计划名称
您必须提供唯一备份计划名称。
如果您选择与现有计划名称相同的名称,您将收到一条错误消息。
备份规则
备份计划由一个或多个备份规则组成。要向备份计划添加备份规则,或编辑备份计划中的现有规则,请执行以下操作:
-
从AWS Backup控制台的左侧导航窗格中,选择 Backup 计划。
-
在 Backup 计划名称下,选择一个备份计划。
-
在 “Backup 规则” 部分下:
-
要添加备份规则,请选择添加备份规则。
-
要编辑现有的备份规则,请选择一个规则,然后选择编辑。
-
如果您的备份计划包含多个规则,如果两条规则的时间范围重叠,则AWS Backup会优化备份,并对保留时间较长的规则进行备份。优化考虑了完整的启动窗口,而不仅仅是每天进行备份的时间。
每个备份规则都包含以下元素。
Backup 规则名称
备份规则名称区分大小写。必须包含 1 到 50 个字母数字字符或连字符。
Backup frequency (备份频率)
备份频率决定AWS Backup创建快照备份的频率。使用控制台,您可以选择每小时、12 小时、每天、每周或每月的频率。您还可以创建 cron 表达式,该表达式创建快照备份的频率与每小时一小时一样频繁地进行快照备份。使用AWS Backup CLI,您可以按每小时的频率安排快照备份。
如果选择每周,则可以指定要在一周中的哪几天进行备份。如果您选择每月,则可以选择该月的特定日期。
您也可以选中 “为支持的资源启用连续备份” 复选框来创建启用 point-in-time 还原 (PITR) 的连续备份规则。与快照备份不同,连续备份允许您执行 point-in-time 恢复。要了解有关连续备份的更多信息,请参阅时间点恢复。
备份时段
备份时段由备份时段的开始时间和持续时间(以小时为单位)构成。备份作业会在此时段内启动。如果您不确定要使用哪个备份时段,则可选择使用 AWS Backup 推荐的默认备份时段。默认备份时段设置为凌晨 5 点 UTC(协调世界时)开始,并持续 8 个小时。
您可以使用 cron 表达式来自定义备份频率和备份时段开始时间。要查看AWS cron 表达式的六个字段,请参阅 Amazon Ev CloudWatch ents 用户指南中的规则调度表达式。AWScron 表达式的两个示例是15 * ? * * *
(每小时过去 15 分钟进行一次备份)和0 12 * * ? *
(世界标准时间每天中午 12 点进行备份)。要查看示例表,请单击前面的链接并向下滚动页面。
AWS Backup在世界标准时间 00:00 到 23:59 之间计算 cron 表达式。如果您为 “每 12 小时” 创建备份规则,但提供的开始时间晚于 11:59,则该规则每天仅运行一次。
通常,AWS数据库服务无法在维护时段之前或期间 1 小时启动备份,Amazon FSx 无法在维护窗口或自动备份窗口之前 4 小时或期间启动备份(Amazon Aurora 不受此维护时段限制)。在此期间安排的快照备份将失败。一个例外:当您选择AWS Backup对支持的服务同时使用快照和连续备份时,您无需再担心这些窗口,因为它们AWS Backup会为您安排时间。有关支持服务的列表以及有关如何使用AWS Backup持续备份的说明,请参阅时间点恢复。
重叠的备份规则
有时,备份计划可能包含多个重叠的规则。当不同规则的启动窗口重叠时,AWS Backup保留保留期更长的规则下的备份。例如,考虑一个包含两条规则的备份计划:
-
每小时Backup 一次,启动窗口为 1 小时,保留 1 天。
-
每 12 小时Backup 一次,启动窗口为 8 小时,保留 1 周。
24 小时后,第二条规则创建两个备份(因为它的保留期更长)。第一条规则创建八个备份(因为第二条规则的 8 小时启动窗口阻止了更多每小时的备份运行)。具体来说:
在此启动窗口中 | 此规则创建 1 个Backup |
---|---|
午夜到早上 8 点 | 12 小时 |
8 到 9 | 每小时 |
9 到 10 | 每小时 |
10 到 11 | 每小时 |
中午 11 点到中午 | 每小时 |
中午到晚上 8 点 | 12 小时 |
8 到 9 | 每小时 |
9 到 10 | 每小时 |
10 到 11 | 每小时 |
11 到午夜 11 | 每小时 |
在启动窗口期间,AWS Backup将每 10 分钟自动重试一次,以启动尚未成功启动的备份作业。
生命周期
生命周期定义备份何时转换到冷存储以及何时过期。AWS Backup 将根据您定义的生命周期自动转换备份和使备份过期。
如果您希望备份是增量备份,则必须至少有一个热备份。由于每次备份到冷库都是完整备份,因此AWS Backup建议您将生命周期设置设置为在至少 8 天后才将备份移至冷存储。
如果您将生命周期设置为在 1 天后备份到冷库,则所有这些备份都将是完整备份。这可能比不太定期地转移到冷库更具成本效益。
转换到冷存储的备份必须在冷存储中存储至少 90 天。因此,在主机上,“保留” 设置必须比 “几天后过渡到冷却” 设置长 90 天。在备份转换为冷态后,您无法更改“转换为冷态前经过的天数”设置。
-
要查看可以过渡到冷存储的资源列表,请参阅按资源划分的功能可用性表中的 “冷库生命周期” 部分。其他资源的冷存储表达式将被忽略。
-
当备份的生命周期结束并作为生命周期策略的一部分标记为删除时,将在接下来的 8 小时内在随机选择的时间点AWS Backup删除备份。这个 8 小时窗口有助于确保删除性能的一致性。
备份文件库
备份文件库是一个用来整理备份的容器。由备份规则创建的备份存储到您在备份规则中指定的备份文件库。您可以使用备份文件库设置 AWS Key Management Service (AWS KMS) 加密密钥,该密钥用于加密备份文件库中的备份以及控制对备份文件库中的备份的访问。您还可以向备份文件库添加标签来帮助组织备份文件库。如果您不想使用默认文件库,可以自行创建文件库。有关创建备份库的 step-by-step 说明,请参阅步骤 3:创建备份库。
复制到区域
作为备份计划的一部分,您可以选择在其他计划中创建备份副本AWS 区域。有关备份副本的更多信息,请参阅跨创建备份副本AWS 区域。
在定义备份副本时,您可以配置以下选项:
目标区域
备份副本的目标区域。
(高级设置)Backup 库
副本的目标备份保管库。
(高级设置)IAM 角色
创建副本时AWS Backup使用的 IAM 角色。该角色还必须将 AWS Backup 列为可信实体,这使得 AWS Backup 能够代入该角色。如果您选择 Default (默认值) 且账户中不存在 AWS Backup 默认角色,则系统将使用正确的权限为您创建一个角色。
(高级设置)生命周期
指定将备份副本转换到冷存储的时间以及副本的到期(删除)时间。转换到冷存储的备份必须在冷存储中存储至少 90 天。在副本转换为冷存储后,您无法更改此值。
过期指定副本在创建后多少天删除。这必须比转换为冷存储值多 90 天。
已添加到恢复点的标签
您在此处列出的标签,在创建备份时将自动添加到备份。
已添加到备份计划中的标签
这些标签与备份计划本身关联,帮助您组织和跟踪备份计划。
高级备份设置
为在 Amazon EC2 实例上运行的第三方应用程序启用应用程序一致性备份。目前,AWS Backup支持 Windows VSS 备份。 AWS Backup从 Windows VSS BSS 备份中排除特定的 Amazon EC2 实例类型。有关更多信息,请参阅创建 Windows VSS 备份:
AWS CloudFormation备份计划模板
我们提供了两个示例AWS 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