Reserved instance 账单中的使用时长为何达到 163hrs?
结论
账单里的 163hrs 通常不代表实例已经连续运行了 163 小时,而是指购买 Reserved Instance(RI)后,从购买时刻到当前账单周期结束需要计费的 RI 小时数。
假设 RI 的小时费率约为 $0.03/hour,费用为:
[ 163 \times $0.03 = $4.89 ]
考虑显示精度或其他费用后,账单金额可能在 $5 左右。
Reserved Instance 是一种期限承诺和计费折扣,并不是另外创建的一台实例。RI 生效后,固定小时费用通常会持续产生,无论与其匹配的 EC2 实例正在运行还是已经停止。
为什么刚购买就出现 163 小时
AWS 的 RI 费用通常包括以下几部分:
- 一次性预付费用,具体取决于
All Upfront、Partial Upfront或No Upfront付款方式。 - 固定小时费用,在 RI 有效期内持续计算,不取决于实例是否运行。
- 超出 RI 覆盖范围的实例费用,按照 On-Demand 或其他适用价格计算。
如果在账单周期中途购买 RI,AWS 可能一次列出从购买时间到该周期结束的剩余 RI 小时数。例如,距离月底还有约 163 小时,账单中可能显示:
163 Hrs
它表示本账单周期需要承担 163 个 RI 小时的费用,并不代表实例在一天内实际运行了 163 小时。
账单字段可能因 AWS Billing 页面、RI 付款方式和账单展示方式而有所不同。核对时应以账单明细中的 UsageType、Operation 和费用说明为准。
之前运行的 2 小时如何计费
整个过程可以按时间顺序理解:
- 启动
m3.mediumOn-Demand 实例。 - 运行约 2 小时后停止。
- 购买
m3.mediumReserved Instance。 - 重新启动原来的实例。
购买 RI 之前已经产生的 2 小时使用量,通常仍按 On-Demand 价格结算。RI 折扣一般不会追溯到购买前的使用量。
购买 RI 后,也不需要把原实例“转换”为 Reserved Instance。只要重新启动的实例符合 RI 的匹配条件,计费系统就会自动把 RI 优惠应用到对应的使用量。实例 ID 是否与购买前相同,通常不会影响匹配结果。
如何核对账单
在 Billing and Cost Management 中展开 EC2 费用,重点查看以下项目:
Reserved Instances或 RI recurring fee:RI 的固定费用。EC2 running hours:实例实际运行产生的使用量。On-Demand:没有被 RI 覆盖的运行时间。Upfront Fee:购买 RI 时支付的一次性费用。UsageType:实例规格、区域和使用类型。Availability Zone、平台和 tenancy:用于判断实例是否符合 RI 的匹配条件。
也可以使用 AWS CLI 查看 RI 配置:
aws ec2 describe-reserved-instances \
--filters Name=state,Values=active
查看当前实例配置:
aws ec2 describe-instances \
--instance-ids i-xxxxxxxxxxxxxxxxx \
--query 'Reservations[].Instances[].{
InstanceId:InstanceId,
InstanceType:InstanceType,
State:State.Name,
AvailabilityZone:Placement.AvailabilityZone,
Tenancy:Placement.Tenancy,
PlatformDetails:PlatformDetails
}'
对比 RI 和实例时,至少需要检查:
- Region
- Instance type 或适用的规格灵活性
- Platform
- Tenancy
- Availability Zone(对于限定可用区的 RI)
注意事项
- 停止实例通常只能避免产生额外的实例运行费用,不能停止 RI 自身的固定小时费用。
- RI 的期限不会因为实例停止而暂停或顺延。
- 一份 RI 在同一小时内通常只能覆盖对应数量的匹配实例。
- 如果实例与 RI 不匹配,账单中可能同时出现 RI 固定费用和 On-Demand 实例费用。
- 购买 RI 前产生的 On-Demand 费用一般不会在事后抵扣。
m3.medium是较早的实例类型,具体匹配规则还可能受到 RI 类型、购买时间和当时 AWS 计费规则的影响。
因此,约 $5 的费用与 163hrs × 小时费率 基本吻合。接下来需要确认该记录是否属于 RI recurring fee,并检查重新启动的实例是否已被这份 RI 正确覆盖。
备注:内容仅供参考。
