了解 Amazon DynamoDB 备份计费 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

了解 Amazon DynamoDB 备份计费

本指南详细介绍了 DynamoDB 如何对备份进行计费。我们将列出影响总体成本的各个组成部分,并提供清晰解释和实际示例。

DynamoDB 提供按需备份和时间点故障恢复(PITR)备份,来协助保护 DynamoDB 数据免受灾难事件的影响,并提供数据归档以实现长期保留。

工作方式

DynamoDB 按需备份是按月计费的。如果您在一个月内的任一天进行备份,系统会显示一笔根据当月剩余天数计算的备份费用(例如:在 27 日创建备份,那么当月只需支付剩余几天的费用,系统将在 27 日一次性收取)。

如果您在接下来的几个月保留之前创建的备份,系统始终会在每月第 1 天收取整月的备份费用。如果您在月底之前删除了备份,系统将根据实际使用量调整费用。

例如,如果您在 7 月 27 日创建了一个备份,并在整个 8 月一直保留该备份,那么该备份的费用将如下所示:

  • 7 月 27 日收取 7 月剩余天数的费用

  • 8 月 1 日收取整个 8 月的费用

  • 系统会在该备份存在的每个后续月份的第 1 天收取费用

  • 如果在下个月 15 日删除了备份,则收费将调整为仅收取备份存在 15 天的费用,仍在第 1 天收取

维护 DynamoDB 表的备份时,您可能会发现当月第 1 天显示的 DynamoDB (Region)-TimedBackupStorage-ByteHrs 使用量指标费用似乎异常高。此外,如果您在新月份开始时查看该指标,并将其与之前的计费周期进行比较,可能会观察到使用量似乎出现了较大峰值的情况。这是设计使然。每月第 1 天,系统会对任何现有 DynamoDB 备份收取整月的使用费。对于当月删除的任何 DynamoDB 备份,系统将按比例计算其使用费,以反映实际使用情况。因此,您可能会看到整个月的费用(在第 1 天收取)有所减少。这是因为保留策略会向执行的备份应用过期或手动删除。下面的场景将对此进行探讨。

DynamoDB 备份计费示例

以下示例是您月初可能会在 Cost Explorer 中看到的内容:

该图所示为 Cost Explorer 中的 DynamoDB 计费图表。

请注意,与前几个月相比,2 月 1 日的峰值似乎要大得多。我们来分析一下发生这种情况的原因。

DynamoDB 定价页面

“每月计费的总备份存储大小是所有 DynamoDB 表备份的总和。DynamoDB 会在整月持续监控按需备份的大小,以确定您的备份费用。”

这就解释了为什么账单上总是显示每月第 1 天的使用量有一个较大峰值。对于任何进入新月份的现有备份,系统会在第 1 天收取整月的费用。换句话说,如果您有 300 个 DynamoDB 备份进入新月份,系统会在当月第 1 天对所有 300 个备份都收取整月的使用费。

相比之下,当月进行的任何新备份都将在备份当天显示费用峰值,因为这笔费用是按当月剩余天数收取。

为什么本月第 1 天的使用量似乎比前几个月的使用量高得多,如果我删除备份会怎么样?

为了回答这个由两部分组成的重要问题,我们使用以下信息来设置一个示例场景:

  • 月长:30 天

  • DynamoDB 备份频率:10 个/天,300 个/月

  • DynamoDB 备份保留策略:30 天

  • DynamoDB 每个备份成本:2 美元/天,60 美元/月

  • 上个月第 1 天总计TimedBackupStorage-ByteHrs,在本月第 1 天结账):9300 美元

  • 上个月总计TimedBackupStorage-ByteHrs):18600 美元

  • 本月第 1 天总计TimedBackupStorage-ByteHrs,在第 1 天结账):18000 美元

  • DynamoDB 使用量逐月变化:无

根据上述信息,我们可以看到上个月创建了 300 个备份,其策略是将备份保留 30 天。在新月份第 1 天,所有这些备份仍会保留,因为它们的保留期尚未到期。但是,随着时间一天天的过去,最旧的备份集将开始丢弃,如下所示:

DynamoDB 备份丢弃表
新月份 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天
上个月执行的备份总数 300 290 280 270 260
  • 在第 1 天,可以看到有 300 个备份,每个备份每月 60 美元,总共对 TimedBackupStorage-ByteHrs 收取 18000 美元。相比之下,上个月整月总共收取 18600 美元。

  • 在第 2 天,其中的 10 个备份将过期并丢弃。发生这种情况时,对这些备份收取的费用将调整为根据实际使用量,而不是假设使用量。因此,这 10 个备份的费用(之前在第 1 天收取的 600 美元,10 个备份 x 30 天)将调整为降至 20 美元(10 个备份 x 1 天)。

  • 之后的一天,下一个包含 10 个备份的数据块将过期并丢弃,其使用量从 30 天缩短为 2 天,费用降至 40 美元(10 个备份 x 2 天)。

随着时间一天天的过去,我们将看到这个大于前一个月的峰值开始缩小。如果我们扩展到涵盖整个月,将观察到以下情况:

DynamoDB 备份费用(每月第 1 天)进度
300 个备份,每数据块 10 个 第 1 天 第 10 天 第 20 天 第 30 天
数据块 1 600 美元 20 美元 20 美元 20 美元
数据块 2 600 美元 40 美元 40 美元 40 美元
数据块 3 600 美元 60 美元 60 美元 60 美元
数据块 4 600 美元 80 美元 80 美元 80 美元
数据块 5 600 美元 100 美元 100 美元 100 美元
数据块 6 600 美元 120 美元 120 美元 120 美元
数据块 7 600 美元 140 美元 140 美元 140 美元
数据块 8 600 美元 160 美元 160 美元 160 美元
数据块 9 600 美元 180 美元 180 美元 180 美元
数据块 10 600 美元 600 美元 200 美元 200 美元
数据块 11 600 美元 600 美元 220 美元 220 美元
数据块 12 600 美元 600 美元 240 美元 240 美元
数据块 13 600 美元 600 美元 260 美元 260 美元
数据块 14 600 美元 600 美元 280 美元 280 美元
数据块 15 600 美元 600 美元 300 美元 300 美元
数据块 16 600 美元 600 美元 320 美元 320 美元
数据块 17 600 美元 600 美元 340 美元 340 美元
数据块 18 600 美元 600 美元 360 美元 360 美元
数据块 19 600 美元 600 美元 380 美元 380 美元
数据块 20 600 美元 600 美元 600 美元 400 美元
数据块 21 600 美元 600 美元 600 美元 420 美元
数据块 22 600 美元 600 美元 600 美元 440 美元
数据块 23 600 美元 600 美元 600 美元 460 美元
数据块 24 600 美元 600 美元 600 美元 480 美元
数据块 25 600 美元 600 美元 600 美元 500 美元
数据块 26 600 美元 600 美元 600 美元 520 美元
数据块 27 600 美元 600 美元 600 美元 540 美元
数据块 28 600 美元 600 美元 600 美元 560 美元
数据块 29 600 美元 600 美元 600 美元 580 美元
数据块 30 600 美元 600 美元 600 美元 600 美元
当月第 1 天总计(美元) 18000 美元 13500 美元 10400 美元 9300 美元

每天都有一个新数据块丢弃,系统会根据该数据块存在的天数调整其使用量,而不是按整月计算使用量。因此,到月底,第 1 天观察到的费用将从最初的 18000 美元降至预期的 9300 美元。将这个数字与当月新创建的备份(计费表与上表类似,但顺序相反)费用相结合,可得出月度支出与上个月的 18600 美元一致。