什么是 S3 Express One Zone? - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

什么是 S3 Express One Zone?

Amazon S3 Express One Zone 是高性能的单区 Amazon S3 存储类,专门用于为延迟要求极高的应用程序提供稳定的毫秒级数据访问。S3 Express One Zone 是目前具有极低延迟的云对象存储类,相比 S3 Standard,其数据访问速度要快 10 倍,且请求成本低 50%。请求的完成速度实现了数量级的提升,应用程序可以直接从中获益。S3 Express One Zone 提供与其他 S3 存储类相似的性能弹性。与 Amazon S3 一样,您无需事先规划或预置容量或吞吐量需求。您可以根据需要纵向扩展或缩减,并通过 Amazon S3 API 访问数据。

S3 Express One Zone 是第一种可以在其中选择单个可用区的 S3 存储类,您可以选择将您的对象存储与计算资源联合托管在一个位置,从而提供尽可能高的访问速度。此外,为了进一步提高访问速度并支持每秒数十万个请求,数据存储在新的存储桶类型中:Amazon S3 目录存储桶。无论键名或访问模式如何,每个目录存储桶均可支持数十万的每秒事务数 (TPS)。

Amazon S3 Express One Zone 存储类设计为在单个可用区内提供 99.95% 的可用性,并由 Amazon S3 服务等级协议提供保障。使用 S3 Express One Zone,您的数据将冗余地存储在单个可用区中的多个设备上。S3 Express One Zone 设计为通过快速检测和修复任何丢失的冗余来处理并发设备故障。在现有设备出现故障时,S3 Express One Zone 会自动将请求转移到相同可用区内的新设备。这种冗余有助于确保不间断地访问可用区中的数据。

S3 Express One Zone 非常适合任何需要尽可能减少访问对象所需延迟的应用程序。这可以是人机交互式工作流,例如视频编辑,在这种情况下,创意专业人士需要在通过用户界面访问内容时获得快速的响应。对数据响应能力具有类似要求的分析和机器学习工作负载也可以从 S3 Express One Zone 中获益,尤其是大量访问小文件或者有大量随机访问情况时。S3 Express One Zone 可以与其他 Amazon Web Services一起使用来支持分析和 AI/ML 工作负载,例如 Amazon EMR、Amazon SageMaker 和 Amazon Athena。

使用 S3 Express One Zone 时,您可以使用网关 VPC 端点,与 Amazon 虚拟私有云 (VPC) 中的目录存储桶进行交互。借助网关端点,您可以从 VPC 访问 S3 Express One Zone,而无需为 VPC 配备互联网网关或 NAT 设备,也无需任何额外费用。

在目录存储桶上,您可以使用与通用存储桶和其他存储类上相同的 S3 API 和功能。这包括适用于 Amazon S3 的 Mountpoint、具有 Amazon S3 托管密钥的服务器端加密 (SSE-S3)、S3 批量操作和 S3 屏蔽公共访问权限。您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 或 Amazon SDK 访问 S3 Express One Zone。

有关 S3 Express One Zone 的更多信息,请参阅以下主题。

概述

为了优化性能和减少延迟,S3 Express One Zone 引入了以下新概念。

单可用区

Amazon S3 Express One Zone 存储类设计为在单个可用区内提供 99.95% 的可用性,并由 Amazon S3 服务等级协议提供保障。使用 S3 Express One Zone,您的数据将冗余地存储在单个可用区中的多个设备上。S3 Express One Zone 设计为通过快速检测和修复任何丢失的冗余来处理并发设备故障。在现有设备出现故障时,S3 Express One Zone 会自动将请求转移到相同可用区内的新设备。这种冗余有助于确保不间断地访问可用区中的数据。

可用区是 Amazon Web Services 区域 中一个或多个具有冗余电源、网络和连接的离散数据中心。创建目录存储桶时,您可以选择存储桶所在的可用区以及 Amazon Web Services 区域。

目录存储桶

Amazon S3 存储桶有两种类型:S3 通用存储桶和 S3 目录存储桶。目录存储桶仅使用 S3 Express One Zone 存储类,该类专为需要稳定的毫秒级延迟的工作负载或注重性能的应用程序而设计。通用存储桶是默认的 Amazon S3 存储桶类型,用于绝大多数 S3 应用场景。您应该选择适合您应用程序和性能要求的存储桶类型。

目录存储桶将数据按层次结构组织到目录中,而不是通用存储桶中采用的扁平存储结构。目录存储桶没有前缀限制,单个目录可以横向扩展。

目录存储桶使用 S3 Express One Zone 存储类,该类专为注重性能的应用程序使用而构建。使用 S3 Express One Zone,您可以选择单个可用区,并可以选择将您的对象存储与计算资源联合托管在一个位置,从而提供尽可能高的访问速度。这与通用存储桶不同,后者在 Amazon Web Services 区域中的多个可用区中冗余地存储对象。

有关目录存储桶的更多信息,请参阅目录存储桶。有关通用存储桶的更多信息,请参阅存储桶概述

端点和网关 VPC 端点

存储桶管理 API 操作可通过区域端点使用,被称为区域端点 API。区域端点 API 的示例包括 CreateBucket 和 DeleteBucket。创建目录存储桶后,您可以使用可用区端点 API 上传和管理目录存储桶中的对象。可用区端点 API 可通过可用区端点使用。可用区端点 API 的示例包括 PutObject 和 CopyObject。

您可以使用网关 VPC 端点从 VPC 访问 S3 Express One Zone。创建网关端点后,您可以将其添加作为路由表中的目标,用于从您的 VPC 流向 S3 Express One Zone 的流量。与 Amazon S3 一样,使用网关端点不会产生任何额外费用。有关如何配置网关 VPC 端点的更多信息,请参阅 S3 Express One Zone 联网

基于会话的授权

借助 S3 Express One Zone,您可以通过基于会话的全新机制,对请求进行身份验证和授权,该机制经过优化,可提供极低的延迟。您可以使用 CreateSession 请求临时凭证,以提供对存储桶的低延迟访问。这些临时凭证的作用范围限制为特定的 S3 目录存储桶。会话令牌仅用于可用区(对象级)操作(CopyObject 除外),并且经过优化以提供极低的延迟。有关更多信息,请参阅 创建会话

S3 Express One Zone 支持的 Amazon SDK 代表您处理会话的建立和刷新。为了保护您的会话,临时安全凭证在 5 分钟后过期。在您下载和安装 Amazon SDK 并配置 IAM 权限后,便可立即开始使用 API。

S3 Express One Zone 的功能

以下 S3 功能可用于 S3 Express One Zone。有关支持的 API 和不支持功能的完整列表,请参阅 S3 Express One Zone 有哪些不同?

访问管理和安全性

对于目录存储桶,您可以使用以下功能来审计和管理访问权限。默认情况下,目录存储桶为私有,只有被明确授予访问权限的用户才可以访问。与可以在存储桶、前缀或对象标签级设置访问控制边界的通用存储桶不同,目录存储桶只能在存储桶级设置访问控制边界。有关更多信息,请参阅 适用于 S3 Express One Zone 的 Amazon Identity and Access Management (IAM)

  • S3 屏蔽公共访问权限 – 默认情况下,所有 S3 屏蔽公共访问权限设置均在存储桶级启用。无法修改此默认设置。

  • S3 对象所有权(默认情况下为强制存储桶拥有者)– 目录存储桶不支持访问控制列表 (ACL)。目录存储桶自动为 S3 对象所有权使用强制存储桶拥有者设置,这意味着禁用 ACL,存储桶拥有者自动拥有对该存储桶中每个对象的完整控制权限。无法修改此默认设置。

  • Amazon Identity and Access Management (IAM) – IAM 有助于您安全地控制对目录存储桶的访问权限。您可以使用 IAM,通过 CreateSession 操作授予对存储桶管理(区域)操作和对象管理(可用区)API 的访问权限。有关更多信息,请参阅 适用于 S3 Express One Zone 的 Amazon Identity and Access Management (IAM)。与对象管理操作不同,存储桶管理操作不能跨账户。只有存储桶拥有者可以执行这些操作。

  • 存储桶策略 – 使用基于 IAM 的策略语言,为目录存储桶配置基于资源的权限。您还可以使用 IAM 来控制对 CreateSession API 的访问权限,这可允许您使用可用区或对象管理 API。您可以授予同账户或跨账户访问权限。有关 S3 Express One Zone 权限和策略的更多信息,请参阅适用于 S3 Express One Zone 的 Amazon Identity and Access Management (IAM)

  • 适用于 S3 的 IAM Access Analyzer – 评估和监控您的访问策略,确保这些策略仅提供对 S3 资源的预期访问权限。

日志记录和监控

S3 Express One Zone 使用 S3 日志记录和监控工具,您可以使用这些工具来监控和控制资源的使用情况。

  • Amazon CloudWatch 指标 – 使用 CloudWatch 收集和跟踪指标,以监控您的 Amazon 资源和应用程序。S3 Express One Zone 使用与其他 Amazon S3 存储类相同的 CloudWatch 命名空间(AWS/S3),并支持目录存储桶的日常存储指标:BucketSizeBytesNumberOfObjects。有关更多信息,请参阅 使用 Amazon CloudWatch 监控指标

  • Amazon CloudTrail 日志 – Amazon CloudTrail 是一项 Amazon Web Service,通过记录用户、角色或 Amazon Web Service执行的操作,协助您实现运营和风险审计、治理以及 Amazon Web Services 账户合规性。对于 S3 Express One Zone,CloudTrail 将可用区端点 API(例如 CreateBucket、PutBucketPolicy)捕获为管理事件。这包括在 Amazon Web Services Management Console、Amazon CLI、Amazon SDK 和 API 中执行的操作。S3 Express One Zone 的 CloudTrail 管理事件的 eventsources3express.amazonaws.com。有关更多信息,请参阅 Amazon S3 CloudTrail 事件

注意

S3 Express One Zone 不支持 Amazon S3 服务器访问日志

对象管理

创建目录存储桶后,您可以使用 S3 控制台、Amazon SDK 和 Amazon CLI 管理对象存储。以下功能可用于 S3 Express One Zone 的对象管理。

  • S3 批量操作 – 使用批量操作对目录存储桶中的对象执行批量操作,例如复制调用 Amazon Lambda 函数。例如,您可以使用批量操作在目录存储桶和通用存储桶之间复制对象。通过批量操作,您可以使用 Amazon SDK 或 Amazon CLI,或者只需在 Amazon S3 控制台中单击几次,即可通过单个 S3 请求大规模管理数十亿个对象。

  • 导入 – 创建目录存储桶后,您可以使用 Amazon S3 控制台中的导入功能在存储桶中填充对象。导入是一种创建批量操作作业的简化方法,用于将对象从通用存储桶复制到目录存储桶。

Amazon SDK 和客户端库

创建目录存储桶并将对象上传到存储桶后,您可以使用以下方法管理对象存储。

  • 适用于 Amazon S3 的 Mountpoint – 适用于 Amazon S3 的 Mountpoint 是一种开源文件客户端,可提供高吞吐量的访问,从而降低 Amazon S3 上数据湖的计算成本。适用于 Amazon S3 的 Mountpoint 是一种文件客户端,它将本地文件系统 API 调用转换为 S3 对象 API 调用,如 GET 和 LIST。它非常适合有大量读取操作的数据湖工作负载,在这种情况下需要处理数 PB 的数据,且需要 Amazon S3 提供的高弹性吞吐量来跨数千个实例进行纵向扩展和缩减。

  • S3A – S3A 是一种比较新的 Hadoop 兼容接口,建议将其用于访问 S3 中的数据存储。

  • Pytorch on Amazon – PyTorch on Amazon 是一个开源的深度学习框架,它简化了机器学习模型的开发以及将其部署到生产环境。

  • Amazon SDK – 开发使用 Amazon S3 的应用程序时,您可以使用 Amazon SDK。Amazon SDK 包装了底层 REST API,可以简化您的编程任务。有关将 Amazon SDK 与 S3 Express One Zone 结合使用的更多信息,请参阅开始使用 S3 Express One Zone

数据保护和加密

存储在目录存储桶中的所有对象,都使用 Amazon S3 托管式加密密钥 (SSE-S3) 自动进行加密。目录存储桶不支持具有 Amazon Key Management Service (Amazon KMS) 密钥的服务器端加密 (SSE-KMS),也不支持具有客户提供加密密钥的服务器端加密 (SSE-C)。有关更多信息,请参阅数据保护和加密使用具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)

S3 Express One Zone 可让您选择用于在上传或下载过程中验证数据的校验和算法。您可以选择以下安全哈希算法 (SHA) 或循环冗余校验 (CRC) 数据完整性检查算法之一:CRC32、CRC32C、SHA-1 和 SHA-256。S3 Express One Zone 存储类不支持基于 MD5 的校验和。

有关更多信息,请参阅 其他 S3 校验和最佳实践

Amazon 签名版本 4(SigV4)

S3 Express One Zone 使用签名版本 4(SigV4)。SigV4 是一种签名协议,用于对通过 HTTPS 发送到 Amazon S3 的请求进行身份验证。S3 Express One Zone 使用 Amazon Sigv4 对请求签名。有关更多信息,请参阅《Amazon Simple Storage Service API》参考中的验证请求 (Amazon Signature Version 4)

强一致性

在所有 Amazon Web Services 区域中,S3 Express One Zone 为针对目录存储桶中对象的 PUT 和 DELETE 请求,提供了可靠的先写后读一致性。有关更多信息,请参阅 Amazon S3 数据一致性模型

您可以将以下 Amazon Web Services与 S3 Express One Zone 存储类配合使用,以支持您的特定低延迟使用场景。

  • Amazon Elastic Compute Cloud(Amazon EC2)– Amazon EC2 在 Amazon Web Services 云 中提供安全可扩展的计算容量。使用 Amazon EC2 可减少前期的硬件投入,因此您能够快速开发和部署应用程序。您可以使用 Amazon EC2 启动所需数量的虚拟服务器,配置安全性和联网以及管理存储。

  • Amazon Lambda – Lambda 是一项计算服务,可使您无需预置或管理服务器即可运行代码。您在存储桶上配置通知设置,并向 Amazon S3 授予权限来根据函数的基于资源的权限策略调用函数。

  • Amazon Elastic Kubernetes Service (Amazon EKS) – Amazon EKS 是一项托管服务,无需在 Amazon 上安装、操作和维护自己的 Kubernetes 控制面板。Kubernetes 是一个开源系统,可以实现容器化应用程序的管理、扩缩和部署自动化。

  • Amazon Elastic Container Service (Amazon ECS) – Amazon ECS 是完全托管的容器编排服务,可协助您轻松地部署、管理和扩展容器化应用程序。

  • Amazon Athena – Athena 是一种交互式查询服务,方便通过使用标准 SQL 直接分析 Amazon S3 中的数据。您还可以使用 Athena,通过 Apache Spark 以交互方式轻松运行数据分析,无需规划、配置或管理资源。在 Athena 上运行 Apache Spark 应用程序时,您需要提交 Spark 代码以进行处理并直接接收结果。

  • Amazon Sagemaker Model Training – Amazon SageMaker 是一项完全托管式机器学习服务。借助 SageMaker,数据科学家和开发人员可以快速、轻松地构建和训练机器学习模型,然后直接将模型部署到生产就绪托管环境中。

  • Amazon Glue – Amazon Glue 是一项无服务器数据集成服务,可让使用分析功能的用户轻松发现、准备、移动和集成来自多个来源的数据。您可以将其用于分析、机器学习和应用程序开发。它还包括用于编写、运行任务和实施业务工作流程的额外生产力和数据操作工具。

  • Amazon EMR – Amazon EMR 是一个托管集群平台,可简化在 Amazon 上运行大数据框架(如 Apache Hadoop 和 Apache Spark)以处理和分析海量数据的操作。

后续步骤

有关使用 S3 Express One Zone 存储类和目录存储桶的更多信息,请参阅以下主题: