跳到主要内容

余额与账本

Superheat CN 是预付费的,以人民币计价。你给组织的余额充值,运行中的实例把这份余额扣下去。月底没有账单,也没有后付费——余额空了,任何新东西都启动不了。

余额​

每个组织一份余额,组织里的所有人共用。成员可以查看它并用它花钱;只有管理员能给它充值。参见 组织。

余额只有一种到账方式:用支付宝或微信支付扫码充值。选一个 ¥50、¥100 或 ¥500 的套餐,或者输入 ¥20 到 ¥10,000 之间的自定义金额。支付方一确认付款,余额就到账。参见 充值余额。

部署新实例和启动一个已停止的实例,都要求余额至少够组织届时要跑的一切跑一小时——这个实例的 GPU 加磁盘,加上其他所有运行中、启动中或正在创建的实例的 GPU 加磁盘,以及所有已停止实例的磁盘,不够时两者都会被拒绝。停止和销毁则始终允许。

什么会把它扣下去​

费用何时累计费率
GPU实例处于 running 期间报价中整块切片的小时价格,按秒计量
磁盘实例处于 stopped 期间报价中的存储费率,按你挂载的磁盘每 GB 每小时计

这就是全部。花在创建、启动、停止或销毁上的时间是免费的,出错的实例是免费的,已销毁的实例不再产生任何费用。

磁盘那一行是最容易把人绊倒的。已停止的实例仍然在一台物理机器上占着一块磁盘,在你销毁实例之前,这份预留你一直得付钱。停止与销毁 值得完整读一遍。

结算大约每分钟跑一次。每一次结算都按实例实际所处状态的费率,对上次结算以来累计的部分收费,并把它加到该实例当前这个小时的账本记录上,所以一个长时间运行的实例每小时产生一条记录,而不是最后一次性的一笔。

账本​

每一笔资金变动都是一条只追加记录里的一行。什么都不会被删除,更正就是再加一行。唯一仍在增长的,是实例当前这个小时的扣费记录,它标着进行中:每分钟的结算都会加到它上面,直到这个小时结束、实例改变状态,或者在它之后写入了一笔充值或调整。它增长时,排在它后面的扣费记录的余额也随之更新。完整的表格在控制台的 账单 页面上,位于余额和支出图表下方。

列它记的是什么
日期这条记录写入的时间,精确到秒
类型额度充值、GPU 使用、存储或调整(财务团队通过员工工具记入的显示为客服调整)
详情这笔费用所属的实例,以及它覆盖的时长;充值则显示付款方式
金额带符号:充值为正,扣费为负
余额这条记录写入之后的即时余额

余额这一列是让这份记录可审计的关键。你在控制台任何地方看到的数字都是这些行的总和,所以如果某个数字看着不对,让它变得不对的那条记录就在这张表里。

扣费带着它来自哪个实例,每个实例的花费数字就是这么算出来的;详情 单元格可以跳到那个实例。充值不带实例,详情里显示付款方式,例如通过支付宝。

实例自己的 账单 标签页是一份摘要,而不是账本的副本:到目前为止已结算的花费、运行时的每小时消耗速率,以及停止时的每小时消耗速率,并附有回到完整表格的链接。

用程序读取它​

curl -s "$SUPERHEAT_API/v1/billing/transactions?limit=50" \
-H "Authorization: Bearer $SUPERHEAT_KEY"

这个接口用游标翻页,并接受一个 instance_id 过滤参数,用来拉取某一个实例的费用。limit 默认为 50,上限是 200。GET /v1/billing/spend-daily 只返回扣费,并按天汇总,这正是支出图表画的数据;它的 days 窗口默认为 30,上限是 90。

金额都是整数。以 _micro 结尾的字段以百万分之一元计:2290000 就是 ¥2.29。付款接口里的金额(amount_minor)以分计:5000 就是 ¥50。简体中文控制台把人民币写作 ¥,英文和繁體中文控制台写作 CN¥。

余额可以变成负数​

结算是向后看的:它对已经用掉的时间收费。两次结算之间实例还在继续消耗,所以余额可能在任何机制作出反应之前就越过零。

这就是为什么有两道阈值而不是一道。到 ¥0 时,运行中的实例会被停止——你的数据还在。如果余额此后在 ¥0 或以下持续 24 小时,并且跌到 −¥35 或更低,已停止的实例会被销毁,磁盘也跟着一起没了。

只有管理员能拦住第二道阈值

如果你是别人组织里的成员,你无法充值。请盯着余额,一旦它变成负数就告诉管理员——在 ¥0 或以下满 24 小时、并跌到 −¥35 之后,谁也拿不回那块磁盘。

相关内容​