Amazon S3 将数据作为对象存储在被称为“存储桶”的资源中。您可以在一个存储桶中尽可能多地存储对象,并写入、读取和删除您的存储桶中的对象。对象大小最多可为 5 TB。

您可以控制对存储桶的访问权限(例如,控制谁能在存储桶中创建、删除和检索对象)、查看该存储桶的访问日志及其对象,并选择存储桶存储所在 AWS 区域以优化延迟性、最大程度降低成本或满足法规要求。

立即使用 AWS

免费试用 Amazon S3

AWS 免费套餐包括由 Amazon S3 提供的 5GB 存储空间、20000 个 Get 请求和 2000 个 Put 请求。

查看 AWS 免费套餐详细信息 »

S3_ProductPage_Banner

Amazon S3 设计为完整的存储平台。考虑每 GB 所包含的所有权价值。

简易性。Amazon S3 旨在实现简易性,借助基于 Web 的管理控制台和移动应用程序以及完整的 REST API 和软件开发工具包,能够与第三方技术轻松集成。

持久性。Amazon S3 面向全球多个区域提供,在每个区域均实现了地理冗余并且提供跨区域复制选项。此外,它还可以预留一个对象的多个版本,以进行时间点恢复。

可扩展性。世界各地的客户每天都依赖于 Amazon S3 来保护数万亿对象的安全。借助 Amazon S3,可按需增加和减少成本,并可在几分钟内完成全局部署。金融服务、医疗保健、媒体和娱乐等行业可使用它来构建大数据、进行分析、转码并归档应用程序。

安全性。Amazon S3 支持通过 SSL 进行数据传输,并支持自动加密上传的数据。您还可以配置存储桶策略来使用 AWS Identity and Access Management (IAM) 管理对象权限并控制对数据的访问。

随时查询。Amazon S3 Select 使用静态存储处理对象内的数据,借助 Amazon Athena 和 Amazon Redshift Spectrum,您可以直接对 S3 中存储的数据运行复杂的分析。

与其他 AWS 服务广泛集成,以实现安全性 (IAM 和 KMS)、提醒 (CloudWatch、CloudTrail 和事件通知)、计算 (Lambda) 以及数据库 (EMR、Redshift) 功能,并且可直接与 Amazon S3 集成。

云数据迁移选项。AWS 存储包括包括多种专业方法,可帮助您将数据迁入和迁出云。

灵活的存储管理。借助 S3 存储管理功能,您可以通过数据驱动的方法实现存储优化、保证数据安全和提高管理效率。


借助 Amazon S3 存储管理功能,您可以通过数据驱动的方法实现存储优化、满足合规要求和提高管理效率。这些功能可以配合使用,不仅有助于提高工作负载性能、满足合规要求、简化业务工作流程,还能启用更智能的存储分级来优化存储成本和性能。

了解更多

Amazon S3 通过 S3 控制台、软件开发工具包或 ISV 集成即可访问。S3 受适用于 Java、PHP、.NET、Python、Node.js、Ruby 的 AWS 开发工具包以及 AWS 移动软件开发工具包支持。软件开发工具包库具有底层 REST API,可以简化编程任务。

了解更多

Amazon S3 提供耐久的基础设施存储重要数据,其设计旨在为对象提供 99.999999999% 的耐久性。您的数据将跨多个设施和在各个设施的多个设备间冗余存储。

了解更多

Amazon 提供多种云数据迁移选项,使您能够通过简单且经济高效的方法将大量数据移出 Amazon S3。将数据传入或传出 S3 时,客户可以选择针对网络优化的方法、基于物理磁盘的方法或第三方连接器方法。

了解更多

Amazon S3 支持多种机制,使您能够控制和监控访问您数据的人员以及他们的访问方式、时间以及位置。VPC 端点允许您无需网关或 NAT 实例即可创建一个安全的连接。

了解更多

除了 S3 Standard,还有低成本的 Standard – Infrequent Access 选项可用于非频繁访问数据,Amazon Glacier 也能以尽可能低的成本归档冷数据。

了解更多

借助 Amazon S3 Select (目前为预览版),您的应用程序能够在无需检索存储的情况下扫描和筛选数据,从而提升性能并降低复杂分析的成本。

了解更多


Amazon 提供一套可更快速地分析和处理云中大量数据的工具,包括优化现有工作流并将其与 Amazon S3 集成的方法。 

Amazon S3 Select 旨在采用更快且更便宜的方式,帮助分析和处理 Amazon S3 存储桶对象内的数据。它的工作原理是,通过使用简单的 SQL 表达式,提供从 Amazon S3 内对象中检索数据子集的功能。您的应用程序不必再使用计算资源即可扫描和筛选对象内的数据,从而使查询性能提升最高达 400%,使查询成本降低最高 80%。您只需更改要使用 SELECT 的应用程序即可,无需更改 GET 即可使用 S3 Select。预览版推行期间,S3 Select 仅可通过 API 访问,且仅在 AWS 美国东部 (俄亥俄州)、美国东部 (弗吉尼亚北部)、美国西部 (俄勒冈州)、欧盟 (爱尔兰) 和亚太地区 (新加坡) 地区推出。预览版推行期间,S3 控制台和命令行界面 (CLI) 不可用。

Amazon Athena 是一种交互式查询服务,让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 属于无服务器服务,因此您无需管理任何基础设施,只需为您运行的查询付费。

Athena 简单易用。只需指向您存储在 Amazon S3 中的数据,定义架构并使用标准 SQL 开始查询。在数秒内可交最多的结果。借助 Athena,您无需执行复杂的 ETL 任务来准备数据,以便进行分析。这样一来,具备 SQL 技能的任何人都可以轻松快速地分析大规模数据集。

Amazon Redshift 还包含 Redshift Spectrum,让您可以对 Amazon S3 中的 EB 级非结构化数据直接运行 SQL 查询。不需要加载或转换,并且您可以使用 Avro、CSV、Grok、ORC、Parquet、RCFile、RegexSerDe、SequenceFile、TextFile 和 TSV 等开源数据格式。Redshift Spectrum 可以根据检索的数据自动扩展查询计算容量,因此针对 Amazon S3 的查询速度非常快,不受数据集大小的影响。

Amazon S3 让您能够轻松管理数据,方法是向您直观显示数据使用模式并提供工具来通过管理策略管理存储。所有这些管理功能都可以使用 Amazon S3 APIAWS 管理控制台轻松管理。下面将详细介绍 Amazon S3 提供的各种数据管理功能。

借助 Amazon S3 对象标记,您可以管理并控制对 Amazon S3 对象的访问。S3 对象标签是适用于 S3 对象的键值对,在对象的生命周期内,可随时创建、更新或删除这些标签。借助这些标签,您将能够创建 Identity and Access Management (IAM) 策略,设置 S3 生命周期策略以及自定义存储指标。然后,可以使用这些对象级标签管理后台中存储类别与过期对象之间的转换。

S3 清单是 Amazon S3 同步 LIST API 的预定备选方案,使用它可以简化业务流程和大数据作业,并提升其处理速度。S3 清单可针对 S3 存储桶或前缀每日或每周提供一次您的对象及其对应元数据的 CSV (逗号分隔值) 或 ORC (优化的行列式) 文件输出。对于业务、合规性和监管需求,您还可以通过 S3 清单轻松审核和报告对象加密状态。

借助存储级别分析,您可以监控 S3 存储桶中对象的访问频率,以便将访问不太频繁的存储过渡到成本较低的存储级别。这种新的 S3 分析功能通过观察使用模式来检测不常访问的存储,从而帮助您将相应对象过渡到 S3 Standard-IA。您可以配置存储级别分析策略来监视整个存储桶、前缀或对象标签。S3 分析功能检测到数据应过渡到 Standard-IA 后,您可以基于这些结果轻松创建新的生命周期策略。此外,该功能每天还会在指定的存储桶、前缀或标签级别详细分析存储使用情况,您可以将分析结果导出到 S3 存储桶。 

Amazon S3 CloudWatch 集成会根据大量不同指标提供经过集成的监控和提醒功能,从而帮助您改善最终用户体验。您可以收到 1 分钟 CloudWatch 指标、设置 CloudWatch 提醒和访问 CloudWatch 控制面板,从而查看 Amazon S3 存储的实时运营和性能。对依赖于云存储的 Web 和移动应用程序而言,这些功能使您可以快速识别运营问题并采取措施。这些 1 分钟指标在 S3 存储桶级别提供。此外,您还可以为使用共享前缀或对象标签收集的指标灵活地定义筛选条件,这样您便可使各项指标筛选条件满足特定业务应用程序、工作流程或内部组织的需求。

您可以使用 AWS CloudTrail 捕捉 S3 对象上的存储桶级 API 活动 (管理事件) 和对象级 API 活动 (数据事件)。数据事件包括 GET、HEAD 和 Get Object ACL 等读取操作,以及 PUT 和 POST 等写入操作。捕捉的详细信息可为多种类型的安全性、审计、监管与合规性使用案例提供支持。有关 S3 数据事件的更多信息,请访问 AWS CloudTrail 页面

Amazon S3 可以随着数据的不断变化自动分配并更改成本和性能特征。它甚至还可以自动执行常见的数据生命周期管理任务,包括容量预置、自动迁移到成本较低的层级,以及监管合规性策略和最终的计划删除任务。

随着数据老化,或者在硬件故障或到达使用寿命时,Amazon S3 会自动并且透明地负责将您的数据迁移到新硬件上。这种机制让您不必执行昂贵、耗时且风险极大的硬件迁移。您可以设置生命周期策略,指示 Amazon S3 自动将老化数据迁移到成本较低的存储。基于数据的使用年限,您可以定义规则,将 Amazon S3 对象自动迁移到 Standard – Infrequent Access (Standard – IA) 或 Amazon Glacier。  您可以按存储桶、前缀或对象标签设置生命周期策略,以便指定最符合自身情况的粒度。

一旦数据结束了其生命周期,Amazon S3 还提供编程选项,用于删除重复和大量数据。对于重复删除,可以将规则定义为在预定义的时间段后删除对象集。这些规则可用于存储在 Standard 或 Standard – IA 中的对象,也适用于已经归档到 Amazon Glacier 的对象。

您还可以对 Amazon S3 对象的版本定义生命周期规则以降低存储成本。例如,当不再需要对象的较旧版本时,您可以创建规则来自动将其完全删除,既能节省资金又可提高性能。除此之外,您还可以创建规则来将较旧的版本自动迁移到 Standard – IA 或 Amazon Glacier,从而进一步降低您的存储成本。

跨区域复制 (CRR) 使得将新对象复制到任何其他 AWS 区域变得非常简单,从而减少延迟、合规性、灾难恢复和其他一些使用案例。CRR 会将每个上传到来源存储桶的对象复制到您选择的不同 AWS 区域中的目标存储桶中。与对象关联的元数据、ACL 和对象标签也是复制的一部分。针对来源存储桶配置 CRR 后,只要更改对象的数据、元数据、ACL 或对象标签,就会触发向目标存储桶执行新的复制操作。

CRR 是存储桶级配置,您可以通过指定其他区域中的目标存储桶,在您的存储桶上启用 CRR。通过 CRR,您可以根据需要,选择任何 AWS 区域作为目标区域,或者任何 S3 存储类作为复制存储。您可以跨账户设置 CRR,并在来源和目标之间拥有截然不同的所有权堆栈。CRR 是存储桶级的配置,可以使用 AWS 管理控制台、REST API、AWS CLI 或 AWS 软件开发工具包指定不同区域中的目标存储桶,来对存储桶启用 CRR。要启用 CRR,必须对来源存储桶和目标存储桶都打开版本控制功能。了解更多

Amazon S3 提供了多种用于管理和控制成本的功能。您可以使用 AWS 管理控制台和 Amazon S3 API 为 Amazon S3 存储段添加标签,以便您将成本分配到多个业务维度,包括成本中心、应用程序名称或拥有者。然后,您可以使用 Amazon Web Services 的成本分摊报告 (其中显示了按存储桶标签统计的使用情况和成本) 来查看这些成本的明细。有关成本分摊和标记的更多信息,请访问关于 AWS 账户计费。有关为 Amazon S3 存储段添加标签的详细信息,请参阅 Amazon S3 开发人员指南中的为存储桶添加标签主题。

您可以使用 Amazon CloudWatch 接收账单通知,帮助您了解 Amazon S3 的账单明细。您也可以创建电子邮件通知,自动提醒您预计的费用已经达到了您设定的限值。有关账单提醒的详细信息,您可以访问账单提醒页面或查看 Amazon CloudWatch Developer Guide 中的 Monitor Your Estimated Charges 主题。

Amazon S3 事件通知可在响应对 Amazon S3 中上传或存储之对象采取措施时发送。通知消息可通过 Amazon SNS 或 Amazon SQS 发送,或直接传送到 AWS Lambda 中以调用 AWS Lambda 功能。

Amazon S3 事件通知可使您运行工作流、发送警报或执行为响应 Amazon S3 中存储之对象的更改而作的其他操作。您可以使用 Amazon S3 事件通知来设置触发器以执行各种操作,包括在上传媒体文件时转码,在数据文件可用时进行处理以及将 Amazon S3 对象与其他数据存储进行同步。您还可以根据对象名前缀和后缀来设置事件通知。例如,您可以选择接收以“images/”开头的对象名的通知。它还可用于使 Amazon S3 对象的二级索引保持同步。

您可以在存储桶级设置 Amazon S3 事件通知,然后通过 Amazon S3 控制台、REST API 或使用 AWS 软件开发工具包对其进行配置。

要了解更多信息,请访问 Amazon S3 开发人员指南中的配置 Amazon S3 事件通知主题。


Amazon S3 为任务关键型和主要数据存储提供了高度持久的存储基础设施。Amazon S3 将数据冗余存储在多个设施中,也存储在每个设施内的多个设备上。为了提高耐久性,Amazon S3 在确认数据已成功存储之前将数据同步存储在多个设施中。此外,Amazon S3 还会在存储或检索数据时对所有网络流量计算校验和,以检测数据包是否损坏。与传统系统需要费时耗力的数据验证和手工修复方式不同的是,Amazon S3 可以定期执行系统的数据完整性校验,并且内置了自动的自我修复能力。

标准是:

  • Amazon S3 服务等级协议作为后盾,以实现可用性。
  • 设计目的是在指定年度内为对象提供 99.999999999% 的持久性和 99.99% 的可用性。
  • 能够承受同时两个设施中的数据丢失。

Standard – Infrequent Access 是:

  • Amazon S3 服务等级协议作为后盾,以实现可用性。
  • 设计目的是在指定年度内为对象提供 99.999999999% 的持久性和 99.9% 的可用性。
  • 能够承受同时两个设施中的数据丢失。

Amazon Glacier 是:

  • 设计目的是在指定年度内为对象提供 99.999999999% 的持久性。
  • 能够承受同时两个设施中的数据丢失。

Amazon 拥有一系列工具 (包括优化或更换网络的方法,以及将现有工作量与 S3 集成的方法),可以加快数据向云中迁移的速度。

Amazon S3 Transfer Acceleration 旨在最大限度地提高远距离传输到 Amazon S3 存储桶的速度。它是通过在一个高度优化的网桥上传递 HTTP 和 HTTPS 流量来发挥作用的,该网桥在距离您客户端最近的 AWS 边缘站点和 Amazon S3 存储桶之间运行。无需管理网关服务器,无需开启防火墙,无需集成特殊端口或客户端,也无需支付预付费用。您只需更改您的应用程序用来传输数据的 Amazon S3 终端节点,系统便会自动实施加速。如果您符合以下几种情况,请使用 Transfer Acceleration:

  • 需要从距离存储桶较远的客户端 (例如,跨不同国家/地区或大洲) 更快地上传。
  • 客户端位于您的数据中心之外,需要依赖公共 Internet 才能访问 Amazon S3。对于位于您数据中心内部的客户端,请考虑使用 AWS Direct Connect

了解更多

从 PB 级到 EB 级,AWS 数据迁移服务可以使用安全的设备将大量数据传入和传出 Amazon S3。AWS Snowball、AWS Snowball Edge 和 AWS Snowmobile 可以应对大规模数据传输带来的常见问题,其中包括网络成本高、传输时间长以及安全问题。数据传输简单、快速、安全,并且成本可以低到高速 Internet 费用的五分之一。

了解更多

利用 AWS Storage Gateway,您可以将位于本地的数据或存储系统轻松链接到 Amazon S3。这意味着您现有的系统、软件、流程和数据可以精简到云中,以最小的中断率进行备份、迁移、分层或突增。

了解更多

许多 ISV 合作伙伴均集成了 Amazon S3,以便简化数据传输和检索。请访问 AWS 存储合作伙伴解决方案页面,查看获批的 AWS 合作伙伴解决方案列表。


默认情况下,Amazon S3 中存储的数据是安全的;只有存储桶和对象所有者才能访问他们创建的 Amazon S3 资源。Amazon S3 支持多种访问控制机制以及加密方式,以确保安全传输和静态数据的安全存储。借助 Amazon S3 的数据保护功能,您可以保护数据以防出现逻辑和物理故障,防止因用户意外操作、应用程序错误及基础设施故障而导致数据丢失。对于必须遵守 PCI 和 HIPAA 等法规标准的客户,Amazon S3 的数据保护功能可作为实现合规性的总体策略的一部分。下面将详细介绍 Amazon S3 提供的各种数据安全和可靠性功能。

Amazon Macie 使用机器学习自动发现、分类和保护 AWS 中的敏感数据。Amazon Macie 可识别个人身份信息 (PII) 或知识产权等敏感数据,并为您提供控制面板和警报,使您可以看到这些数据是如何被访问或移动的。这一完全托管的服务可持续监控数据访问活动异常,并在检测到未经授权的访问风险或意外数据泄漏时发出详细警报。

Amazon S3 支持多种机制,使您能够灵活控制访问您数据的人员以及他们的访问方式、时间以及位置。Amazon S3 提供了四种不同的访问控制机制:AWS Identity and Access Management (IAM) 策略、访问控制列表 (ACL)、存储桶策略以及查询字符串身份验证。IAM 让组织能够在一个 AWS 账户下创建和管理多个用户。通过 IAM 策略,您可以细化IAM 用户对 Amazon S3 桶或对象的控制权。您可以使用 ACL 选择性地添加 (授予) 对个别对象的特定权限。Amazon S3 存储桶策略可用来添加或拒绝对单一桶内的部分或所有对象的权限。使用查询字符串身份验证,您能够通过仅在规定时间段内有效的 URL 共享 Amazon S3 对象。

S3 控制台会突出显示您可以公开访问的 S3 存储桶,并且,如果存储桶策略或存储桶 ACL 发生更改,使存储桶可公开访问,则会向您发出警告。

现在,您可以使用 VPC 终端节点,从 Amazon Virtual Private Cloud (Amazon VPC) 访问 Amazon S3。VPC 终端节点易于配置并提供到 Amazon S3 的可靠连接,无需 Internet 网关或网络地址转换 (NAT) 实例。借助 VPC 终端节点,Amazon VPC 与 Amazon S3 之间的数据在 Amazon 网络内传输,以帮助保护您的实例,使其不受 Internet 流量的影响。Amazon VPC endpoints for Amazon S3 提供多级安全控制,以帮助限制到 S3 存储桶的访问。首先,您可以使用 VPC 终端节点要求从 VPC 发出到 Amazon S3 存储桶的请求。您可以控制允许通过特定 VPC 终端节点访问哪些请求、用户或组。

您可以使用 HTTPS 协议通过 SSL 加密终端节点将数据安全地上传到 Amazon S3 或从中下载数据。Amazon S3 可自动加密您的静态数据,并让您从多种密钥管理方式中进行选择。如果传入的存储请求没有加密信息,则可以将您的 S3 存储桶配置为在 S3 中存储它们之前自动加密对象。或者,您可以使用类似 Amazon S3 加密客户端这样的客户端加密库来对上传到 Amazon S3 的数据进行加密。

如果您选择让 Amazon S3 通过服务器端加密 (SSE) 来加密您的静态数据,Amazon S3 将在写入时自动加密您的数据并在检索时自定解密您的数据。当 Amazon S3 SSE 加密静态数据时,它将使用高级加密标准 Advanced Encryption Standard (AES) 256 位对称密钥。如果您选择 Amazon S3 服务器端加密,则有三种方式可管理加密密钥。

 

Amazon S3 SSE 密钥管理 (SSE-S3)

利用 SSE-S3,Amazon S3 将加密您的静态数据并为您管理加密密钥。

 

客户提供密钥 SSE (SSE-C)

利用 SSE-C,Amazon S3 将使用您提供的自定义加密密钥加密您的静态数据。要使用 SSE-C,只需将您的自定义加密密钥包含在您的上传请求中,这样 Amazon S3 将使用该密钥加密对象并安全存储静态的加密数据。同样地,要想检索加密对象,请提供您的自定义加密密钥,这样 Amazon S3 将以检索的一部分来解密对象。Amazon S3 不会随处存储您的加密密钥;当 Amazon S3 完成您的请求后密钥即会被立即丢弃。

 

AWS KMS SSE (SSE-KMS)

利用 SSE-KMS,Amazon S3 将使用您在 AWS Key Management Service (KMS) 中管理的密钥加密您的静态数据。使用 AWS KMS 进行密钥管理有几项好处。 利用 AWS KMS,会设置几个单独的主密钥使用权限,从而提供额外的控制层并防止 Amazon S3 中存储的对象受到未授权访问。AWS KMS 提供审查跟踪,因此您能看到谁使用了您的密钥在何时访问了哪些对象,还能查看用户在没有解密数据的权限下所作的访问数据失败尝试次数。此外,AWS KMS 还提供额外的安全控制,从而支持客户努力符合 PCI-DSS、HIPAA/HITECH 和 FedRAMP 行业要求。

 

有关更多信息,请参考 Amazon S3 开发人员指南中的使用数据加密主题。

Amazon S3 还能够记录对 Amazon S3 资源所做的请求。您可以配置 Amazon S3 桶,针对该桶的请求创建访问日志记录。这些服务器访问日志可捕获对桶或其中的对象发出的所有请求,还可用于审核目的。

有关 Amazon S3 中安全功能的更多信息,请参阅 Amazon S3 开发人员指南 中的 访问控制主题。有关 AWS (包括 Amazon S3) 安全性的概述,请参阅 Amazon Web Services: Overview of Security Processes 文档。

Amazon S3 通过版本控制功能提供了进一步的保护。对于 Amazon S3 存储桶中存储的每个对象,您可以使用版本控制功能来保存、检索和还原它们的各个版本。这样,您就能够轻松的从用户意外操作和应用程序故障中恢复数据。默认情况下,请求将会检索最新写入的版本。通过在请求中指定版本,可以检索对象的较旧版本。每个存储的版本均需收取存储费。您可以配置生命周期规则,以自动控制生命周期和存储多个版本的成本。

Amazon S3 为多重验证 (MFA) 删除提供额外的安全性。该功能启用时需要使用多重验证设备来删除 Amazon S3 中存储的对象,从而帮助保护对象的以前版本。

通过在 Amazon S3 存储段上启用 MFA 删除,您可以仅更改存储段的版本控制状态,或在您同时提供两种形式的身份验证时,永久删除数据元版本:

  • 您的 AWS 账户证书
  • 在已批准的身份验证设备上显示的有效序列号、空格和 6 位代码的组合

了解更多

Amazon S3 支持查询字符串身份验证,这让您可以提供一个仅在定义的时长内有效的 URL。此限时 URL 可用于软件下载或其他应用程序等情境,而您想在其中限制用户对对象的访问时长。了解更多