餘額與帳本
Superheat 採預付制。你替組織的餘額儲值,執行中的執行個體會扣減這筆餘額。月底不會有帳單,也沒有後付機制 — 餘額見底時,任何新東西都啟動不了。
餘額
每個組織一份餘額,由組織內所有人共用。成員可以查看並動用它;只有管理員能儲值。請參閱組織。
餘額只有一種進帳方式:Stripe 結帳。挑一個 $10、$25 或 $100 的方案,或輸入 $5 到 $1,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。
餘額可能變成負的
結算是回頭看的:它針對已經用掉的時間收費。兩次結算之間執行個體仍持續消耗,所以餘額可能在任何機制反應之前就已經跌破零。
這就是為什麼門檻有兩道而不是一道。餘額到 $0 時,執行中的執行個體會被停止,已停止執行個體的 GPU 會在機器支援的情況下被釋放 — 你的資料還在。如果餘額此後在 $0 以下停留滿 24 小時,並且掉到 −$5,已停止的執行個體就會被銷毀,硬碟也跟著沒了。
如果你是別人組織裡的成員,你無法儲值。盯著餘額,一到 $0 就告訴管理員 — 遠在它低於零滿 24 小時、掉到 −$5 之前 — 因為之後沒有人能把硬碟拿回來。