Amazon DynamoDB 定价
DynamoDB 对在表中读取、写入和存储数据收费,还对您选择启用的任何可选功能收费。
针对读取和写入提供两种定价选项(按需和预置),针对存储提供两种选项(标准表和标准-不常访问表),您可以根据工作负载选择最优定价方案。在 DynamoDB 开发人员指南中了解有关不同模式和存储类别的更多信息。
-
按需容量
-
预置容量
-
按需容量
-
DynamoDB 按需模式是一种无服务器选项,采用按请求付费定价和自动扩缩,无需规划、预置或管理容量。您只需为使用的读取或写入请求付费,这样可以轻松平衡成本和性能。
在大多数情况下,建议使用按需模式,包括:
- 您有新的或现有的工作负载,并且不想管理容量
- 您想要一个可以自动扩展的无服务器数据库
- 您更愿意只为使用的容量付费
-
预置容量
-
使用预置容量时,您必须指定要为应用程序预置的每秒读取和写入次数。您需要根据预置的每小时读取和写入容量付费,而不是根据应用程序消耗的容量付费。
在以下情况下,预置容量可能更适用:
- 现有应用程序具有稳定且可预测的吞吐量模式
- 可以预测容量需求
预留的预置容量
使用 DynamoDB 预留的预置容量,您可以承诺在规定的时间段内达到指定级别的读取和写入容量,从而降低预置容量的成本。预留预置容量最适合具有可预测、稳定吞吐量需求的工作负载,因为长期使用承诺可以带来显著的成本节省。
有关按需和预置容量模式的更多信息,请参阅“吞吐量定价的工作原理”。
有关账单相关问题,请参阅常见问题解答。如需帮助,可申请 AWS 销售支持,或使用本页面底部的咨询 AWS Chatbot 并输入“Contact AWS Rep”。
* 仅 AWS Backup 托管的按需备份支持冷备份存储。您可以从 AWS 管理控制台选择使用 AWS Backup。
传输到冷存储的备份最短需存储 90 天,未满 90 天删除的备份会产生按比例支付的费用,该费用等于剩余天数的存储费用。
节省成本
通过承诺至少使用一年来节省成本。
| 数据库节省计划 | 预留的预置容量 | |
| 节省成本 |
按需吞吐量最多可节省 18% 的成本 预置吞吐量最多可节省 12% 的成本 |
3 年期最多可节省 77% 的成本 1 年期最多可节省 54% 的成本 |
|
灵活性 |
跨 AWS 数据库服务及区域灵活使用承诺消费额度 |
仅适用于预置容量、单区域以及标准表类 |
| 承诺期限 | 1 年 | 1 年或 3 年 |
| 更多信息 | 数据库节省计划 | 请选择本页顶部的“预置容量模式”选项卡查看定价 |
试用 DynamoDB 免费套餐
DynamoDB 免费套餐足以支持每月约 2 亿次请求(具体取决于项目大小),可用于个人应用程序、原型构建或学习/认证需求。它使用预置容量和 DynamoDB 标准表类。DynamoDB 免费套餐在每个区域、每个付款人账户的基础上每月提供以下权益:
- 25 个 WCU、25 个 RCU
- 部署在两个 AWS 区域的全局表需要 25 个 rWCU
- 25GB 数据存储
- 250 万个来自 DynamoDB Streams 的流读取请求
- 适用于所有 AWS 服务的共计 1GB 的数据传出量(前 12 个月为 15GB)
除了 DynamoDB 免费套餐外,您还可以通过 AWS 免费套餐获得最高 200 USD 的抵扣金,用于体验全套 DynamoDB 功能,时长最长可达 6 个月。访问您的 DynamoDB 免费套餐。
请注意,对于同一工作负载,您不能同时叠加使用数据库节省计划和预留预置容量的折扣。 如果您同时拥有两者,将首先应用预留预置容量,之后任何剩余的预置容量才有资格享受数据库节省计划的覆盖。
DynamoDB 定价工作原理
-
表类的定价工作原理
DynamoDB 提供两种表类,对数据存储、读取和写入有不同的定价。两种表类提供相似的性能,但允许您根据访问模式优化成本。DynamoDB 标准表类为默认设置,建议用于大部分工作负载。DynamoDB 标准-不常访问(Standard-IA)表类最适合访问频率低且存储是主要成本的数据。详细了解 DynamoDB 表类。
-
按需容量的定价工作原理
读取请求单位(RRU):从表中读取数据的 API 调用按读取请求单位计费。 RRU 按 4 KB 为增量单位进行消耗。DynamoDB 读取可以是最终一致性、强一致性或事务性读取。
最终一致性读取每 4 KB(或不足 4 KB 的部分)需要 0.5 个 RRU。
强一致性读取每 4 KB(或不足 4 KB 的部分)消耗一个 RRU。
事务性读取每 4 KB(或不足 4 KB 的部分)需要两个 RRU。
例如,对一项 10 KB 数据的最终一致性读取需要 1.5 个 RRU(0.5 个 RRU × 3)。对于同样的 10 KB 数据,强一致性读取需要 3 个 RRU(1 个 RRU × 3),事务性读取需要 6 个 RRU(2 个 RRU × 3)。有关详细信息,请参阅读取一致性。写入请求单位(WRU):将数据写入表的 API 调用按写入请求单位计费。WRU 按 1 KB 为增量单位进行消耗。
标准写入每 1 KB(或不足 1 KB 的部分)需要 1 个 WRU。
事务性写入每 1 KB(或不足 1 KB 的部分)需要 2 个 WRU。
例如,一个 10 KB 数据的写入请求需要 10 个 WRU,而一个 10 KB 数据的事务性写入请求需要 20 个 WRU。 -
预置容量的定价工作原理
读取容量单位(RCU):从表中读取数据的 API 调用(即“读取”),按读取容量单位(RCU)计费。RCU 按每秒 4 KB 的增量单位进行消耗。读取可以是最终一致性、强一致性或事务性读取。
最终一致性读取每 4 KB(或不足 4 KB 的部分)消耗 0.5 个 RCU。
强一致性读取每 4 KB(或不足 4 KB 的部分)消耗 1 个 RCU。
事务性读取每 4 KB(或不足 4 KB 的部分)消耗 2 个 RCU。
例如,对一项 10 KB 数据进行最终一致性读取将需要 1.5 个 RCU(0.5 × 3)。对该数据进行强一致性读取将需要 3 个 RCU(1 × 3)。 对该数据进行事务性读取将需要 6 个 RCU(2 × 3)。有关详细信息,请参阅读取一致性。写入容量单位(WCU):向表中写入数据的 API 调用(即“写入”),按写入容量单位(WCU)计费。WCU 按每秒 1 KB 的增量单位进行消耗。
标准写入:每秒写入 1 KB(或不足 1 KB 的部分)消耗 1 个 WCU。
事务性写入:每秒写入 1 KB(或不足 1 KB 的部分)消耗 2 个 WCU。
例如,每秒对一项 10 KB 数据进行标准写入将消耗 10 个 WCU,而事务性写入将消耗 20 个 WCU。 -
数据存储、备份与恢复的定价工作原理
数据存储。 不需要预置存储:DynamoDB 会不断监控表大小,以确定存储费用。DynamoDB 通过添加数据的原始字节大小以及每项存储开销(取决于您所启用的功能)来衡量可计费数据的大小。请参阅 DynamoDB 用户指南以了解详情。 数据存储价格取决于您的表类。
时间点故障恢复(PITR)备份当启用 PITR(时间点恢复)时,DynamoDB 会对过去 1 到 35 天的数据进行持续备份。DynamoDB 根据每个 DynamoDB 表的大小(包括表数据和本地二级索引)对 PITR 收费。缩短保留期(例如,从 35 天减少到 1 天)并不会降低 PITR 成本。为确定您的备份费用,DynamoDB 会持续监控已启用 PITR 的表的大小。您将持续为 PITR 使用付费,直到您为每个表禁用 PITR。当您删除一个已启用时间点恢复的表时,DynamoDB 会自动创建一个名为“系统备份”的备份快照,并将其保留最多 35 天(不收取额外费用)。要了解更多信息,请参阅 DynamoDB 的时间点备份。
按需备份。 DynamoDB 根据表的存储大小(表数据和本地二级索引)对按需备份进行收费。每次备份的大小是在每次备份请求时确定的。每月计费的总备份存储大小是 DynamoDB 表的所有备份的总和。DynamoDB 会在整个月内持续监控按需备份的大小,以确定您的备份费用。
您可以使用 DynamoDB 或 AWS Backup 创建和管理按需备份。您可以使用 DynamoDB 的按需备份功能为表创建完整备份,以满足长期保留和归档的合规性需求。借助 AWS Backup,您可以集中和自动执行各种 AWS 服务中的数据保护。此外,AWS Backup 还提供有跨账户和跨区域按需备份复制、低成本存储层、备份标记和备份加密等高级功能,这些功能独立于其源数据,可以帮助满足业务连续性要求和优化备份成本。跨区域数据传输需要支付其他费用。有关使用 DynamoDB 和 AWS Backup 进行备份的更多定价信息,请参阅了解 Amazon DynamoDB 备份计费和 AWS Backup 定价。
-
全局表的定价工作原理
使用全局表时,您只需为应用程序在每个副本表上使用的资源付费。全局表的写入请求:按需容量模式下以副本写入请求单位(rWRU)计量,预置容量模式下以副本写入容量单位(rWCU)计量。
读取请求和数据存储的计费与单区域表一致,定价取决于您的表类。如果您添加表副本以在新区域中创建或扩展全局表,DynamoDB 将在所添加的区域中按表还原的每 GB 数据收取费用。有关全局表计费的更多信息,请参阅了解 Amazon DynamoDB 全局表计费。
-
数据移动(数据流、CDC、导入/导出到 S3、数据入站/出站)的定价工作原理
DynamoDB 流。DynamoDB 按读取请求单位收取从 DynamoDB 流读取的数据的费用。每个 GetRecords API 调用是按 DynamoDB 流读取请求单位进行收费,并且最多可从 DynamoDB 流返回 1MB 的数据。流读取请求单位不同于 DynamoDB 表上的读取请求。 您无需为在 AWS Lambda 上通过 DynamoDB 触发器调用的 GetRecords API 调用付费,除非这些函数在 Lambda 托管实例上运行,在这种情况下,将收取标准流费用。您也无需为 DynamoDB 全局表调用的 GetRecords API 调用付费。
Amazon Kinesis Data Streams(KDS)的变更数据捕获(CDC)。 DynamoDB 按 CDC 单位对 Amazon Kinesis Data Streams 的 CDC 收费。DynamoDB 对每个写入操作(最多 1KB)收取一个 CDC 单位的费用。您只需为应用程序执行的写入操作付费,而不必管理表中的吞吐能力。即使您将 DynamoDB 变更复制到 Kinesis 数据流,Kinesis Data Streams 收费仍适用。有关更多信息,请参阅 Amazon Kinesis Data Streams 定价。
使用 AWS Glue 的 CDC。 DynamoDB 按 CDC 单位对 AWS Glue 的变更数据捕获(CDC)收费。DynamoDB 对每个写入操作(最多 1KB)收取一个 CDC 单位的费用。您只需为应用程序执行的写入操作付费,而不必管理表中的吞吐能力。即使您将 DynamoDB 变更复制到 AWS Glue 目标数据库,AWS Glue 收费仍适用。有关详情,请参阅 AWS Glue 定价。
数据导出到 Amazon Simple Storage Service(S3)。 使用此功能将数据从 DynamoDB 表导出到 S3。支持的输出数据格式为 DynamoDB JSON 和 Amazon Ion。您可以使用 Amazon Athena、Amazon SageMaker 和 AWS Lake Formation 等 AWS 服务分析导出的数据。您可以在完整导出和增量导出之间进行选择。全量导出根据导出中每个 DynamoDB 表的大小(表数据和本地二级索引)收费。增量导出根据 PITR 备份以生成增量导出输出时处理的数据大小收费。 其他收费适用于在 S3 中存储导出的数据以及对 S3 存储桶提出的 PUT 请求。有关这些费用的更多信息,请参阅 Amazon S3 定价。
从 S3 导入数据。 DynamoDB 数据导入可以一个简单且高效的方法来在 S3 与 DynamoDB 表之间移动数据,无需写入任何代码。您可以在 AWS 区域和账户之间复制表格,以帮助迁移数据和构建新应用程序,促进团队之间的数据共享和协作,并帮助简化灾难恢复和业务连续性规划。数据导入定价基于 S3 中的未解压文件大小。 请查看从 S3 导入,了解详细信息。 支持的输入数据格式为 CSV、DynamoDB JSON 和 Amazon Ion。对于存储您的源数据以及向您的 S3 存储桶发出的 GET 请求,S3 也会收取费用。有关 S3 费用的更多信息,请参阅 Amazon S3 定价。
传入和传出数据。 DynamoDB 对入站数据传输不收费,对于在同一 AWS 区域内 DynamoDB 与其他 AWS 服务之间传输的数据,也不收费(即 0.00 USD/GB)。跨 AWS 区域(例如在美国东部 [弗吉尼亚北部] 地区的 QLDB 和欧洲 [爱尔兰] 地区的 Amazon EC2 之间)传输数据,则传输双方均需要付费。 作为 AWS 免费套餐的一部分,AWS 客户将会获得每月 100 GB 至 Internet 的免费数据传输,跨所有 AWS 服务和区域(中国和 GovCloud 除外)。有关更多信息,请参阅 AWS 免费套餐页面。如果每月数据传输量超出 500TB,请联系我们。
-
热吞吐量的定价工作原理
热吞吐量指的是您的 DynamoDB 表可以瞬时支持的读写操作数量。 默认情况下,所有表和二级索引均可免费获得热吞吐量值。这些值会在您增加预置吞吐量或按需消耗量时自动调整,无需支付额外费用。
对表进行预热会产生费用。如果您主动增加默认热吞吐量值以预热表,则这些请求将产生费用。这些费用基于新值与表或索引当前可支持的温吞吐量之间的差值。您需要按区域费率支付一次性费用,即读取热吞吐量每增加一个单位,需支付一个读取容量单位(RCU),写入热吞吐量每增加一个单位,需支付一个写入容量单位(WCU)。这些费用适用于 DynamoDB 标准表类和标准 - 不频繁访问表类。如果您对全局表副本进行预热以进行读取和/或写入操作,则所有副本都将预热,以匹配相同的热吞吐量值。您将需要为全局表配置中的每个 AWS 区域付费。要了解更多信息,请参阅了解 DynamoDB 热吞吐量。
-
预留预置容量的定价工作原理及购买方式
与 DynamoDB 预置吞吐能力的常规价格相比,预留预置容量可显著节省成本。通过预留预置容量,与常规小时费率相比,您可以节省高达 54%(一年期)或高达 77%(三年期)的费用。
您应该在什么情况下购买预留预置容量
对于使用量稳定或可以预测长期容量需求增长的工作负载,预留预置容量是降低 DynamoDB 成本的绝佳选择。为了更准确地评测预留预置容量是否符合您的需求,您可以比较预置按小时费率与预留预置容量的有效每小时费率。要计算有效小时费率,您需要在整个合同期内分摊一次性费用,再加上按小时使用费率。例如,美国东部(弗吉尼亚州北部)区域中的 100 个 WCU 的每小时摊余成本可以计算为 150.00 USD/365 天/24 小时 = 每 WCU 小时 0.0171 USD。
如何购买预留预置容量
通过 AWS 管理控制台提交请求,您可以为写入容量单位(WCU)和读取容量单位(RCU)总计购买多达 100 万个预留预置容量单位。预留预置容量要以 100 个 WCU 或 100 个 RCU 为单位购买。无法为重复的 WCU(rWCU)购买预留预置容量。购买预留预置容量时,必须指定 AWS 区域、数量和期限。
如果您希望一次性购买超过 100 万个预置容量单位,或者拥有有效预留预置容量并希望购买额外的预留预置容量以获得超过 100 万个活跃预置容量单位,请填写服务限额提升表并提供有关您的使用案例的更多信息。步骤:
- 登录到 AWS 管理控制台,并在数据库下选择 DynamoDB。
- 确保您已选择要购买预留预置容量的区域。
- 在导航窗格中,选择“预留容量”,然后选择“购买预留容量”。
- 选择所需的产品类型和期限。
- 调整要购买的预留容量数量。
- 选择购买预留容量并验证购买信息,然后确认。
购买前须知
折扣定价机制。 购买预留预置容量是指签订协议,约定在协议有效期内为最低预置吞吐能力付费,以此换取折扣定价。即使您的使用量少于预留预置容量,每月仍需按约定的最低预置吞吐能力支付费用。
适用性。 预留预置容量适用于包含全局和本地二级索引的 DynamoDB 表上的单区域预置读取和写入容量单位(RCU 和 WCU)。您无法为副本 WCU(rWCU)或 DynamoDB 标准-不常访问(Standard-IA)表类购买预留预置容量。
可按 100 个读/写容量单位的增量购买。 预留预置容量要以 100 个 WCU 或 100 个 RCU 为单位购买。最小的预留预置容量产品是 100 个容量单位(读取或写入)。 超出您的预留预置容量的任何预置吞吐量将按标准的预置吞吐量费率计费。 例如,如果您购买 100 个预留 WCU,而您的实际使用量不超过 100 个 WCU,将按照 100 个 WCU 的预留容量费率向您收费。
部分预付款。 部分预付选项提供了最有效的小时价格,并在预付价格与每小时价格之间平衡预留预置容量费用。 您可以为一年期或三年期的预留预置容量支付部分预付款。
限制。 必须在购买时选择区域、数量和期限,而且选择后无法更改。预留预置容量不能转移到其他区域或账户、出售或取消,一次性费用不可退款。一年期预留预置容量适用于所有区域,三年期预留容量适用于少数几个区域。
计费。 您需要支付(1)一次性预付款,以及(2)根据您购买的 DynamoDB 预留预置容量,在使用期限内的小时费用。 预留预置容量按小时折扣费率计费。 在计费期间,系统会先将容量使用情况与您的有效预留容量进行比较,以尽可能降低成本。如果使用的容量小于或等于您购买的总预留容量,将按预留预置容量费率对每小时的全部容量收费。DynamoDB 预留预置容量还需遵守 AWS 客户协议或与我们就您使用我们的服务达成的其他协议项下适用的所有存储、数据传输和其他费用。
预留预置容量优先计费。 预留预置容量不需要您对使用 DynamoDB 的方式进行任何更改。当计算您的账单时,AWS 计费系统会首先自动应用预留预置容量费率,以尽可能降低您的费用。 预留预置容量会先应用到购买它的账户,然后,剩余的未使用容量将应用到其他关联账户。 如果您具有多个与整合账单关联的账户,则您在付款人账户级别或关联账户级别购买的一定单位数量的预留预置容量将由与付款人账户相关联的所有账户共享。
监控。您可以从 AWS 管理控制台监控您的预留容量所有权。
DynamoDB 定价示例
-
按需定价:简单示例
此示例演示 DynamoDB 如何使用按需容量收费。
假设您在美国东部(弗吉尼亚州北部)地区创建一个新 DynamoDB 标准表。由于此表适用于新应用程序,因此您不知道您的流量模式是什么。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。
在 10 天的时间内,您的应用程序几乎没有产生流量,这将导致您的表每天发生 10000 次写入和 10000 次读取。但是,在第 11 天,您的应用程序受到社交媒体的关注,应用程序流量峰值在当天达到 2500000 次读取和 2500000 次写入。DynamoDB 可进行扩展,为您的用户提供无缝体验。您的应用程序将进入更常规的流量模式,在接下来到月底的时间内,平均每天达到 50000 次写入和 50000 次读取。下表总结了您当月的总使用情况。
时间范围(月中几号)
写入总次数
读取总次数
1-10
100000 次写入(10000 次写入 x 10 天)
100000 次读取(10000 次读取 x 10 天)
11
2500000 次写入
2500000 次读取
12-30
950000 次写入(50000 次写入 x 19 天)
950000 次读取(50000 次读取 x 19 天)
每月共计
3550000 次写入
3,550,000 次读取
月费总计
2.22 USD(每百万次写入 0.6250 USD x 355 万次写入)
0.44 USD(每百万次读取 0.125 USD x 355 万次读取)
数据存储:假设您的表在月初占用 25GB 的存储空间,然后在月底增加到 29GB,基于 DynamoDB 持续监控的平均占用空间为 27GB。表类已设置为 DynamoDB 标准,因此,AWS Free Tier 中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 0.50 USD。
您本月的账单将为 3.16 USD,其中包括 2.66 USD 的读写费用和 0.50 USD 的数据存储空间费用。
-
按需定价:包含可选功能的示例
此示例演示 DynamoDB 如何使用按需容量收费。
假设您在美国东部(弗吉尼亚州北部)地区创建一个新 DynamoDB 标准表。由于此表适用于新应用程序,因此您不知道您的流量模式是什么。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。
在七天的时间内,您的应用程序几乎没有产生流量,每天会向表中写入和读取 1000 次。但是,在第八天,您的应用程序引起您所在行业中一位重要影响者的注意,同时应用程序流量出乎意料地陡增到当天 10000000 次写入和读取。然后,您的应用程序将进入更常规的流量模式,在接下来的两周内平均每天的写入和读取量达 150000 次。接着,流量开始逐渐减少,交易量在接下来的七天内每天下降到 10000 次写入和读取。
最后,对社交媒体的意外关注会使您的应用程序像病毒般迅速传播。到该月的最后一天,您的应用程序将对表执行 30000000 次写入和读取。下表总结了您当月的总体使用情况。
时间范围(日期)
总写入数
总读取数
1–7
7000 次写入(1000 次写入 x 7 天)
7000 次读取(1000 次读取 x 7 天)
8
10000000 次写入
10000000 次读取
9–22
2100000 次写入(150000 次写入 x 14 天)
2100000 次读取(150000 次读取 x 14 天)
23–29
70000 次写入(10000 次写入 x 7 天)
70000 次读取(10000 次读取 x 7 天)
30
30000000 次写入
30000000 次读取
每月共计
42177000 次写入
42177000 次读取
月费总计 26.36 USD(每百万次写入 0.6250 USD x 4217.7 万次写入) 5.27 USD(每百万次读取 0.125 USD x 4217.7 万次读取) 数据存储:假设您的表在月初占用 25GB 的存储空间,然后在月底增加到 29GB,基于对表大小的连续监控平均占用空间为 27GB。表类已设置为 DynamoDB 标准,因此,AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 0.50 USD。
备份和还原:如果 30 天内所有按需备份存储的总和为 60GB,则每月的备份费用为 (0.10 USD x 60GB) = 6.00 USD/月。但是,如果您在每月周期中删除 10 天 15GB 的按需备份数据,您会收到以下账单:(0.10 USD x 60GB) - (0.10 USD x 15GB x 20/30) = 5.00 USD/月。现在假设除了执行按需备份之外,您还可以使用 PITR 备份。您的表的平均大小为 27GB,则每月费用为(0.20 USD x 27GB)= 5.40 USD/月。如果您需要在月底还原您的表,则费用为(0.15 USD x 29GB)= 4.35 USD。
使用 Kinesis Data Streams 的 CDC:现在,假设您对 Kinesis 数据流启用流式处理,以使用 Amazon Kinesis 服务处理数据变更。DynamoDB 每捕获到 1KB 的 Kinesis 数据流写入操作,便会收取一个 CDC 单位的费用。假设此示例中较早的应用程序写入流量与 Kinesis 数据流一致,则一个月内便会产生 4217.7 万个 CDC 单位。您每月的费用为:(0.10 USD x 4217.7 万/100 万)= 4.22 USD。
数据导出到 Amazon S3:我们假设您想要将表备份导出到 Amazon S3 进行分析。如果指定时间点的表大小为 29GB,则产生的导出费用为:(0.10 USD x 29 GB)= 2.90 USD。
与 DynamoDB Accelerator(DAX)集成:DAX 是一项与 DynamoDB 兼容的缓存服务。假设您需要加快应用程序的响应速度并决定使用 DynamoDB Accelerator(DAX)。您查看可用的硬件规范,并确定 t2.small 实例类型的三节点集群将满足您的需求。您在第 26 天启用 DAX。DynamoDB 每小时收费 0.12 USD(0.04 USD x 3 个节点),本月最后 5 天共计 14.40 USD(0.12 USD x 120 小时)。请注意,DAX 的成本可以通过减少对 DynamoDB 表所需的读取量来部分抵消。例如,如果您的缓存命中率为 85%,则您对表的读取量将减少 85%。
全局表:现在,假定您选择在美国西部(俄勒冈州)区域中创建灾难恢复副本表。假定您在美国西部(俄勒冈州)区域中添加副本,您的表大小为 25 GB,则产生的表还原收费为 3.75 USD(0.15 USD x 25 GB)。同样假设此示例中较早的应用程序流量对于您的全局表保持一致。您将使用 8435 万个复制的写入请求单位(4217.7 万次写入 x 2 个区域),如管理全局表的最佳实践和要求中所述,从而产生 52.72 USD(8435 万个复制的写入请求单位 x 每 100 万个 0.6250 USD)的费用。您还在美国西部(俄勒冈州)区域的复制表中另外存储了 27GB 的数据。在每个 AWS 区域中,使用 DynamoDB 标准表类的表的 AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月额外的表存储成本为 0.50 USD。
DynamoDB Streams:假设您启用 DynamoDB Streams 并构建应用程序以针对 Streams 数据每秒执行一次读取请求。在一个月的过程中,这会产生 259.2 万个 Streams 读取请求,其中前 250 万个读取请求包含在 AWS 免费套餐中。流读取请求单位的费用为每 10 万个 0.02 USD。由于您只需为剩余的 9.2 万个读取请求付费,因此当月您支付的费用不到 2 USD(0.0184 USD)。
总的来说,您的单区域 DynamoDB 表的每月总费用为:
写入流量:26.36 USD
读取流量:5.27 USD
数据存储:0.50 USD
按需备份:5.00 USD
连续 (PITR) 备份:5.40 USD
表还原:4.35 USD
适用于 Kinesis 数据流的 CDC:4.22 USD
数据导出到 Amazon S3:2.90 USD
与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator(DAX)集成:14.40 USD
DynamoDB Streams:0.02 USD
总费用:68.42 USD添加美国西部(俄勒冈州)区域后您的每月 DynamoDB 总费用为:
读取流量:5.27 USD
美国东部(弗吉尼亚州北部)的数据存储:0.50 USD
按需备份:5.00 USD
连续 (PITR) 备份:5.40 USD
美国东部(弗吉尼亚州北部)的表还原:4.35 USD
适用于 Kinesis 数据流的 CDC:4.22 USD
数据导出到 Amazon S3:2.90 USD
与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator(DAX)集成:14.40 USD
DynamoDB Streams:0.02 USD
美国西部(俄勒冈州)的全局表的表还原:3.75 USD
全局表复制的写入请求:52.72 USD
美国西部(俄勒冈州)的全局表数据存储:0.50 USD
总费用:99.03 USD -
按需定价:使用标准 – IA 表类的示例
本此示例中,我们将演示如何通过选择最适合您表的存储和数据访问模式的 DynamoDB 表类来降低表的月度费用。
假设您在美国东部(弗吉尼亚州北部)地区创建一个表。您的表已征用 1TB 历史数据。这些数据为不频繁访问数据,但需要在用户需要时立即提供给用户。现在,假设您的数据存储到月末增长至 1.4TB, 平均为 1.2TB(基于对表大小的持续监控)。您的表在一个月内有一个流量模式,生成总共 4250 万次写入和 4250 万次读取。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。
首先,我们将会估算使用 DynamoDB 标准表类的表的月度费用。使用 DynamoDB 标准表类的月度费用
将表类设置为 DynamoDB 标准时,计费方式如下。
数据存储:使用 DynamoDB 标准表类时,AWS 免费套餐中包含前 25GB 的存储空间。对其余 1.175TB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 293.75 USD。
读取和写入:您需要支付
4250 万次写入 x 每百万个请求 0.625 USD = 26.56 USD(写入请求),
4250 万次读取 x 每百万次读取 0.125 USD = 5.31 USD(读取请求)。
简单来说,使用 DynamoDB 标准表类的月度总费用如下:
写入流量:26.56 USD
读取流量:5.31 USD
数据存储:293.75 USD
使用 DynamoDB 标准表类的月度总费用为 325.62 USD。使用 DynamoDB 标准 – IA 表类的月度费用
在上述场景中(使用标准表类),数据存储成本占月度总成本的很大一部分(> 50%)。假设您想通过切换到 DynamoDB 标准 – IA 表类来优化成本。计费方式如下:
数据存储:1.2TB 存储按 0.10 USD/GB 收费,因此,表当月的存储成本为 120.00 USD。
读取和写入:您需要支付
4250 万次写入 x 每百万个请求 0.780 USD = 33.15 USD(写入请求),
4250 万次读取 x 每百万个读取 0.155 USD = 6.59 USD(读取请求)。
简单来说,使用 DynamoDB 标准 – IA 表类的月度总费用如下:
写入流量:33.15 USD
读取流量:6.59 USD
数据存储:120.00 USD
使用 DynamoDB 标准 – IA 表类的总费用:159.74 USD。
在表中使用 DynamoDB 标准 – IA 可以将表的总月度费用降低 50.9%,即 165.88 USD。 -
预置定价:简单示例
该示例演示了如何通过预置容量计算支持 Auto Scaling 的表的价格。Auto Scaling 会根据实际使用的容量不断设置预置容量,以使实际利用率保持接近目标利用率。
假设您在美国东部(弗吉尼亚州北部)地区创建一个新的 DynamoDB 标准表,其中目标利用率设置为默认值 70%,最小容量单位为 100 个 RCU 和 100 个 WCU,最大容量设置为 400 个 RCU 和 400 个 WCU(请参阅 DynamoDB 中的限制)。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。
在前 10 天,假设使用的 RCU 和 WCU 在 1 到 70 之间变化。Auto Scaling 不会触发任何扩展活动,您在每小时内需支付的费用为 0.078 USD(100 个预置 WCU 为 0.065 USD [0.00065 USD * 100],100 个 RCU 为 0.013 USD [0.00013 USD * 100])。
现在假设第 11 天使用的容量增加到 100 个 RCU 和 100 个 WCU。Auto Scaling 开始触发扩展活动,将预置容量增加到 143 个 WCU 和 143 个 RCU(100 已使用容量 ÷ 143 预置容量 = 69.9%)。每小时的账单是 0.11109 USD(143 个 WCU 为 0.0925 USD,143 个 RCU 为 0.01859 USD)。
在第 21 天,假设使用的容量减少到 80 个 RCU 和 80 个 WCU。Auto Scaling 开始触发缩减活动,将预置容量减少到 114 个 WCU 和 114 个 RCU(80 已使用容量 ÷ 114 预置容量 = 70.2%)。每小时的账单是 0.08952 USD(114 个 WCU 为 0.0741 USD,114 个 RCU 为 0.01482 USD)。
当月的费用为 66.86 USD,具体如下:
第 1 天到第 10 天:18.72 USD(每小时 0.078 USD x 24 小时 x 10 天)
第 11 天到第 20 天:26.66 USD(每小时 0.11109 USD × 24 小时 × 10 天)
第 21 天到第 30 天:21.48 USD(每小时 0.08952 USD x 24 小时 x 10 天)
AWS 免费套餐包括使用 DynamoDB 标准表类的表中的 25 个 WCU 和 25 个 RCU,可以将您的月度费用降低 14.04 USD。
25 个 WCU x 每小时 0.00065 USD x 24 小时 x 30天 = 11.70 USD
25 个 RCU x 每小时 0.00013 USD x 24 小时 x 30天 = 2.34 USD
数据存储:假设您的表在月初占用 25GB 的存储空间,然后在月底增加到 29GB,基于对表大小的连续监控平均占用空间为 27GB。表类已设置为 DynamoDB 标准,因此,AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 0.50 USD。
您本月的总账单将为 53.32 USD,其中包括 52.82 USD 的读写容量费用和 0.50 USD 的数据存储空间费用。
-
预置定价:包含自动扩缩和可选功能的示例
该示例演示了如何通过预置容量模式计算支持 Auto Scaling 的表的价格。Auto Scaling 会根据实际使用的容量不断设置预置容量,以使实际利用率保持接近目标利用率。
假设您在美国东部(弗吉尼亚州北部)地区创建一个新表,其中目标利用率设置为默认值 70%,最小容量单位为 100 个 RCU 和 100 个 WCU,最大容量设置为 400 个 RCU 和 400 个 WCU(请参阅 DynamoDB 中的限制)。Auto Scaling 将根据这些限值运行,并且不会将预置容量缩减到最小值以下,或扩展到最大值以上。表创建之后,Auto Scaling 将开始预置最小容量单位。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。
在表创建后的第一个小时内,假设已使用的 RCU 和 WCU 在 1 到 70 之间变化。在 70% 的目标利用率内,实际利用率将相应地在 1%(1 已使用容量 ÷ 100 预置容量的百分比)和 70%(70 已使用容量 ÷ 100 预置容量的百分比)之间变化。Auto Scaling 不会触发任何扩展活动,您在此小时内需支付的费用为 0.078 USD(100 个预置 WCU 为 0.065 USD [0.00065 USD * 100],100 个 RCU 为 0.013 USD [0.00013 USD * 100])。
在第二个小时内,假设已使用容量增加到 100 个 RCU 和 100 个 WCU,这将导致实际利用率提高到 100%(100 已使用容量 ÷ 100 预置容量的百分比),远高于 70% 的目标利用率。Auto Scaling 开始触发扩展活动,以增加预置容量,使实际利用率更接近 70% 的目标利用率。结果为 143 个 WCU 和 143 个 RCU 的预置容量(100 已使用容量 ÷ 143 预置容量 = 69.9%)。第二个小时需支付的费用为 0.1154 USD(143 个 WCU 为 0.09295 USD,143 个 RCU 为 0.01859 USD)。
在第三个小时内,假设已使用容量减少到 80 个 RCU 和 80 个 WCU,这将导致实际利用率减少到 56%(80 已使用容量 ÷ 143 预置容量的百分比),远低于 70% 的目标利用率。Auto Scaling 将开始触发缩减活动,以减少预置容量,使实际利用率更接近 70% 的目标利用率,因此要预置的容量为 114 个 WCU 和 114 个 RCU(80 已使用容量 ÷ 114 预置容量的百分比 = 70.2%)。第三个小时需支付的费用为 0.08892 USD(114 个 WCU 为 0.0741 USD,114 个 RCU 为 0.01482 USD)。
为简单起见,假设您消耗的容量保持不变,为 80 个 RCU 和 80 个 WCU。您的表还预置了 114 个 WCU 和 114 个 RCU,每日费用为 2.1341 USD,细分为:
114 个 WCU x 每小时 0.00065 USD x 24 小时 = 1.7784 USD
114 个 RCU x 每小时 0.00013 USD x 24 小时 = 0.3557 USD
您的当月费用为 64.04 USD:
第 1 天的总费用:每天 2.14578 USD
第 1 个小时的费用:每小时 0.078 USD
第 2 个小时的费用:每小时 0.1154 USD
第 3-24 个小时的费用:每小时 0.08892 USD
第 2-30 天的费用:每天 2.1341 USD
AWS 免费套餐包括使用 DynamoDB 标准表类的表中的 25 个 WCU 和 25 个 RCU,可以将您的月度费用降低 14.04 USD:
25 个 WCU x 每小时 0.00065 USD x 24 小时 x 30天 = 11.70 USD
25 个 RCU x 每小时 0.00013 USD x 24 小时 x 30天 = 2.34 USD
数据存储:假设您的表在月初占用 25GB 的存储空间,然后在月底增加到 29GB,基于对表大小的连续监控平均占用空间为 27GB。 表类已设置为 DynamoDB 标准,因此,AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 0.50 USD。
备份和还原:如果为期 30 天的一个月内所有按需备份存储的总和为 60GB,则每月的备份费用为 (0.10 USD x 60GB) = 6.00 USD/月。但是,如果您在每月周期中删除 10 天 15GB 的按需备份数据,您需要支付以下费用:(0.10 USD x 60GB) - (0.10 USD x 15GB x 20/30)= 5.00 USD/月。
现在假设除了执行按需备份之外,您还可以使用 PITR 备份。您的表大小为 29GB,因而每月费用为(0.20 USD x 29GB)= 5.80 USD/月。
如果您需要在一个月内还原一次 29GB 的表,则还原费用为(0.15 USD x 29GB)= 4.35 USD。
Kinesis Data Streams 的 CDC:现在,假设您对 Kinesis 数据流启用流式处理,以使用 Amazon Kinesis 服务处理数据变更。同样,假设您的写入吞吐量与前面的示例一致。您的应用程序每秒执行 80 次 1KB 的写入操作。DynamoDB 每捕获到 1KB 的 Kinesis 数据流写入操作,便会收取一个 CDC 单位的费用。在一个月内,产生的 CDC 单位为:(80 x 3600 x 24 x 30)= 2.0736 亿。您每月的费用为:(0.10 USD x 2.0736 亿/100 万)= 20.74 USD。
数据导出到 Amazon S3:我们假设您想要将表备份导出到 Amazon S3 进行分析。如果指定时间点的表大小为 29GB,则产生的导出费用为:(0.10 USD x 29 GB)= 2.90 USD。
与 DynamoDB Accelerator(DAX)集成:DAX 是一项与 DynamoDB 兼容的缓存服务。您已确定需要加快应用程序的响应速度并决定使用 DynamoDB Accelerator(DAX)服务。您查看可用的硬件规范,并确定 t2.small 实例类型的三节点集群满足您的需求。您在第 26 天启用 DAX。DynamoDB 每小时收费 0.12 USD(0.04 USD x 3 个节点),本月最后 5 天共计 14.40 USD(0.12 USD x 120 小时)。
全局表:现在,假定您在美国西部(俄勒冈州)区域中创建灾难恢复副本表。假定您在美国西部(俄勒冈州)区域中添加副本,您的表大小为 25 GB,则产生的表还原收费为 3.75 USD(0.15 USD x 25 GB)。同样,假设您的容量需求与前面的示例一致。Auto Scaling 会继续为您的应用程序的吞吐量需求预置 114 个 WCU 和 114 个 RCU,但现在还必须预置 rWCU,用于写入两个副本表。预置的 rWCU 数量等于两个区域中应用程序写入所需的 rWCU 总数。在这种情况下,您现在每秒向美国东部(弗吉尼亚北部)和美国西部(俄勒冈)这两个区域执行 80 次写入,因而最小预置容量为 160 个 rWCU(弗吉尼亚北部的 80 个 rWCU + 俄勒冈的 80 个 rWCU = 160 个 rWCU)。Auto Scaling 预置 229 个 rWCU (160 rWCU/70%),以将实际利用率维持在预置容量的 70%。如需了解更多信息,请参阅管理全局表的最佳实践和要求。您在每个区域中每小时预置的前 25 个 rWCU 包含在使用 DynamoDB 标准表类的表的 AWS Free Tier 中,因而每小时费用为 0.11635 USD,或为期 30 天的月费用为 83.77 USD。您还在美国西部(俄勒冈州)区域的复制表中另外存储了 27GB 的数据。在每个 AWS 区域中,使用 DynamoDB 标准表类的表的 AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月额外的表存储成本为 0.50 USD。
DynamoDB Streams:假设您启用 DynamoDB Streams 并构建应用程序以针对 Streams 数据每秒执行一次读取请求。在一个月的过程中,这会产生 2592000 个 Streams 读取请求,其中前 2500000 个读取请求包含在 AWS 免费套餐中。您只需为剩余的 9.2 万个读取请求付费,即每 10 万个读取请求单位 0.02 USD。
总的来说,您的单区域 DynamoDB 表的每月总费用为:
- 预置容量:50.00 USD
- 数据存储:0.50 USD
- 按需备份:5.00 USD
- 持续 (PITR) 备份:5.80 USD
- 表还原:4.35 USD
- 适用于 Kinesis 数据流的 CDC:20.74 USD
- 数据导出到 Amazon S3:2.90 USD
- 与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator(DAX)集成:14.40 USD
- DynamoDB Streams:0.02 USD
总费用:103.71 USD
添加美国西部(俄勒冈)区域后您的每月 DynamoDB 总费用为:
- 预置读取容量:10.68 USD
- 数据存储(弗吉尼亚北部):0.50 USD
- 按需备份:5.00 USD
- 持续 (PITR) 备份:5.80 USD
- 表还原(弗吉尼亚北部):4.35 USD
- 适用于 Kinesis 数据流的 CDC:20.74 USD
- 数据导出到 Amazon S3:2.90 USD
- 与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator(DAX)集成:14.40 USD
- DynamoDB Streams:0.02 USD
- 全局表的表还原(俄勒冈):3.75 USD
- 全局表复制的写入容量:83.77 USD
- 全局表数据存储(俄勒冈州):0.50 USD
总费用:152.41 USD
-
预置定价:标准 – IA 表类示例
当存储为使用 DynamoDB 标准表类的主要成本(大于预置容量成本的 50%)时,您可以切换为 DynamoDB 标准 – IA 表类,从而优化成本。 本此示例中,我们将演示如何通过选择最适合您表的存储和数据访问模式的 DynamoDB 表类来降低表的月度费用。
假设您在美国东部(弗吉尼亚州北部)地区创建一个表。您的表已征用 1TB 历史数据。这些数据为不频繁访问数据,但需要在用户需要时立即提供给用户。现在,假设您的数据存储到月末增长至 1.4TB, 平均为 1.2TB(基于对表大小的持续监控)。您的表已有稳定的可预测流量模式。因此,您将它预置为 160 个 WCU 和 160 个 RCU,因为知道一个月内的使用量不会超过预置容量的 70%。
首先,我们将会估算使用 DynamoDB 标准表类的表的月度费用。
使用 DynamoDB 标准表类的月度费用
将表类设置为 DynamoDB 标准时,计费方式如下:
数据存储:使用 DynamoDB 标准表类时,AWS 免费套餐中包含前 25GB 的存储空间。对其余 1.175TB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 293.75 USD。
预置容量:对于使用 DynamoDB 标准表类的表,AWS 免费套餐包含 25 个 WCU 和 25 个 RCU。计费方式如下:
您需要支付 135 个 WCU x 0.00065 USD/小时 x 24 小时 x 30 天 = 63.18 USD,
对于预置读取容量,135 个 RCU x 0.00013 USD/小时 x 24 小时 x 30 天 = 12.63 USD。
简单来说,使用 DynamoDB 标准表类的月度总费用如下:
- 预置容量:75.82 USD
- 数据存储:293.75 USD
使用 DynamoDB 标准表类的月度总费用为 369.57 USD。
使用 DynamoDB 标准 – IA 表类的月度费用
如先前所示,如果使用 DynamoDB 标准表类,则存储成本高于预置容量成本的 50%。如果工作负载相同,假设您在下个月初将表类切换为 DynamoDB 标准 – IA。计费方式如下:
数据存储:1.2TB 存储按 0.10 USD/GB 收费,因此,表当月的存储成本为 120.00 USD。
预置容量:对于预置写入容量,
您需要支付 160 个 WCU x 0.00081 USD/小时 x 24 小时 x 10 天 = 92.16 USD,
对于预置读取容量,160 个 RCU x 0.00016 USD/小时 x 24 小时 x 10 天 = 18.43 USD。简单来说,使用 DynamoDB 标准 – IA 表类的月度总费用如下:
- 预置容量:110.59 USD
- 数据存储:120.00 USD
使用 DynamoDB 标准 – IA 表类的月度总费用为 230.59 USD。将表切换为 DynamoDB 标准 – IA 可以将表的月度总费用降低 37.6%,也就是 138.97 USD。
-
热吞吐量的示例
假设您在美国东部(弗吉尼亚州北部)区域有一个 DynamoDB 标准表,其当前热吞吐量为每秒 1.2 万个读取单位和每秒 4000 个写入单位。对于即将到来的峰值事件,您预计表每秒需要 10 万个读取单位,因此将其设置为新的读取热吞吐量值。您将需要为额外的 8.8 万个读取单位(10 万和 1.2 万之间的差值)支付一次性费用,费率为 11.44 美元(8.8 万个单位 × 每个 RCU 0.00013 美元)。
无论您是在 DynamoDB 标准表类还是标准-不频繁访问表类中预热表或索引来进行读取或写入,此计费结构均适用。如果此表是全局表设置的一部分,且在三个区域 [包括美国东部(弗吉尼亚州北部)] 有副本,则所有三个副本都将预热,以支持每秒 10 万个读取单位的热吞吐量。除了美国东部(弗吉尼亚州北部)的费用外,您还需要按照全局表配置中每个区域的相应费率付费。
估算 DynamoDB 成本
根据吞吐量和可选功能来估算每月成本。
DynamoDB 定价计算器找到今天要查找的内容了吗?
请提供您的意见,以便我们改进网页内容的质量