自動停止與自動銷毀
有兩道餘額門檻會對你的執行個體觸發自動處置。第一道保護你的錢。第二道刪掉你的資料。
| 餘額 | 會發生什麼 | 你的硬碟 |
|---|---|---|
| 到達 ¥0 | 組織裡每個 running 的執行個體都會被停止;在機器支援的地方,GPU 會被釋放 | 保留,而且繼續計費 |
| 在 ¥0 或以下持續 24 小時,且到達 −¥35 或更低 | 每個已停止或出錯的執行個體都會被銷毀 | 永久刪除 |
執行中的執行個體永遠不會被直接銷毀:到 ¥0 時它會被停止,之後只有已停止的執行個體才可能被自動銷毀。
一旦執行,沒有快照、沒有垃圾桶,也沒有任何方法救回硬碟裡的內容。這 24 小時是讓你儲值的寬限期,不是備份。請把餘額保持在零以上,一旦變成負的就立刻儲值。
餘額究竟怎麼會變成負的
費用是在用量發生之後才結算,大約每分鐘一次。因此執行中的執行個體在餘額跌破零之後,還可能再吃掉大約一分鐘的 GPU 時間,結算作業才會看到它並把它停掉。
從那一刻起,往下掉的動力來自儲存。停止中的執行個體不管有沒有餘額可付,硬碟照樣計費,所以餘額歸零並不會讓錶停下來 — 它會一路往 −¥35 掉。
到 ¥0:自動停止
當結算作業發現某個組織的餘額歸零或更低:
- 每個處於
running狀態的執行個體都會被停止:容器關閉,硬碟保留。和你自己停止不同,在機器支援的地方,這次停止會把 GPU 釋回市集。 - 已停止、而 GPU 仍為你保留的執行個體(你自己停止的那些),在機器支援的地方也會釋放 GPU。這個動作會以
instance.auto_released記錄在用量記錄中,顯示為自動釋放 GPU。 - GPU 費用結束。儲存費用繼續,金額為硬碟容量乘上每 GB 每小時的儲存費率。
- 部署新的執行個體與啟動已停止的執行個體都會失敗並回傳
INSUFFICIENT_BALANCE,直到你儲值為止 —— 而且儲值後的餘額要足夠組織屆時要跑的一切跑一小時,而不只是回到零以上。 - 這個動作會以
instance.auto_stopped記錄在組織的用量記錄中。 - 自動銷毀的 24 小時計時從這時開始。
當下正在轉換狀態的執行個體 — creating、starting — 那一刻不會被動到;等它們進入 running 之後,較晚的一輪作業會把它們停掉。
儲值之後不會有任何東西自己重新啟動。被自動停止的執行個體會維持停止,直到你從主控台或 API 啟動它們。
GPU 被釋放之後
硬碟仍然留在原來那台機器上,停止期間照樣按儲存費率計費。執行個體頁面顯示「GPU 已釋放」。之後啟動要拿回同一台機器上原來那幾張 GPU。它們空閒時,執行個體照常啟動;正被別人使用,或者在那台機器上已停止服務時,啟動會失敗,有兩種情形。要麼請求本身以 409 CAPACITY_UNAVAILABLE 失敗,主控台提示「此執行個體使用的 GPU 目前正被他人使用,無法啟動。執行個體仍處於已停止狀態,磁碟完好——請稍後再試。」要麼平台先接受了啟動、機器隨後才拒絕:執行個體先進入 starting,再回到 stopped,執行個體頁面在上一個操作沒有完成下顯示 gpus_unavailable 的說明。
無論哪一種,執行個體都維持停止、硬碟完好,但在啟動成功之前,誰也拿不到硬碟上的資料:SSH 和 JupyterLab 都要執行個體在執行中。請稍後再啟動。只有不再需要這些資料時才銷毀它,因為銷毀會刪除硬碟;如果啟動一直不成功,銷毀後重新部署是唯一的出路。想留一份資料,就要在餘額用完之前、執行個體還在執行時把它複製出來,請參閱停止與銷毀的差別。
GPU 並不總是能釋放:虛擬機器(vm 啟動模式)的執行個體從不釋放;機器還不支援釋放,或者這台機器上 GPU 已釋放的執行個體已經太多時,也不釋放。這時 GPU 繼續為你保留,和你自己停止一樣,停止期間只收儲存費用。用量記錄裡的自動釋放 GPU記錄的是平台的這次嘗試;只要餘額還不夠,平台每 6 小時會再試一次,每次再記一筆。
24 小時後、到 −¥35 時:自動銷毀
只有下面兩個條件同時成立,自動銷毀才會執行:
- 餘額在 −¥35 或以下;
- 餘額已經連續 24 小時處在 ¥0 或以下,中間沒有回到零以上過。
這時結算作業會銷毀組織裡每個 stopped 與 error 狀態的執行個體。對每一個執行個體:
- 容器與硬碟都會被移除。那顆硬碟上的所有東西都會被刪除,永久地。
- 拆除完成後,GPU 插槽會釋放回市集,可以被別人租走。
- 該執行個體的所有費用結束。
- 這個動作會以
instance.auto_destroyed記錄在用量記錄中。
還在執行的執行個體會被停止,而不是被銷毀;等它們變成 stopped,之後的一輪作業才可能銷毀它們。正在轉換狀態的執行個體,會等它們穩定下來之後,由較晚的一輪作業處理。
被銷毀的執行個體無法靠事後儲值救回來。之後儲值的餘額只適用於新的工作。
儲值可以擋下這兩個動作
每一輪結算作業在對某個執行個體動手之前,都會重新讀一次餘額。如果你的付款先到,強制執行的步驟就會被跳過,不會有任何東西被停止或銷毀。支付方一確認付款,餘額就會入帳。讓餘額回到零以上的儲值,也會重置 24 小時的計時:之後餘額若再次變成負的,寬限期會重新開始。
儲值後餘額仍在 ¥0 或以下時,計時不會重置,只是讓餘額離 −¥35 遠一些。
怎樣才永遠碰不到第二道門檻
用完的東西就銷毀掉。 一個你已經沒有打算再用的停止中執行個體,就是一台債務計時器。把你需要的東西複製出來,然後銷毀它。請參閱 停止與銷毀的差別。
走人之前先把儲存費算一遍。 把硬碟容量乘上報價上顯示的儲存單價,得到停止期間每小時的費用;再用 ¥35 除以它,就是餘額從 ¥0 掉到 −¥35 要花幾個小時:
小時數 = ¥35 ÷(硬碟 GB × 每 GB 每小時儲存單價)
下表以每 GB 每小時 ¥0.002 的示例單價計算,你的實際單價以報價為準:
| 硬碟 | 停止中的費用(示例) | 從 ¥0 到 −¥35 的時間(示例) | 被銷毀的時間(示例) |
|---|---|---|---|
| 200 GB | ¥0.40/小時 | 約 87 小時,3 天多 | 約 87 小時 |
| 500 GB | ¥1.00/小時 | 35 小時,約 1.5 天 | 35 小時 |
| 1,000 GB | ¥2.00/小時 | 17.5 小時,不到 1 天 | 24 小時 |
| 2,000 GB | ¥4.00/小時 | 不到 9 小時 | 24 小時 |
自動銷毀會等兩者中較晚的那一個:在 ¥0 或以下滿 24 小時,或餘額到達 −¥35。以這個示例單價來看,緩衝期是一到幾天,不是一個月。一個長週末就足以讓你賠掉一顆大硬碟。
依工作需要決定硬碟大小。 一顆習慣性開下去的 2,000 GB 硬碟,停在那裡的成本是 200 GB 的十倍;以同一個示例單價,不到 9 小時就會跌到 −¥35,之後你和它被刪除之間只剩那 24 小時的寬限期。
盯著餘額標記。 主控台頁首的餘額大約每分鐘更新一次,而且一低於 ¥35 就會變成琥珀色。請把它當成該儲值的訊號,而不是一個可以先擺著的警告。
放假前留好緩衝。 如果沒人會看著這個帳號,那就把執行個體銷毀,或是留下足以支付整段期間儲存費的餘額,而且要留有餘裕。