使用 Amazon S3 备份和恢复 - AWS 规范指引

使用 Amazon S3 备份和恢复

可以使用 Amazon Simple Storage Service(Amazon S3)随时存储和检索任何数量的数据。您可以将 Amazon S3 用作应用程序数据以及文件级备份和还原过程的持久存储。例如,您可以通过 AWS CLI 或 AWS 软件开发工具包使用备份脚本,将数据库备份从数据库实例复制到 Amazon S3。

AWS 服务使用 Amazon S3 实现高度耐用和可靠的存储,如以下示例所示:

  • Amazon EC2 使用 Amazon S3 来存储 EBS 卷和 EC2 实例存储的 Amazon EBS 快照。

  • Storage Gateway 与 Amazon S3 集成,为本地环境提供由 Amazon S3 支持的文件共享、卷和磁带库。

  • Amazon RDS 使用 Amazon S3 来生成数据库快照。

许多第三方备份解决方案也使用 Amazon S3。例如,Arcserve 统一数据保护支持 Amazon S3 对本地和云原生服务器进行持久备份。

您可以使用这些服务的 Amazon S3 集成功能来简化备份和恢复方法。同时,您可以从 Amazon S3 提供的高耐久性和可用性中受益。

Amazon S3 将数据作为对象存储在名为存储桶中的资源。您可将任意数量的对象存储在存储桶。您可以通过精细访问控制来写入、读取和删除存储桶中的对象。单个对象大小最多为 5 TB。

使用 Amazon S3 存储类别降低备份数据存储成本

Amazon S3 提供多种存储类别,适用于本地部署、混合部署和云原生架构。所有存储类别均提供可扩展容量,随着备份数据集的增长,无需进行卷或介质管理。按需付费的模式和低廉的每月每 GB 存储成本,使得 Amazon S3 存储类别非常适合各种数据保护使用案例。Amazon S3 存储类别专为不同使用案例而设计,包括以下类别:

  • 经常访问存储类别,适用于通用存储经常访问的数据(例如配置文件、计划外备份、每日备份)。这包括 S3 标准存储类别,这是所有 Amazon S3 对象的默认设置。

  • 不常访问存储类别,适用于存放时间较长但不常访问的数据(例如月度备份)。这包括 S3 Standard-IA 存储类别。IA 表示不经常访问

  • S3 Glacier 存储类别,适用于存放时间极长但极少被访问的数据(例如年度备份)。这包括 S3 Glacier Deep Archive,是 AWS 上成本最低的存储方案。

对于访问模式未知或不断变化的备份,可以使用 S3 Intelligent-Tiering 存储类别。S3 Intelligent-Tiering 会根据对象上次访问的天数,自动将其迁移至最具成本效益的存储层。

注意

某些存储类别设有最短计费周期。有关详情,请参阅 Amazon S3 定价,然后通过网页搜索查找 duration

Amazon S3 提供生命周期策略,您可以配置这些策略以在整个生命周期中对您的数据进行管理。设置策略后,您的数据将自动迁移到相应的存储类别,而无需对应用程序进行任何更改。有关更多信息,请参阅《Amazon S3 对象生命周期管理》文档。

为降低备份成本,可根据您的恢复时间目标 (RTO) 和恢复点目标 (RPO) 使用分层存储类方法,如以下示例所示:

  • 使用 S3 标准进行过去 2 周的每日备份

  • 使用 S3 标准-IA 进行过去 3 个月的每周备份

  • 对 S3 Glacier Flexible Retrieval 进行过去一年的季度备份

  • 对 S3 Glacier Deep Archive 进行过去 5 年的年度备份

  • 5 年后从 S3 Glacier Deep Archive 中删除备份

创建用于备份和存档的标准 S3 存储桶

您可以使用 S3 生命周期策略实施公司的备份和保留策略,创建用于备份和存档的标准 S3 存储桶。AWS 计费的成本分配标记和报告基于在存储桶级别分配的标签。如果成本分配很重要,请为每个项目或业务单元创建单独的备份和存档 S3 存储桶,以便您可以相应地分配成本。

您的备份脚本和应用程序可以使用您创建的备份和存档 S3 存储桶,来存储应用程序和工作负载数据的时间点快照。可以创建标准 S3 前缀来帮助整理时间点数据快照。例如,如果您创建每小时备份,请考虑使用备份前缀,例如 YYYY/MM/DD/HH/<WorkloadName>/<files...>。通过执行此操作,您可以手动或以编程方式快速检索时间点备份。

使用 Amazon S3 版本控制来自动维护回滚历史记录

您可以启用 S3 对象版本控制来维护对象更改的历史记录,包括恢复到先前版本的功能。这对配置文件和其他对象非常有用,因为这些文件和对象的更改频率可能会超过时间点备份计划。对于必须单独还原的文件,它也很有用。

使用 Amazon S3 备份和恢复 AMI 的自定义配置文件

具有对象版本控制功能的 Amazon S3 可以成为您的工作负载配置和选项文件的记录系统。例如,您可以使用由 ISV 维护的标准 AWS Marketplace Amazon EC2 映像。此映像可能包含其配置保存在多个配置文件中的软件。您可以在 Amazon S3 中维护您的自定义配置文件。当您的实例启动时,您可以将这些配置文件作为实例用户数据的一部分复制到您的实例。应用此方法时,您无需自定义和重新创建 AMI 即可使用更新的版本。

在自定义备份和还原过程中使用 Amazon S3

Amazon S3 提供了一个通用备份存储,您可以将其快速集成到现有的自定义备份流程中。您可以使用 AWS CLI、AWS 软件开发工具包和 API 操作,来集成使用 Amazon S3 的备份和还原脚本和流程。例如,您可能有一个执行夜间数据库导出的数据库备份脚本。您可以自定义此脚本,将夜间备份复制到 Amazon S3 以进行异地存储。有关如何执行此操作的概述,请参阅分批将文件上传到云教程。

您可以采用类似的方法根据不同应用程序的 RPO 为其导出和备份数据。此外,您可以使用 AWS Systems Manager 在托管实例上运行备份脚本。Systems Manager 为您的各个备份过程提供自动化、访问控制、计划、记录和通知。

保护 Amazon S3 中的备份数据

数据安全是一个普遍关注的问题,并且 AWS 非常重视安全性。安全是每项 AWS 服务的基础。Amazon S3 提供针对静态数据和传输中数据的访问控制及加密功能。所有 Amazon S3 端点都支持 SSL/TLS 来对传输中的数据进行加密。可以通过执行以下操作为静态对象设置加密:

可以使用 AWS Identity and Access Management(IAM)控制对 S3 对象的访问权限。IAM 可让您控制 S3 存储桶中单个对象和特定前缀路径的权限。可以使用通过 AWS CloudTrail 进行对象级日志记录来审核对 S3 对象的访问权限。