了解 S3 Express One Zone 有哪些不同 - Amazon Simple Storage Service

了解 S3 Express One Zone 有哪些不同

Amazon S3 Express One Zone 是高性能的单区 Amazon S3 存储类,专门用于为延迟要求极高的应用程序提供稳定的毫秒级数据访问。S3 Express One Zone 是第一种可以在其中选择单个可用区的 S3 存储类,您可以选择将您的对象存储与计算资源联合托管在一个位置,从而提供尽可能高的访问速度。此外,为了进一步提高访问速度并支持每秒数十万个请求,S3 Express One Zone 数据存储在新的存储桶类型中:Amazon S3 目录存储桶。

有关更多信息,请参阅 目录存储桶和 S3 Express One Zone

您可以使用 Amazon S3 API 创建目录存储桶并访问 S3 Express One Zone 中的数据。Amazon S3 API 与 S3 Express One Zone 和目录存储桶兼容,但存在一些明显的区别。有关 S3 Express One Zone 不同之处的更多信息,请参阅以下主题。

S3 Express One Zone 的不同之处

  • 支持的存储桶类型 – S3 Express One Zone 存储类中的对象只能存储在目录存储桶中。有关更多信息,请参阅 目录存储桶概述

  • 持久性 – 使用 S3 Express One Zone 时,您的数据将冗余地存储在单个可用区中的多个设备上。S3 Express One Zone 设计为在单个可用区内提供 99.95% 的可用性,并由 Amazon S3 服务等级协议提供支持。有关更多信息,请参阅 单可用区

  • ListObjectsV2 行为

    • 对于目录存储桶,ListObjectsV2 不按字母表顺序返回对象。此外,前缀必须以分隔符结尾,并且只能将“/”指定为分隔符。

    • 对于目录存储桶,ListObjectsV2 响应包含仅与正在进行的分段上传相关的前缀。

  • 删除行为 – 当您删除目录存储桶中的对象时,Amazon S3 会递归删除对象路径中的所有空目录。例如,如果您删除对象键 dir1/dir2/file1.txt,Amazon S3 会删除 file1.txt。如果 dir1/dir2/ 目录为空且不包含其他对象,Amazon S3 还会删除这些目录。

  • ETag 与校验和 – S3 Express One Zone 的实体标签(ETag)是随机的字母数字字符串,而不是 MD5 校验和。有关在 S3 Express One Zone 中使用其他校验和的更多信息,请参阅 其他 S3 校验和最佳实践

  • DeleteObjects 请求中的对象键

    • DeleteObjects 请求中的对象键必须至少包含一个非空格字符。DeleteObjects 请求中不支持完全由空格组成的字符串。

    • DeleteObjects 请求中的对象键不能包含 Unicode 控制字符,但换行符(\n)、制表符(\t)和回车符(\r)字符除外。

  • 区域端点和可用区端点 – 使用 S3 Express One Zone 时,您必须在所有客户端请求中指定区域。对于区域端点,您可以指定区域,例如 s3express-control.us-west-2.amazonaws.com。对于可用区端点,您需要同时指定区域和可用区,例如 s3express-usw2-az1.us-west-2.amazonaws.com。有关更多信息,请参阅 区域端点和可用区端点

  • 分段上传 – 与存储在 Amazon S3 中的其他对象一样,您可以使用分段上传流程,上传和复制存储在 S3 Express One Zone 存储类中的大型对象。但是,对存储在 S3 Express One Zone 中的对象使用分段上传流程时,会有以下一些区别。有关更多信息,请参阅 对目录桶使用分段上传

    • 对象的创建日期是分段上传完成的日期。

    • 分段上传的分段编号必须连续。如果您尝试使用非连续分段编号完成分段上传请求,Amazon S3 会生成 HTTP 400 (Bad Request) 错误。

    • 只有在通过 s3express:CreateSession 权限明确向分段上传的发起者授予了对 AbortMultipartUpload 的访问权限时,才能中止分段上传请求。有关更多信息,请参阅 使用 IAM 对区域端点 API 进行授权

  • 清空目录存储桶:通过 AWS Command Line Interface(CLI)执行的 s3 rm 命令、通过 Mountpoint 执行的 delete 操作以及通过 AWS Management Console执行的清空存储桶选项按钮无法删除目录存储桶中正在进行的分段上传。要删除这些正在进行的分段上传,请使用 ListMultipartUploads 操作列出存储桶中正在进行的分段上传,然后使用 AbortMultipartUpload 操作中止所有正在进行的分段上传。

  • 服务器端加密

    • 对于目录存储桶,要使用服务器端加密来加密您的数据,可以使用具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)(默认设置)或具有 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)。我们建议存储桶的默认加密使用所需的加密配置,并且不要在 CreateSession 请求或 PUT 对象请求中覆盖存储桶默认加密。然后,使用所需的加密设置自动对新对象进行加密。有关目录存储桶中加密覆盖行为的更多信息,请参阅 Specifying server-side encryption with AWS KMS for new object uploads

    • 在存储桶的生命周期内,SSE-KMS 配置只能支持每个目录存储桶 1 个 customer managed keyAWS 托管式密钥 (aws/s3) 不受支持。此外,在为 SSE-KMS 指定客户自主管理型密钥后,无法覆盖存储桶的 SSE-KMS 配置的客户自主管理型密钥。

      可以通过以下方式,确定您为存储桶的 SSE-KMS 配置指定的客户自主管理型密钥:

      • 您发出 HeadObject API 操作请求以查找响应中 x-amz-server-side-encryption-aws-kms-key-id 的值。

      要对数据使用新的客户自主管理型密钥,我们建议使用新的客户自主管理型密钥将现有对象复制到新的目录存储桶中。

    • 对于除 CopyObjectUploadPartCopy 之外的可用区端点(对象级)API 操作,可以通过 CreateSession 验证请求和为请求授权,以实现低延迟。我们建议存储桶的默认加密使用所需的加密配置,并且不要在 CreateSession 请求或 PUT 对象请求中覆盖存储桶默认加密。然后,使用所需的加密设置自动对新对象进行加密。要使用 SSE-KMS 加密目录存储桶中的新对象,必须将具有 KMS 密钥(特别是 customer managed key)的 SSE-KMS 指定为目录存储桶的默认加密配置。然后,在为可用区端点 API 操作创建会话时,将在会话期间使用 SSE-KMS 和 S3 存储桶密钥自动加密和解密新对象。有关目录存储桶中加密覆盖行为的更多信息,请参阅 Specifying server-side encryption with AWS KMS for new object uploads

    • 对于 CopyObject,要使用 SSE-KMS 加密目录存储桶中新的对象副本,必须将具有 KMS 密钥(特别是 customer managed key)的 SSE-KMS 指定为目录存储桶的默认加密配置。然后,当您使用 SSE-KMS 为新的对象副本指定服务器端加密设置时,必须确保加密密钥与您为目录存储桶的默认加密配置指定的客户自主管理型密钥相同。对于 UploadPartCopy,要使用 SSE-KMS 加密目录存储桶中新的对象分段副本,必须将具有 KMS 密钥(特别是 customer managed key)的 SSE-KMS 指定为目录存储桶的默认加密配置。无法在 UploadPartCopy 请求标头中使用 SSE-KMS 为新的对象分段副本指定服务器端加密设置。此外,您在 CreateMultipartUpload 请求中提供的加密设置必须与目标存储桶的默认加密配置相匹配。

    • 始终为目录存储桶中的 GETPUT 操作启用 S3 存储桶密钥,并且不能禁用。当您通过 CopyObjectUploadPartCopy批量操作中的 Copy 操作import 任务,将 SSE-KMS 加密的对象从通用存储桶复制到目录存储桶、从目录存储桶复制到通用存储桶,或在目录存储桶之间复制时,不支持 S3 存储桶密钥。在这种情况下,每次对 KMS 加密的对象发出复制请求时,Amazon S3 都会调用 AWS KMS。

    • 当您在目录存储桶中指定用于加密的 AWS KMS customer managed key 时,请仅使用密钥 ID 或密钥 ARN。不支持 KMS 密钥的密钥别名格式。

S3 Express One Zone 支持的 API 操作

Amazon S3 Express One Zone 存储类同时支持区域(存储桶级或控制面板)和可用区(对象级或数据面板)端点 API 操作。有关更多信息,请参阅S3 Express One Zone 联网端点和网关 VPC 端点

区域端点 API 操作

S3 Express One Zone 支持以下区域端点 API 操作:

可用区端点 API 操作

S3 Express One Zone 支持以下可用区端点 API 操作:

S3 Express One Zone 不支持的 Amazon S3 功能

S3 Express One Zone 不支持以下 Amazon S3 功能:

  • AWS 托管策略

  • 适用于 S3 的 AWS PrivateLink

  • MD5 校验和

  • 多重验证 (MFA) 删除

  • S3 对象锁定

  • 申请方付款

  • S3 访问授权

  • S3 接入点

  • 存储桶标签

  • Amazon CloudWatch 请求指标

  • S3 事件通知

  • S3 生命周期

  • S3 多区域接入点

  • S3 对象 Lambda 接入点

  • S3 版本控制

  • S3 清单

  • S3 复制

  • 对象标签

  • S3 Select

  • 服务器访问日志

  • 静态网站托管

  • S3 Storage Lens 存储统计管理工具

  • S3 Storage Lens 组

  • S3 Transfer Acceleration

  • 具有 AWS Key Management Service(AWS KMS)密钥的双层服务器端加密(DSSE-KMS)

  • 具有客户提供密钥的服务器端加密(SSE-C)

  • 在 Amazon S3 控制台中创建新存储桶时复制现有存储桶的设置的选项

  • 增强拒绝访问(HTTP 403 Forbidden)错误消息