公司动态

  • 首页
  • 公司动态
  • 通过 Amazon S3 存储桶密钥增强读密集型工作负载的节省 存储博客

通过 Amazon S3 存储桶密钥增强读密集型工作负载的节省 存储博客

2026-01-27 14:51:27

优化重读取工作负载的存储费用:Amazon S3 Bucket Keys

由 Will Cavin、Bharath Narvaneni 和 David Kheyman 于2024年3月8日撰写,发布于 Amazon Simple Storage Service (S3)、AWS 云财务管理、AWS 身份与访问管理 (IAM)、基础知识 (100)、安全、身份与合规、存储和 思想领导。

永久链接 评论

组织在构建新的分析、机器学习和生成AI工作负载时,持续在云中扩展数据湖。同时,这些工作负载经常访问需要符合严格数据安全和隐私标准的数据。这些合规框架通常规定额外的静态加密要求,促使客户寻求提供更多自定义和控制的密钥管理服务。在云中,这些密钥管理服务的定价基于使用情况,使客户不得不寻找成本优化解决方案。

对于存储在 Amazon Simple Storage Service (Amazon S3) 中的数据,客户使用 AWS Key Management Service (AWS KMS) 来帮助遵守适用的合规要求。使用 AWS KMS 进行服务端加密 (SSEKMS) 时,会对加密和解密的密码学操作收取每次请求的 AWS KMS 费用。随着客户将工作负载扩展到数百万或数十亿个对象,AWS KMS 的成本随之增加。尤其是在重读/写应用程序中,频繁访问数据的情况使客户更加感受到这一点。为了降低成本,客户通常启用 S3 Bucket Keys 来减少 AWS KMS 请求,但发现当使用创建多个 IAM 会话的服务时,例如 Amazon EMR 或 AWS 身份与访问管理 (AWS IAM) AssumeRole 操作时,节省的成本低于预期。

在本文中,我们讨论了 S3 Bucket Keys 如何帮助降低 KMS 成本,并探讨了一项最近的增强,以特别改善重读取工作负载的节省。这项增强允许从同一 IAM 角色及匹配的范围内的策略派生的 IAM 假设角色会话共享一个桶级密钥。通过这项新改进,您可以在使用 S3 Bucket Keys 时实现更高的 AWS KMS 请求成本节省。

S3 Bucket Keys 的概述

2020 年,Amazon S3 推出了 S3 Bucket Keys,旨在帮助您降低使用 AWS Key Management Service (AWS KMS) 密钥 (SSEKMS) 的服务端加密成本。自推出以来,使用 S3 Bucket Keys 的 AWS 客户已节省超过8000万美元的 AWS Key Management Service 请求费用。

使用 S3 Bucket Keys 时,KMS 会为每个 KMS 加密对象生成一个桶级密钥,而不是为每个加密对象单独生成 KMS 数据密钥。S3 使用这个桶级密钥为桶中的对象创建唯一的数据密钥,减少了完成加密操作所需的额外 KMS 请求。这导致 S3 到 KMS 的请求流量减少,使您可以以较低的成本访问 S3 中的加密对象。

针对重读取工作负载的新增强

虽然 S3 Bucket Keys 帮助各类客户节约 KMS 请求费用,但使用临时凭证的客户,例如 AWS 安全令牌服务 (AWS STS) 的 AssumeRole 操作遇到了较少的节省。由于这些短期凭证为每个 IAM 角色会话调用新的桶级密钥,从而减少了 S3 Bucket Keys 的节省。使用数据分析服务例如 Amazon EMR的客户面临此问题时,尽管所有会话都属于同一 IAM 角色并具有相同的范围缩减策略,但仍会创建大量的 IAM 会话。

为提高客户的节省,Amazon S3 部署了一项更新,允许一个桶级密钥在派生自同一 IAM 角色和相同范围缩减 IAM 策略的所有 IAM 会话之间共享。Amazon S3 继续将调用者视为不同的请求者,当他们使用不同的角色或帐户,或者同一角色使用不同范围的策略时。这项增强使客户在使用 Amazon EMR 群集由多个 Amazon EC2 实例组成或使用相同角色和匹配范围缩减策略的 STS AssumeRole 操作时,可以提高使用桶密钥的 AWS KMS 节省。此改进无需更改您的应用程序,对新对象和现有对象加密均会生效。

成本节省的改进

在分析客户特定分析工作负载时,Amazon S3 团队观察到 KMS 请求的节省从55增加到高达99。以下是一些获得类似节省的客户的引用:

“FINRA 自 2020 年 S3 Bucket Keys 功能推出以来,立即开始在我们的 S3 数据上使用此功能,以帮助我们节省 AWS KMS 请求成本,同时仍然遵守我们的加密合规要求。随着 S3 Bucket Keys 的最新增强,我们看到我们的 KMS 成本减少了多达 50,因为更多请求可以使用 Bucket Keys。”

“Pomelo 利用 AWS 通过我们的数据湖工作负载获得新的商业洞察。我们最初使用 SSEKMS 加密所有数据,但重读取访问模式迅速产生了高额的 KMS 请求成本。为我们的新数据和现有数据实施 S3 Bucket Keys 帮助我们将 KMS 请求成本降低了 95。”

结论

许多客户有合规标准,要求他们控制加密密钥;这些客户使用 SSEKMS 和客户管理的密钥来满足这些要求。为了帮助这些客户在使用 SSEKMS 加密时节省 AWS KMS 请求费用,Amazon S3 提供了 S3 Bucket Keys。启用 S3 Bucket Keys 是对有数据加密合规要求的客户的推荐最佳实践。此功能可以帮助您节省 AWS KMS 账单,同时仍帮助您遵守数据加密标准。

在这篇博客文章中,我们回顾了 S3 Bucket Keys 在使用临时凭证时的新增强,帮助您自动节省更多 AWS KMS 账单。通过此更新,使用相同 IAM 角色和具有相同范围缩减策略的 AssumeRole 会话可以共享一个桶级密钥。此增强自动生效,无需更改您的应用程序,并且可以改善对使用 S3 Bucket Keys 加密的对象的读取和写入节省。

感谢您阅读这篇博客。如果您有任何评论或问题,请随时在评论区留言。

标签: Amazon S3 Bucket Keys、Amazon Simple Storage Service (Amazon S3)、AWS 云存储、AWS 身份与访问管理 (IAM)

作者信息

Will Cavin

Will 是 AWS Amazon S3 团队的高级技术产品经理。他热衷于帮助客户在 S3 上扩展。在加入 AWS 之前,Will 曾为美国海军担任密码学家。定居于维吉尼亚州北部,他喜欢与妻子一起进行长跑和山地自行车活动。

Bharath Narvaneni

Bharath 是 AWS 的技术客户经理。他为金融服务行业客户提供 AWS 运营支持。工作之外,他喜欢与家人共度时光并进行一日游。

飞鱼加速器官网下载入口

David Kheyman

David 是一名高级解决方案架构师,驻扎在纽约市,主要负责全球金融服务行业。在闲暇时间,他喜欢旅行和烹饪来自世界各地的菜肴。

加载评论

通过 Amazon S3 存储桶密钥增强读密集型工作负载的节省 存储博客