Amazon DynamoDB 定价
DynamoDB 会对在表中读取、写入和存储数据以及您选择启用的任何可选功能收费。
有两种读取和写入定价选项(按需定价和预配置)以及两种存储定价选项(标准和标准-不频繁访问),您可以为工作负载选择最佳定价选项。在 DynamoDB 开发人员指南中了解有关不同模式和存储类别的更多信息。
-
按需容量
-
预置容量
-
按需容量
-
DynamoDB 按需模式是一种无服务器选项,具有按请求付费定价和自动扩展功能,无需规划、预置或管理容量。您只需为使用的读取或写入请求付费,这样可以轻松平衡成本和性能。
在大多数情况下,建议使用按需模式,包括:
- 您有新的或现有的工作负载,并且不想管理容量
- 您想要一个可以自动扩展的无服务器数据库
- 您更愿意只为使用的容量付费
-
预置容量
-
使用预置容量,您必须指定要为应用程序预置的每秒读写次数。将根据预置的每小时读写容量向您收费,而不是您的应用程序消耗的容量。
如果您符合以下条件,则预置容量可能会更好:
- 现有应用程序具有稳定且可预测的吞吐量模式
- 可以预测容量需求
预留的预置容量
使用 DynamoDB 预留的预置容量,您可以承诺在规定的时间段内达到指定级别的读取和写入容量,从而降低预置容量的成本。预留预置容量最适合具有可预测、稳定的吞吐量要求的工作负载,长期使用承诺可以显著节省成本。
有关按需和预置容量模式的更多信息,请参阅 “吞吐量定价的工作原理”。
有关账单相关问题,请参阅常见问题解答。如需帮助,请申请 AWS 销售支持或使用本页底部的 As k AWS 聊天机器人并键入 “联系 AWS 代表”。
* 仅 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
- 25 个 RWCU 用于全球表,部署在两个 AWS 区域
- 25GB 数据存储
- 250 万个来自 DynamoDB Streams 的流读取请求
- 适用于所有 AWS 服务的共计 1GB 的数据传出量(前 12 个月为 15GB)
除了DynamoDB免费套餐外,您还可以通过 AWS免费套餐获得高达200美元的积分,以体验长达6个月的全套DynamoDB功能。访问您的 DynamoDB 免费套餐。
请注意,对于相同的工作负载,您不能将数据库节省计划的折扣与预留的预置容量结合使用。 如果两者都有,则首先应用预留的预置容量,之后任何剩余的预置容量都有资格享受数据库储蓄计划的保障。
DynamoDB 定价的工作原理
-
桌上课的定价是如何运作的
DynamoDB 提供两种表类,数据存储、读取和写入的定价不同。两种表格类别都提供相似的性能,但允许您根据访问模式优化成本。DynamoDB 标准表类是默认设置,建议大多数工作负载使用。Dynamo DB 标准不频繁访问 (Standard-IA) 表类最适合不经常访问且以存储为主要成本的数据。了解有关 DynamoDB 表类的更多信息。
-
按需容量的定价是如何运作的
读取请求单位 (RRU):用于从表中读取数据的 API 调用按读取请求单位计费。 RRU 以 4 KB 为增量消耗。DynamoDB 读取可以是最终一致性的、强一致性的,也可以是事务性的。
最终一致性读取要求每 4 KB 或其中的一部分占一半 RRU。
强一致性读取每 4 KB 或其中的一部分消耗一个 RRU。
交易读取每 4 KB 或其中的一部分需要两个 RRU。
例如,对 10 KB 项目进行最终一致性读取需要 1.5 个 RRU(一半 RRU x 3)。对于相同的 10 KB 项目,强一致性读取需要 3 个 RRU(1 个 RRU x 3),事务性读取需要 6 个 RRU(2 个 RRU x 3)。有关更多详细信息,请参见读取一致性。写入请求单位 (WRU):将数据写入表的 API 调用按写入请求单位计费。WRU 以 1 KB 为增量消耗。
标准写入要求每 1 KB 或其中的一部分 1 个 WRU。
事务写入要求每 1 KB 或其中的一部分 2 个 WRU。
例如,一个 10 KB 项目的写入请求需要 10 个 WRU,一个 10 KB 项目的交易写入请求需要 20 个 WRU。 -
预置容量的定价是如何运作的
读取容量单位 (RCU):用于从表中读取数据的 API 调用或 “读取” 以读取容量单位 (RCU) 计费。RCU 以每秒 4 KB 的增量消耗。读取可以是最终一致性的、强一致性的,也可以是事务性的。
最终一致性读取每 4 KB(或其中的一部分)消耗一半 RCU。
强一致性读取每 4 KB(或其一部分)消耗一个 RCU。
交易读取每 4 KB(或其中的一部分)消耗两个 RCU。
例如,对一个 10 KB 的项目进行最终一致性读取将需要 1.5 个 RCU(0.5 x 3)。要对该项目进行高度一致的解读,则需要 3 个 RCU(1 x 3)。 对该项目进行交易读取需要 6 个 RCU(2 x 3)。有关更多详细信息,请参见读取一致性。写入容量单位 (WCU):PI 调用向您的表写入数据或 “写入”,以写入容量单位 (WCU) 计费。WCU 以每秒 1 KB 的增量消耗。
每秒 1 KB(或其中的一部分)的@@ 标准写入消耗 1 WCU。
每秒 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 天(不收取额外费用)。要了解更多信息,请参阅 DynamoD B 的时间点备份。
按需备份。 DynamoDB 根据表的存储大小(表数据和本地二级索引)对按需备份进行收费。每次备份的大小是在每次备份请求时确定的。每月计费的总备份存储大小是 DynamoDB 表的所有备份的总和。DynamoDB 会在整个月内持续监控按需备份的大小,以确定您的备份费用。
您可以使用 DynamoDB 或 AWS Backup 创建和管理按需备份。您可以使用 DynamoDB 按需备份功能来创建表格的完整备份,以便长期保留,并存档以满足监管合规需求。借助 AWS Backup,您可以集中和自动执行各种 AWS 服务中的数据保护。此外,AWS Backup 还提供有跨账户和跨区域按需备份复制、低成本存储层、备份标记和备份加密等高级功能,这些功能独立于其源数据,可以帮助满足业务连续性要求和优化备份成本。跨区域数据传输需要支付其他费用。有关使用 DynamoDB 和 AWS Backup 进行备份的更多定价信息,请参阅了解亚马逊 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 调用付费。
亚马逊 Kinesis 数据流 (KDS) 的变更数据采集 (CDC)。 DynamoDB 对以 CDC 为单位的 Amazon Kinesis 数据流向 CDC 收费。DynamoDB 为每次写入收取一个 CDC 单元的费用(最大 1 KB)。您只需为应用程序执行的写入操作付费,而不必管理表中的吞吐容量。即使您将 DynamoDB 变更复制到 Kinesis 数据流,Kinesis Data Streams 收费仍适用。有关更多信息,请参阅亚马逊 Kinesis 数据流定价。
使用 AWS Glue 的 CDC。 DynamoDB 以 CDC 为单位对 AWS Glue 的 CDC 收费。DynamoDB 为每次写入收取一个 CDC 单元的费用(最大 1 KB)。您只需为应用程序执行的写入操作付费,而不必管理表中的吞吐能力。即使您将 DynamoDB 变更复制到 AWS Glue 目标数据库,AWS Glue 收费仍适用。有关更多信息,请参阅 AWS Glue 定价。
数据导出到亚马逊简单存储服务 (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 费用还适用于存储您的源数据和针对您的 S3 存储桶发出的 GET 请求。有关 S3 费用的更多信息,请参阅 Amazon S3 定价。
数据传入和传出。 DynamoDB 不对入站数据传输收费,也不对在同一 AWS 区域内在 DynamoDB 和其他 AWS 服务之间传输的数据收费(换句话说,每 GB 0.00 美元)。跨 AWS 区域(例如在美国东部 [弗吉尼亚北部] 地区的 QLDB 和欧洲 [爱尔兰] 地区的 Amazon EC2 之间)传输数据,则传输双方均需要付费。 作为 AWS 免费套餐的一部分,AWS 客户将会获得每月 100 GB 至 Internet 的免费数据传输,跨所有 AWS 服务和区域(中国和 GovCloud 除外)。有关更多信息,请参阅 AWS 免费套餐页面。要传输每月超过 500 TB 的数据,请联系我们。
-
高吞吐量的定价是如何运作的
热吞吐量是指您的 DynamoDB 表可以即时支持的读取和写入操作的数量。 默认情况下,所有表和二级索引均免费提供热吞吐量值。这些值会在您增加预置吞吐量或按需消耗量时自动调整,无需支付额外费用。
预热桌子需要付费。如果您主动增加默认预热吞吐量值以预热表,则将为这些请求付费。这些费用基于新值与表或索引可以支持的当前热吞吐量之间的差异。您需要按区域费率支付一次性费用,即读取热吞吐量每增加一个单位,需支付一个读取容量单位(RCU),写入热吞吐量每增加一个单位,需支付一个写入容量单位(WCU)。这些费用适用于 DynamoDB 标准表类和标准 - 不频繁访问表类。如果您对全局表副本进行预热以进行读取和/或写入操作,则所有副本都将预热,以匹配相同的热吞吐量值。将按作为全局表格配置一部分的每个 AWS 区域向您收费。要了解更多信息,请参阅了解 DynamoDB 预吞吐量。
-
预留预置容量的定价如何运作以及如何购买
与 DynamoDB 预置吞吐量容量的正常价格相比,预留的预置容量可以节省大量费用。通过预留预置容量,与常规小时费率相比,您可以节省高达 54%(一年)或高达 77%(三年期)的费用。
您应该何时购买预留的预置容量
对于使用率稳定的工作负载或可以预测长期容量需求增长的工作负载,预留预置容量是降低 DynamoDB 成本的绝佳选择。为了更准确地评估预留预置容量是否符合您的需求,您可以比较预置小时费率和预留预配置容量的有效小时费率。要计算有效小时费率,您需要在整个合同期内分摊一次性费用,再加上按小时使用费率。例如,美国东部(弗吉尼亚州北部)区域中的 100 个 WCU 的每小时摊余成本可以计算为 150.00 美元/365 天/24 小时 = 每 WCU 小时 0.0171 美元。
如何购买预留的预置容量
通过通过 AWS 管理控制台提交请求,您可以为写入容量单位 (WCU) 和读取容量单位 (RCU) 总共购买多达 100 万个预留的预置容量单位。预留的预置容量以 100 个 WCU 或 100 个 RCU 的区块购买。您无法为复制的 WCU (RWCU) 购买预留的预置容量。购买预留预置容量时,必须指定 AWS 区域、数量和期限。
如果您想在一次购买中购买超过 1,000,000 个预置容量单位,或者拥有有效的预留预置容量并想要购买额外的预留预置容量以获得超过 1,000,000 个活跃预置容量单位,请填写服务限额提高表并提供有关您的使用案例的更多信息。步骤:
- 登录 AWS 管理控制台,在数据库下选择 DynamoDB 。
- 确保您已选择要购买预留预置容量的区域。
- 在导航窗格中选择 “预留容量”,然后选择 “购买预留容量” 。
- 选择所需的产品类型和期限。
- 调整要购买的预留预置容量的数量。
- 选择购买预留容量,验证购买信息,然后确认。
购买前你应该知道什么
折扣定价机制。 预留预置容量购买是一种协议,用于在协议期限内支付最低预置吞吐量容量,以换取折扣价格。如果您使用的容量少于预留的预置容量,则仍将按该最低预配置吞吐量容量每月向您收费。
适用性。 预留预置容量可用于 DynamoDB 表(包括全局和本地二级索引)上的单区域预置读写容量单位(RCU 和 WCU)。您不能为副本 WCU (RWCU) 或 DynamoDB 标准不频繁访问 (DynamoDB 标准-IA) 表类购买预留的预置容量。
可以 100 个读/写容量单位为增量购买。 预留的预置容量以 100 个 WCU 或 100 个 RCU 的分配方式购买。提供的最小预留预置容量为 100 个容量单位(读取或写入)。 您预置的超出预置容量的任何吞吐量均按预置吞吐量的标准费率计费。 例如,如果您购买 100 个预留 WCU,而您的实际使用量不超过 100 个 WCU,将按照 100 个 WCU 的预留容量费率向您收费。
部分预付款。 部分预付款选项提供最有效的小时价格,并在预付和每小时之间平衡预留的预置容量付款。 您可以为一年或三年的预留预置容量预付部分预付款。
限制。 必须在购买时选择区域、数量和期限,而且选择后无法更改。预留的预置容量不能转移到其他地区或账户、出售或取消,一次性费用不可退还。一年期预留预置容量适用于所有区域,三年期预留预置容量适用于有限区域。
账单。 根据您购买的 DynamoDB 预留预置容量数量,您将 (1) 一次性预付费用,以及 (2) 期限内每小时的小时费用。 预留预置容量按小时折扣费率计费。 在计费期间,系统会先将容量使用情况与您的有效预留容量进行比较,以尽可能降低成本。每小时,如果使用的容量小于或等于您购买的预留预置容量总量,则所有容量将按预留容量费率收费。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(每百万次写入 0.6250 次 x 42177 万次写入) 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 数据流的 CDC:现在假设您启用了流式传输到 Kinesis 数据流的功能,以便使用亚马逊 Kinesis 服务处理数据变更。DynamoDB 每向 Kinesis 数据流写入 1 KB,就会向一个 CDC 单元收费。假设在本示例中前面的应用程序写入流量与 Kinesis 数据流保持一致,则该月内有 42,177,000 个 CDC 单元。您每月的费用为:(0.10 美元 x 4217.7 万/100 万)= 4.22 美元。
数据导出到 Amazon S3:我们假设您想要将表备份导出到 Amazon S3 进行分析。如果指定时间点的表大小为 29GB,则产生的导出费用为:(0.10 USD x 29 GB)= 2.90 USD。
与 DynamoDB 加速器 (DAX) 集成:DAX 是一项与 DynamoDB 兼容的缓存服务。假设您需要加快应用程序的响应时间并决定使用 DynamoDB 加速器 (DAX)。您查看可用的硬件规范,并确定 t2.small 实例类型的三节点集群将满足您的需求。您在第 26 天启用 DAX。DynamoDB 每小时收费 0.12 USD(0.04 USD x 3 个节点),本月最后 5 天共计 14.40 USD(0.12 USD x 120 小时)。请注意,DynamoDB 表所需的读取次数减少会部分抵消 DAX 成本。例如,如果您的缓存命中率为 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 数据每秒执行一次读取请求。在一个月的过程中,这会产生 2592000 个 Streams 读取请求,其中前 2500000 个读取请求包含在 AWS 免费套餐中。直播读取请求单位每10万美元的成本为0.02美元。由于您仅为剩余的92,000个读取请求付费,因此您每月支付的费用不到2美分(0.0184美元)。
总的来说,您的单区域 DynamoDB 表的每月总费用为:
写入流量:26.36 USD
读取流量:5.27 USD
数据存储:0.50 USD
按需备份:5.00 USD
连续 (PITR) 备份:5.40 USD
表还原:4.35 USD
适用于 Kinesis 数据流的 CDC:4.22 美元
数据导出到 Amazon S3:2.90 USD
与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator (DAX) 集成:14.40 美元
DynamoDB Streams:0.02 USD
总费用:68.42 美元添加美国西部(俄勒冈州)区域后您的每月 DynamoDB 总费用为:
读取流量:5.27 USD
美国东部(弗吉尼亚州北部)的数据存储:0.50 USD
按需备份:5.00 USD
连续 (PITR) 备份:5.40 USD
美国东部(弗吉尼亚北部)的表还原:4.35 USD
适用于 Kinesis 数据流的 CDC:4.22 美元
数据导出到 Amazon S3:2.90 USD
与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator (DAX) 集成:14.40 美元
DynamoDB Streams:0.02 USD
美国西部(俄勒冈州)的全局表的表还原:3.75 USD
全局表复制的写入请求:52.72 USD
美国西部(俄勒冈州)的全局表数据存储:0.50 USD
总费用:99.03 美元 -
按需定价:标准 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美元。使用 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 美元。
为您的表格使用DynamoDB标准IA可将表格的月度总费用减少50.9%,合165.88美元。 -
预置定价:简单示例
此示例演示了如何为具有预置容量的启用自动扩展的表计算定价。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 数据流的 CDC:现在假设您启用了流式传输到 Kinesis 数据流的功能,以便使用亚马逊 Kinesis 服务处理数据变更。同样,假设您的写入吞吐量与前面的示例一致。您的应用程序每秒执行 80 次 1KB 的写入操作。DynamoDB 每向 Kinesis 数据流写入 1 KB,就会向一个 CDC 单元收费。在一个月的时间里,这导致(80 x 3,600 x 24 x 30)= 207,360,000 个CDC单位。您每月的费用为:(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 加速器 (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 免费套餐中。您只需为剩余的 92000 个读取请求付费,即每 100000 个读取请求单位 0.02 USD。
总的来说,您的单区域 DynamoDB 表的每月总费用为:
- 预置容量:50.00 USD
- 数据存储:0.50 USD
- 按需备份:5.00 USD
- 持续 (PITR) 备份:5.80 USD
- 表还原:4.35 USD
- 适用于 Kinesis 数据流的 CDC:20.74 美元
- 数据导出到 Amazon S3:2.90 USD
- 与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator (DAX) 集成:14.40 美元
- 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 美元
- 数据导出到 Amazon S3:2.90 USD
- 与兼容 DynamoDB 的缓存服务 DynamoDB Accelerator (DAX) 集成:14.40 美元
- DynamoDB Streams:0.02 USD
- 全局表的表还原(俄勒冈):3.75 USD
- 全局表复制的写入容量:83.77 USD
- 全局表数据存储(俄勒冈州):0.50 USD
总费用:152.41 美元
-
预置定价:标准 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 美元 x 24 小时 x 30 天 = 63.18 美元的预置写入容量,
135 个 RCU x 每小时 0.00013 美元 x 24 小时 x 30 天 = 预置读取容量 12.63 美元。
简单来说,使用 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 标准表,当前的预吞吐量为每秒 12,000 个读取单元和每秒 4,000 个写入单元。对于即将到来的峰值事件,您预计表每秒需要 10 万个读取单位,因此将其设置为新的读取热吞吐量值。您将需要为额外的 8.8 万个读取单位(10 万和 1.2 万之间的差值)支付一次性费用,费率为 11.44 美元(8.8 万个单位 × 每个 RCU 0.00013 美元)。
无论您是在 DynamoDB 标准表类还是标准-不频繁访问表类中预热表或索引来进行读取或写入,此计费结构均适用。如果此表是全局表设置的一部分,且在三个区域 [包括美国东部(弗吉尼亚州北部)] 有副本,则所有三个副本都将预热,以支持每秒 10 万个读取单位的热吞吐量。除了美国东部(弗吉尼亚州北部)的费用外,您还需要按照全局表配置中每个区域的相应费率付费。
估算您的 DynamoDB 成本
根据吞吐量和可选功能估算每月成本。
DynamoDB 定价计算器找到今天要查找的内容了吗?
请提供您的意见,以便我们改进网页内容的质量