自動停止與自動銷毀
有兩道餘額門檻會對你的執行個體觸發自動處置。第一道保護你的錢。第二道刪掉你的資料。
| 餘額 | 會發生什麼 | 你的硬碟 |
|---|---|---|
| 到達 $0 | 組織裡每個 running 的執行個體都會被停止,已停止執行個體的 GPU 會在機器支援的情況下被釋放 | 保留,而且繼續計費 |
| 在 $0 或以下持續 24 小時,且在 −$5 或以下 | 每個已停止或處於 error 的執行個體都會被銷毀 | 永久刪除 |
執行中的執行個體絕不會被直接銷毀:到 $0 時它會被停止,之後只有已停止的執行個體才可能被自動銷毀。組織有尚未解決的付款爭議期間,不會有任何東西被銷毀。
一旦執行,沒有快照、沒有垃圾桶,也沒有任何方法救回裡面的內容。那 24 小時是讓你儲值的寬限期,不是備份。請把餘額保持在零以上,一旦變成負的就立刻儲值。
餘額究竟怎麼會變成負的
費用是在用量發生之後才結算,大約每分鐘一次。因此執行中的執行個體在餘額跌破零之後,還可能再吃掉大約一分鐘的 GPU 時間,結算作業才會看到它並把它停掉。
從那一刻起,往下掉的動力來自儲存。停止中的執行個體不管有沒有餘額可付,硬碟照樣計費,所以餘額歸零並不會讓錶停下來 — 它會一路往 −$5 掉。
到 $0:自動停止
當結算作業發現某個組織的餘額歸零或更低:
- 每個處於
running狀態的執行個體都會被停止。容器關閉,硬碟保留,但和你自己的停止不同,這次停止會在機器支援的情況下把 GPU 釋放回機器:既然沒有人為它們付錢,其他租用者就可以使用它們。 - 原本就已停止的執行個體 — 包括你自己停止、GPU 一直為你保留的那些 — 其 GPU 也會以同樣方式被釋放。
- GPU 費用結束。儲存費用繼續,金額為硬碟容量乘上每 GB 每小時的儲存費率。
- 被釋放的執行個體會把容器和硬碟留在機器上,儲值之後可以再次啟動 — 但只能用同樣的 GPU。如果那時另一位租用者正在使用其中任何一張,啟動會以
409 CAPACITY_UNAVAILABLE被拒絕,執行個體連同硬碟維持停止。請參閱停止與銷毀。 - 在無法釋放 GPU 的機器上,或執行個體執行的是
vm範本時,GPU 會像你自己停止之後一樣繼續為執行個體保留,執行個體仍然只收取儲存費。 - 部署新的執行個體與啟動已停止的執行個體都會失敗並回傳
INSUFFICIENT_BALANCE,直到你儲值為止——而且儲值後的餘額必須足以支付組織屆時所有執行項目一小時的費用,只是回到零以上並不夠。 - 這個動作會記錄在組織的用量記錄中:執行中的執行個體記為
instance.auto_stopped,已停止的執行個體記為instance.auto_released;主控台的用量頁面分別顯示為 自動停止(餘額不足) 與 自動釋放 GPU。 - 自動銷毀的 24 小時計時開始。
當下正在轉換狀態的執行個體 — creating、starting — 那一刻不會被動到;等它們進入 running 之後,較晚的一輪作業會把它們停掉。
儲值之後不會有任何東西自己重新啟動。被自動停止的執行個體會維持停止,直到你從主控台或 API 啟動它們;被釋放的 GPU 也不會被重新保留:下一次啟動會重新取回它們,前提是它們仍然空閒。
付款爭議未結期間
一筆正式的付款爭議會凍結組織的付款,在它結束之前,啟動已停止的執行個體會以 402 PAYMENTS_FROZEN 被拒絕。為無法啟動的執行個體保留 GPU 沒有任何意義,所以在付款被凍結期間:
- 已停止執行個體的 GPU 會在下一輪結算作業中被釋放,即使餘額為正也一樣,前提是機器支援;
- 你按下的停止會在機器支援的情況下立刻釋放 GPU — 主控台的停止對話框會在你確認之前說明這一點 — 而且 API 在該組織每個執行個體上的
stop_releases_gpus都為true; - 凍結本身不會停止任何執行中的執行個體:它們繼續執行並計費,上面的零餘額規則仍然適用於它們;
- 爭議未結期間不會自動銷毀任何東西。
爭議結束後,這些執行個體就是一般的已釋放停止:只要同樣的 GPU 空閒,啟動就能成功。什麼會凍結與解凍一個組織,請參閱交易與花費。
24 小時後、到 −$5:自動銷毀
只有在以下三個條件同時成立時,自動銷毀才會執行:
- 餘額在 −$5 或以下;
- 餘額已在 $0 或以下持續至少 24 小時,中間沒有中斷;
- 組織沒有尚未解決的付款爭議。
接著它會銷毀組織裡每個 stopped 與 error 的執行個體。對每一個執行個體:
- 容器與硬碟都會被移除。那顆硬碟上的所有東西都會被刪除,永久地。
- 拆除完成後,GPU 插槽會釋放回市集,可以被別人租走。
- 該執行個體的所有費用結束。
- 這個動作會以
instance.auto_destroyed記錄在用量記錄中。
仍在執行的執行個體會被停止,而不是銷毀;等它們變成 stopped 之後,下一輪作業才可能銷毀它們。正在轉換狀態的執行個體,會等它們穩定下來之後,由較晚的一輪作業處理。
被銷毀的執行個體無法靠事後儲值救回來。之後儲值的餘額只適用於新的工作。
儲值可以擋下這兩個動作
每一輪結算作業在對某個執行個體動手之前,都會重新讀一次餘額。如果你的付款先到,強制執行的步驟就會被跳過,不會有任何東西被停止或銷毀。付款一確認餘額就會入帳。讓餘額回到零以上的儲值也會重設 24 小時的計時:之後如果又變成負的,寬限期會重新開始。
讓餘額仍停在零或以下的儲值不會重設計時,只會讓餘額在 −$5 以上撐得更久。
怎樣才永遠碰不到第二道門檻
用完的東西就銷毀掉。 一個你已經沒有打算再用的停止中執行個體,就是一台債務計時器。把你需要的東西複製出來,然後銷毀它。請參閱 停止與銷毀的差別。
走人之前先把儲存費算一遍。 把硬碟容量乘上儲存費率得到每小時金額,再算出你的餘額撐得了多久。以儲存費每 GB 每小時 $0.0002 計算:
| 硬碟 | 停止中的費用 | 從 $0 到 −$5 的時間 | 何時被銷毀 |
|---|---|---|---|
| 200 GB | $0.04/小時 | 約 5 天 | 約 5 天後 |
| 500 GB | $0.10/小時 | 約 2 天 | 約 2 天後 |
| 1,000 GB | $0.20/小時 | 約 1 天 | 約 1 天後 |
| 2,000 GB | $0.40/小時 | 約 12 小時 | 24 小時後 |
自動銷毀會等到兩者中較晚的那一個:在零或以下滿 24 小時,或餘額到達 −$5。這個緩衝期是一天或幾天,不是一個月。一個長週末就足以讓你賠掉一顆大硬碟。
依工作需要決定硬碟大小。 一顆習慣性開下去的 2,000 GB 硬碟,停在那裡的成本是 200 GB 的十倍,半天就會到 −$5——之後擋在你和它被刪除之間的,只剩 24 小時的寬限期。
盯著餘額標記。 主控台頁首的餘額大約每分鐘更新一次,而且一掉到 $5 以下就會變色。請把它當成該儲值的訊號,而不是一個可以先擺著的警告。
放假前留好緩衝。 如果沒人會看著這個帳號,那就把執行個體銷毀,或是留下足以支付整段期間儲存費的餘額,而且要留有餘裕。