对象存储策略 - 通过 Amazon S3 实现的数据管理优化
系统地介绍从 S3 存储类别的选择到生命周期策略、版本控制和复制的对象存储设计策略。
对象存储的演进与 S3 的先发优势
Amazon S3 于 2006 年作为 AWS 最早的服务之一发布,成为云对象存储的事实标准。S3 提供 99.999999999%(11 个 9)的持久性。在 S3 Standard 和 S3 Standard-IA 等分布在多个可用区的存储类别中,会自动将数据冗余存储到 3 个以上的可用区。另一方面,S3 One Zone-IA 和 S3 Express One Zone 是在单个可用区中保存数据的设计。因此,需要以可用区发生故障时会受到影响为前提进行选择,这是单价低和低延迟的代价。在本地存储系统中,为了实现同等的持久性,需要跨多个数据中心的复制配置,硬件成本和运维成本会变得庞大。S3 支持最大 50 TB 的对象大小(截至 2026 年 10 月),每个存储桶的对象数量不受限制,支持任何规模的数据管理。S3 的 API 作为行业标准被广泛采用,许多第三方工具和服务都支持 S3 兼容 API。
通过存储类别实现成本优化
(截至 2026 年 8 月 / 美国东部(弗吉尼亚北部)/ 亚太地区(东京))S3 官方列出的存储类别共有 9 种。它们是 S3 Standard、S3 Intelligent-Tiering、S3 Express One Zone、S3 Standard-IA、S3 One Zone-IA、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive、S3 Outposts,根据数据的访问模式选用不同的成本结构。S3 Standard 面向频繁访问的数据,前 50 TB 为每 GB 每月 0.023 美元(弗吉尼亚北部)/ 0.025 美元(东京)。S3 Intelligent-Tiering 会根据访问模式的变化自动将数据移动到最合适的层级,不收取检索费用。S3 Express One Zone 是放置在单个可用区、以个位数毫秒级访问为目标的存储类别。官方文档说明其与 S3 Standard 相比访问速度最高快 10 倍,请求单价低 50%。面向低频访问的 S3 Standard-IA 为每 GB 每月 0.0125 美元 / 0.0138 美元,S3 One Zone-IA 为 0.01 美元 / 0.011 美元。与 S3 Standard 的前 50 TB 相比,存储单价方面 Standard-IA 约为 54%(东京约为 55%),One Zone-IA 约为 43%(东京约为 44%)的水平。不过,这些存储类别有最短存储期限(S3 Standard-IA 和 S3 One Zone-IA 为 30 天)和按检索容量计费。因此,对于短期内就结束保存的数据或检索频率高的数据,总费用可能会反转。S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive 面向归档数据。Deep Archive 则处于更低的单价区间。但由于其检索时间和最短存储期限的条件最为严格,请不要只凭单价选择,并结合官方 S3 定价表中的最新条件进行确认。以下是设置 S3 生命周期策略的 CLI 示例。 aws s3api put-bucket-lifecycle-configuration --bucket my-data-bucket --lifecycle-configuration '{"Rules": [{"ID": "OptimizeCost", "Status": "Enabled", "Filter": {"Prefix": ""}, "Transitions": [{"Days": 30, "StorageClass": "STANDARD_IA"}, {"Days": 90, "StorageClass": "GLACIER_IR"}, {"Days": 180, "StorageClass": "DEEP_ARCHIVE"}]}]}' 设置 S3 生命周期策略后,可以根据数据经过的天数自动迁移存储类别,在无需手动管理的情况下持续进行成本优化。
数据保护与安全功能
S3 在数据保护方面提供多层次的安全功能。服务器端加密有 SSE-S3、SSE-KMS、SSE-C 几种方式,使用 SSE-C 时由用户管理加密密钥。自 2023 年 1 月起,所有新对象默认都会使用 SSE-S3 进行加密。S3 Object Lock 提供 WORM(Write Once Read Many)模型,实现基于合规要求的数据防篡改。启用版本控制后,会保留对象的所有版本,可以从误删除或覆盖中恢复。S3 Access Points 按用途分离对存储桶的访问,即使在数百个应用程序访问同一存储桶的环境中,也实现细粒度的访问控制。MFA Delete 可以在已启用版本控制的存储桶上设置,启用后,可以对更改存储桶的版本控制状态和永久删除对象版本要求多重身份验证。只有存储桶所有者的根用户才能进行设置,无法从管理控制台启用,需要使用 AWS CLI 或 API,另外请注意它不能与生命周期配置同时使用。
以 S3 为中心的数据湖与分析
S3 作为数据湖的基础被广泛采用,可以统一存储结构化数据、半结构化数据和非结构化数据。过去,S3 Select 和 Glacier Select 被用于直接用 SQL 查询对象内的数据。但官方文档中有 S3 Select 不再向新客户提供的公告(截至 2026 年 8 月)。Glacier Select 所属的基于 Vault 的旧 Amazon Glacier 服务也已停止接受新客户。当前的标准方式是 Amazon Athena,可以直接用 SQL 分析 S3 上的数据,并且可以在无需 ETL 处理的情况下执行即席查询。如果希望在获取时加工对象,可以使用 S3 Object Lambda 通过自己的代码转换 GET / LIST / HEAD 的响应。但该功能自 2025 年 11 月 7 日起也仅限于现有用户和部分 AWS 合作伙伴,因此今后新构建时,以使用 Athena 进行分析或在应用程序侧进行筛选为前提进行设计。AWS Glue 作为数据目录自动检测 S3 上数据的架构,并通过 ETL 作业进行数据的转换和整合。使用 S3 的事件通知功能,可以以对象的创建或删除为触发器运行 Lambda 函数,从而能够将数据管道自动化。S3 Transfer Acceleration 利用 CloudFront 的边缘站点,将来自远程地点的上传速度最高提升 500%。在本地存储系统中,为了实现与这类分析服务的整合,需要另外构建数据集成平台。
发挥持久性和可扩展性的设计
S3 具备极高的持久性和无需考虑容量的可扩展性。以这些特性为前提,设计的思路会变得开阔。由于可以大大减少对数据丢失的担忧,可以放心地将其用作重要数据的存放位置。由于可以不必顾虑容量上限,原样接收不断增长的数据,因此适合作为日志、传感器数据和备份的积累位置。由于会自动扩展以便在处理海量对象时也保持性能,因此也会跟上访问量的增长。将坚固且可无限扩展的存储作为基础加以利用,会带来能够长期支撑数据平台的设计。
总结 - 对象存储策略的最优解
Amazon S3 作为对象存储的事实标准,覆盖数据管理的各个方面。通过 S3 Intelligent-Tiering 与生命周期策略的组合,可以在无需手动管理的情况下持续进行成本优化。无论数据的规模和类型如何,都可以组合存储类别、生命周期和数据保护功能来满足需求,因此可以将 S3 作为适用于广泛工作负载的存储基础纳入设计。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。