AWS 计费计算的幕后 - 按秒计费、按 100ms 计费、按请求计费是如何计量的
解析 EC2 的按秒计费、Lambda 的按 1ms 计费、S3 的按请求计费等 AWS 多样化计费粒度是如何计量、汇总和出账的,从计量系统机制进行说明。
计费粒度的演进 - 从按小时到按 1ms
AWS 的计费粒度随着服务的发展不断细化。EC2 在 2006 年推出时采用按小时计费。即使只使用 1 分钟也会产生 1 小时的费用。2017 年 10 月,AWS 将 EC2 的计费改为按秒(最低 60 秒)。这一变更使得短时间批处理或 Spot 实例中断时,只需支付接近实际使用时间的费用。Lambda 更加精细,2020 年从 100ms 单位改为 1ms 单位。在 100ms 单位下,即使执行时间仅 1ms 也要支付 100ms 的费用,改为 1ms 单位后,这种向上取整造成的计费时间浪费不再发生。效果的大小取决于函数执行时间的分布,实际能降低多少费用需要查看自己函数的 Duration 来判断。Fargate 按秒(最低 1 分钟)、RDS 按秒(最低 10 分钟)、S3 基于请求数和数据量,各服务的计费粒度各不相同。这种多样性是为各服务的使用模式提供最优计费模型的设计决策。
计量系统 - 使用量如何被测量
AWS 计费的背后存在着收集和汇总海量使用数据的计量系统。各服务将使用事件(实例启停、API 请求、数据传输量等)记录为计量记录。EC2 的情况下,从实例启动到停止的时间以秒为单位计量(最低 60 秒),其差值被记录为使用秒数。Lambda 的情况下,函数的执行时间以 1ms 为单位计量。承担计量的内部组件构成并未公开,但计费对象的粒度在各服务的价格页面中有明确说明。S3 的情况下,每个请求被记录到日志中,按请求类型(GET、PUT、DELETE 等)分别计数。这些计量记录通过 AWS 内部管道汇总,最终以 Cost and Usage Report(CUR)的形式提供给客户。CUR 中每行对应一条使用记录,大规模 AWS 环境中月度可达数亿行。计量精度直接关系到计费的公平性,因此 AWS 将计量系统的可靠性维持在极高水准。
数据传输费用的复杂性 - 为何难以理解
AWS 费用体系中最难理解的是数据传输费用。数据传输费用因数据移动方向、源和目标区域、源和目标服务、数据量阶梯而异。基本规则是:向 AWS 传入数据(入站)免费,从 AWS 向互联网传出数据(出站)收费。但同一可用区内的数据传输免费,同一区域内不同可用区间的数据传输收费(0.01 USD/GB)(截至 2026 年 8 月)。不同区域间的数据传输更贵,单价因区域组合而异,估算时请在官方价格表中确认对应组合的单价。通过 CloudFront 的数据传输有时比从 EC2 直接向互联网传输更便宜。这是因为 CloudFront 的费率与 EC2 的数据传输费率分别设定。例如,从 us-east-1 向日本传输数据,EC2 直接为 0.09 USD/GB,CloudFront 为 0.114 USD/GB(日本向)。不过在实际总额上有两个条件起作用:一个是以 S3 作为源站时的源站获取免费,另一个是缓存命中的部分不会产生到源站的传输。缓存命中率高的工作负载中,从源站流出的数据量本身会减少,因此总额低于从 S3 直接分发。反之,每次都要回源的动态内容会直接受到单价差的影响,总额更高。
账单到达前的幕后管道
AWS 的月度账单在月末截止后于次月上旬确定。确定的日期会因账户的计费周期和销售方而前后变动,无法当作固定的日期来对待。此外,本节列出的单价为 2026 年 8 月时点、美国东部(us-east-1)的单价。确定之前会进行海量计量数据的汇总、折扣应用(Savings Plans、RI、批量折扣)、税金计算和货币换算。Cost Explorer 显示的成本数据不是实时的,最多有 24 小时延迟。这是因为计量数据的收集和汇总存在时间差。特别是数据传输费用和第三方 Marketplace 费用往往需要更长的汇总时间。Savings Plans 和 RI 的折扣不是月末统一应用,而是在使用发生时实时应用。Savings Plans 的情况下,每小时比较承诺金额和实际使用金额,承诺金额以内的使用适用折扣价,超出部分适用按需价格。使用 AWS Organizations 的合并账单(Consolidated Billing)时,组织内所有账户的使用量合计后计算批量折扣。例如,S3 的存储费用前 50TB 为 0.023 USD/GB、接下来 450TB 为 0.022 USD/GB 的阶梯定价,合并账单按所有账户总量判定阶梯,比单独计费更有利。
防止意外账单的实践对策
由于 AWS 费用体系的复杂性,出现意外高额账单的情况并不罕见。最常见的原因是忘记停止的资源。为开发测试启动的 EC2 实例、NAT Gateway、Elastic IP、RDS 实例被放置不管,月末收到数百到数千美元账单的模式。设置 AWS Budgets 告警后,可在达到预算 80% 时收到通知。进一步使用 AWS Budgets Actions,可在超出预算时自动应用 IAM 策略限制新资源创建。Cost Anomaly Detection 基于机器学习检测异常成本增长,对偏离正常模式的支出发出告警。但检测并非实时。即使平时月额 100 USD 的 S3 费用突然跳升到 1,000 USD,到被判定为异常也需要时间,因为 Cost Anomaly Detection 以 Cost Explorer 的成本数据作为输入,该数据的更新延迟会直接成为检测的延迟。它不是当场阻止支出激增的机制,而应作为最晚次日能够察觉的机制纳入运维。另一个容易忽视的成本是 CloudWatch Logs 的数据摄入费用。Lambda 或 ECS 的日志大量输出时,CloudWatch Logs 的摄入费用(us-east-1 为 0.50 USD/GB,截至 2026 年 8 月)会超出预期。摄入单价因区域而异,估算时请使用所用区域的单价。适当设置日志级别和缩短不必要日志的保留期限是有效对策。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。