如何最大限度地降低 DynamoDB 成本?

1 分钟阅读
0

我想最大限度地降低我在 Amazon DynamoDB 中的成本,但我不确定该怎么做。

简短描述

首先,使用 AWS 定价计算器估算您的 DynamoDB 成本。

然后,采取以下措施来最大限度地降低 DynamoDB 成本:

  • 选择正确的容量模式和表访问权限。
  • 使用最大吞吐量。
  • 缩小全局二级索引的大小。
  • 将您的应用程序配置为使用 Query 操作。
  • 使用生存时间 (TTL) 删除旧数据。
  • 使用 AWS 拥有的密钥进行静态加密。
  • 将大型对象存储在 Amazon Simple Storage Service (Amazon S3) 中。
  • 使用简短的属性名称。
  • 使用成本分配标签。
  • 使用 AWS Budgets 和 AWS Cost Explorer 成本管理服务。

DynamoDB 会对读取、写入并将数据存储在 DynamoDB 表中进行收费。DynamoDB 还会对您开启的其他功能收费。全局表和流等可选功能根据其各自的单位计费。根据您选择的实例类型,DynamoDB Accelerator (DAX) 按小时计费。

解决方法

选择正确的容量模式和表类

为了处理对表的读写操作,DynamoDB 有两种容量模式,它们具有特定的计费选项,即按需预调配。确保根据您的需求选择正确的容量模式。按需容量模式适用于不可预测的工作负载。对于可预测的工作负载,使用预调配或预调配自动扩缩。对于稳定的工作负载,您也可以使用预留容量

根据您的表类向您收取读写请求单位和存储费。因此,请确保使用正确的表类来满足您的需求。

使用最大吞吐量

对按需表使用最大吞吐量。最大吞吐量可以优化您的吞吐量成本,帮助减少过度使用并保护下游服务。

缩小全局二级索引的大小

要减小全局二级索引的大小,请使用 KEYS_ONLYINCLUDES,而不是 ALL。减少后,使用的读取和写入容量单位较少。

将您的应用程序配置为使用 Query 操作

Scan 操作会扫描整个表或二级索引,然后筛选出结果值。为了缩短响应时间和降低成本,请配置您的表和索引,让您的应用程序使用 Query 操作。

使用 TTL 删除旧数据

如果您需要删除旧数据,请使用 TTL

使用 AWS 拥有的密钥进行静态加密

根据您的用例,您可以使用 AWS 拥有的密钥进行静态加密。AWS 拥有的密钥包含在内,不收取额外费用。但是,AWS 托管式密钥和客户自主管理型密钥可能会产生 AWS Key Management Service (AWS KMS) 费用。如果您使用全局表,则这些表会调用 AWS KMS 进行复制写入,并可能导致 AWS KMS 费用。

在 Amazon S3 中存储大型对象

如果您存储大型对象,则将其存储在 Amazon S3 中,并将 S3 URL 存储在 DynamoDB 中。

使用简短的属性名称

属性名称会影响项的总大小。为了最大限度地降低成本,请使用较短的属性名称。长属性名称会增加存储成本以及使用的写入和读取容量单位的数量。

使用成本分配标签

要快速查看您的 DynamoDB 成本,请使用成本分配标签

使用 AWS Budgets 和 AWS Cost Explorer 成本管理服务

使用 AWS Budgets 在 AWS 上设置特定时期的自定义支出计划。如果您的费用或使用量超过或预计将超过支出限额,则您会收到提醒。

使用 AWS Cost Explorer 成本管理服务,分析您账户的资源使用情况和一段时间内的成本。有关更多信息,请参阅了解 AWS 账单和使用情况报告的最佳实践

相关信息

DynamoDB 按需和预调配容量

Amazon DynamoDB 定价

使用 AWS 进行成本优化

活动系列: AWS 成本优化

AWS 官方
AWS 官方已更新 8 个月前
没有评论

相关内容