课程
众所周知,全球生成的数据量正在飙升。根据 Statista 的研究,2010 年全球新创建的数据总量约为 2 ZB(泽字节),预计到 2025 年将达到 181 ZB。如果您不确定泽字节有多大,可以这样理解:1 个泽字节等于 10 亿个 TB(太字节),足以把有史以来的每部电影、每首歌曲和每本书保存很多遍。
数据量暴增,也就意味着对可靠、可扩展且具性价比的存储方案的需求水涨船高。Amazon S3 正是为此而生。
Amazon S3(S3 为 Simple Storage Service 的缩写)是 Amazon Web Services 的旗舰对象存储服务。它提供几乎无限的存储容量、高耐久性,以及灵活(但相对复杂)的定价。在本文中,您将了解什么是 S3、它如何工作、其关键功能,以及为什么它成为各种规模企业的首选方案。如果您想更全面地了解这一领域,不妨学习我们这两门信息量很足的课程:Understanding Cloud Computing 和 AWS Concepts。
什么是 Amazon S3?
Amazon S3 是一项全托管的对象存储服务,最早由 AWS 于 2006 年推出。其设计目标是从网络上的任意位置存储、处理和检索任意规模的数据,使其成为多种现代数据驱动应用的关键组成部分。以下是 S3 的核心组件:
- 对象(Objects):数据以“对象”的形式存储——即任意类型或大小的文件,以及描述该文件的任意元数据。单个对象最大可达 5 TB。
- 存储桶(Buckets):对象的容器。如果您要在 Amazon S3 中存储数据,首先需要创建一个存储桶,并指定存储桶名称和 AWS 区域。然后,将数据作为对象上传到该 S3 存储桶中。
- 键(Keys):存储桶中的每个对象都由唯一的“键”标识,类似于文件名。

Amazon S3 核心组件。来源:Napkin AI 制图
Amazon S3 的关键特性
下面按不分先后顺序来看这些关键特性:
1. 可扩展性
借助 AWS S3,您可以在任何时间存储任意规模的数据和处理任意规模的请求。无论是存储几 GB 还是 PB 级数据、搭建网站还是存放机器学习数据,S3 的弹性都能为您提供安全、可扩展且易用的存储方案。
2. 耐久性与可用性
Amazon S3 会在多个位置保存您的数据副本,使您几乎不可能丢失信息。凭借这种设计,服务实现了 99.999999999% 的耐久性(Amazon 称为“11 个 9”),从而最大限度降低数据丢失风险。S3 还提供稳健的服务级协议(SLA),以确保您在需要时可以访问数据。
3. 安全性
安全性始终是重中之重。使用 S3,您将获得:
- 内置加密与访问管理工具带来的数据安全。您上传到任意存储桶的每个对象都会被自动加密。
- 您可以使用 S3 阻止公共访问(Block Public Access)在存储桶级和账户级阻止所有对象的公共访问。
- S3 符合多项合规标准(PCI-DSS、HIPAA/HITECH、FedRAMP、欧盟数据保护指令、FISMA),帮助您满足监管要求。
- AWS 提供审计能力,让您可以监控谁在尝试访问您的 S3 资源。
- 通过 IAM、存储桶策略等提供细粒度的访问控制。
4. 性能
Amazon S3 专为快速传输海量数据而设计,非常适合承载重负载的应用程序。高吞吐与低延迟的访问令其成为数据密集型应用的理想之选。您还可以通过优化读写方式、在上传时将大文件拆分为更小的分段、并行发送多个请求来进一步提升性能。
5. 成本效益
得益于其按需付费模式,您仅需为所使用的存储、请求与数据传输付费。收费取决于对象大小、在当月存储对象的时长以及所选存储类别。这种灵活性使企业能够按需扩缩,避免高额的前期基础设施投入。您可以使用 AWS 定价计算器进行成本估算。
什么是 Amazon S3 存储类别?
Amazon S3 提供不同的存储类别,以匹配您数据的访问模式与成本需求:

Amazon S3 存储类别:来源:作者制图
S3 Standard
S3 Standard 是一种可靠的高性能存储选项,非常适合需要频繁访问的文件。它提供快速响应并能处理海量数据,适用于从云应用、动态网站到移动游戏和大数据分析的各种场景。
S3 Intelligent-Tiering
Amazon S3 Intelligent-Tiering 的独特之处在于,当您的数据访问模式发生变化时,它会自动降低存储成本,同时不牺牲性能,也无需您额外操作。它会持续监控您的数据使用情况,并在访问需求变化时将数据转移到最具成本效益的层级。
S3 Express One Zone
该单可用区存储类别专注于速度,为经常检索的数据和对延迟敏感的应用提供个位数毫秒级的访问。与 S3 Standard 相比,数据访问速度可提升至 10 倍,请求成本最高可降低 50%。
S3 Glacier
S3 Glacier 存储类别专为最低成本的数据归档而设计,提供高性能、灵活的检索选项以及几乎无限的可扩展性——并具备 99.999999999%(11 个 9)的耐久性。您可以根据需求和预算选择归档数据的访问速度。
S3 Glacier Instant Retrieval
S3 Glacier Instant Retrieval 是一种面向极少访问但仍需毫秒级取回的数据的归档存储类别。比如,如果您每三个月才查看一次数据,与 S3 Standard-Infrequent Access(S3 Standard-IA)相比,存储成本可节省高达 68%。在更低成本下,您仍可获得与 S3 Standard 或 S3 Standard-IA 相同的高吞吐与毫秒级访问体验。
其他
如果追求绝对的最低成本,S3 Glacier Deep Archive 提供长期归档与数字保存,但通常需要数小时才能检索到您的数据。
Amazon S3 还提供运行于 AWS Dedicated Local Zones 的存储类别。这些区域是由 AWS 管理、但专为您或您的社区部署的特殊 AWS 基础设施,并可位于您选择的特定数据中心。这有助于满足监管要求,因为数据可以留存在您需要的地点。
此外,Outposts 上的 S3 提供一个名为 “OUTPOSTS” 的存储类别。它使用标准的 S3 API,并通过在您的 Outposts 上的多台设备与服务器之间保存副本来确保数据安全。
生命周期策略
您可以设置生命周期策略来决定文件随时间推移的处理方式。比如,当数据变旧时,这些规则可以自动将对象转移到更便宜的存储类别,或在不再需要时直接删除。这样可以节省成本,让更昂贵的存储类别仅存放高优先级或高频访问的数据。
Amazon S3 如何工作?
下面更详细地探讨 S3 的工作原理。
架构
S3 基于分布式架构,在同一 AWS 区域内将您的数据复制到多个可用区(AZ)。这种架构可以防止某个可用区出现问题时导致数据丢失或不可用。正如这篇 ByteByteGo 博文所强调的,它也是 S3 能在全球范围内可靠存储数以百万亿计的对象的基础。归根结底,S3 的架构确保无论单个数据中心发生什么情况,您都能随时访问到您的文件。

Amazon S3 如何工作?来源:Napkin AI 制图
数据一致性模型
借助强一致的读写(read-after-write)模型,一旦您在 S3 中上传或更新文件,便可立即访问到最新版本。这同样适用于删除和覆盖操作,因此无需等待或执行额外步骤来确保始终使用最新数据。
版本控制与复制
您还可以设置复制,将文件自动复制到同一区域的另一个存储桶(同区域复制,SRR)或不同区域的存储桶(跨区域复制,CRR),以增强保护并帮助满足监管要求。
Amazon S3 的主要使用场景

Amazon S3 的使用场景。来源:Napkin AI 制图
- 备份与恢复:借助 Amazon S3 强大的复制功能、通过 AWS Backup 提供的数据保护以及各种 AWS 合作伙伴方案,您可以轻松满足恢复目标与合规需求。
- 数据归档:组织可以将归档数据存放在 Amazon S3 Glacier 存储类别中,以降低成本、简化管理并挖掘更多洞见。例如,BBC(英国公共服务广播机构)将其百年旗舰档案安全迁移至 Amazon S3 Glacier Instant Retrieval,确保对历史内容的快速、可靠访问。
- 内容分发与托管:许多用户直接从 S3 存储桶托管静态网站。S3 也可与 CloudFront(AWS 的 CDN)无缝集成,实现全球内容分发。
- 灾难恢复:您可以跨区域复制数据,构建稳健的 DR 方案,以应对系统故障,从而在区域性故障发生时将停机时间和数据丢失降到最低。
- 大数据与分析:S3 还可充当数据湖,并与 Amazon Athena、AWS Glue、Amazon EMR 等服务无缝集成,对大数据执行高级分析。
- 软件与对象分发:许多企业使用 S3 来可靠且大规模地分发软件二进制文件、应用更新和媒体资产。
- 生成式 AI:Amazon S3 处理超过 350 万亿个对象,每秒处理 1 亿+ 次请求,因而非常适合存储海量数据。凭借其可扩展性与可靠性,它可能是组织开启生成式 AI之旅的理想起点。
Amazon S3 的高级功能与集成
S3 Object Lambda
S3 Object Lambda 让您无需额外的服务器、代理或重复数据副本,就能为不同应用定制数据格式。其方式是使用 AWS Lambda 在从 S3 请求数据时自动进行修改。
其工作方式如下:
- 当应用从 S3 发起数据请求(GET、HEAD 或 LIST)时,S3 Object Lambda 会触发一个 AWS Lambda 函数,在返回响应前对数据进行处理与转换。
- AWS Lambda 完全无服务器,因此无需管理基础设施——仅在需要时运行您的代码。
上手也很简单:
- 在 AWS 管理控制台中,您可以通过几个简单步骤将 Lambda 函数附加到 S3 Object Lambda 访问点。
- 设置完成后,通过该访问点的每次数据请求都会自动运行您的 Lambda 函数,为应用交付定制化数据。
借助 S3 Object Lambda,您无需额外存储或复杂配置即可实时定制数据,从而让应用更高效、更灵活。
事件通知
通过 Amazon S3 事件通知,您可以在 S3 存储桶中发生特定事件时,为 Lambda、SQS 或 SNS 等服务发送警报。要进行配置,只需添加通知配置,指定您要跟踪的事件以及通知的目标位置。该配置保存在存储桶的通知子资源中,并可通过 Amazon S3 API 轻松管理。
分析与洞察
S3 Storage Lens、存储类别分析与清单报告等工具可帮助您了解存储使用与成本。S3 Storage Lens 提供组织范围的可视性,分析存储用量与趋势,并给出切实可行的数据安全与成本优化建议。它是首个为云存储提供跨多个账户统一视图的分析解决方案。
S3 Inventory(清单)会生成每日或每周的对象跟踪与管理报告,包含存储类别、加密和复制状态等元数据。这些报告有助于优化大数据工作流、安全审计与合规。
S3 存储类别分析通过跟踪访问模式,帮助您判断是否应将数据转移到更经济的存储类别。您可以使用 S3 Intelligent-Tiering(根据使用模式自动在访问层间转移数据)或 S3 生命周期规则来自动化这一过程。
Amazon S3 的安全、合规与其他优势
安全与合规同样不容忽视:
访问管理
借助 AWS 身份与访问管理(IAM)、存储桶策略、访问控制列表(ACL)以及访问点,您可以决定谁能访问您的数据,以及其可执行的操作。这在大型组织或共享环境中尤为实用。
合规认证
Amazon S3 支持诸如 PCI DSS、HIPAA、FedRAMP 等主要合规标准,非常适合对数据安全与监管合规有严格要求的行业。
加密方式
对于静态数据,您可以使用 AWS 托管密钥或客户托管密钥进行加密(SSE-S3、SSE-KMS)。对于传输中的数据,S3 通过 SSL/TLS 加密确保文件传输安全。遵循启用版本控制、使用 MFA-Delete 等最佳实践还能进一步增强数据保护策略。
凭借这些特性,Amazon S3 为各类规模的企业提供了安全、合规且灵活的存储方案。
结论
Amazon S3 是当前功能强大且可靠的云存储解决方案之一。它具有良好的可扩展性与安全性,并配备丰富特性,既适合构建大型应用,也适合打造数据湖或备份重要文件。其灵活性与成本效益使其成为各种规模企业的理想选择。
随着 AWS 持续演进 S3 存储,新的功能与集成将进一步简化数据管理。例如,我们可以预见更多由 AI 驱动的数据洞察、更深入地与容器与无服务器技术集成,以及更多自动化合规的功能。如果您希望更深入学习 AWS 与云计算,欢迎查看 DataCamp 上的以下资源来提升技能:
Amazon S3 常见问题
什么是 Amazon S3?
Amazon Simple Storage Service(Amazon S3)是一项对象存储服务,具备业界领先的可扩展性、数据可用性、安全性和性能。
S3 的常见使用场景有哪些?
常见用途包括托管静态网站、存储备份与归档、分发软件、提供媒体文件服务,以及作为分析的数据湖。
S3 如何定价?
S3 采用按需付费模式,按您存储的数据量、存储时长、所选存储类别以及请求次数计费。您只需为实际使用付费。
什么是 S3 存储类别?
它们是为不同访问模式与成本需求而设计的不同层级(如 S3 Standard、S3 Intelligent-Tiering、S3 Glacier)。您可以使用生命周期策略在它们之间转换数据。
如何基于 S3 事件实现自动化操作?
使用 S3 事件通知(Event Notifications),当存储桶中发生特定操作(如文件上传)时,触发 AWS Lambda、Amazon SQS 或 Amazon SNS 等服务。
