Azure 在用多少付多少的計價模式下,將服務都關閉了還是有非預期的費用產生!?這可不是我們想要的,接下來我們將針對三個常見的情境進行探討。
非常感謝微軟技術團隊的 Stella Huang 講師親自為我們說明如何避免非預期的費用產生?講師模擬了企業與個人最常碰到的三種情境:
- 虛擬機器(Virtual Machine):為何虛擬機器關機了卻有費用?
- 儲存體(Storage Account):為何虛擬機器刪除了卻有費用?
- App Service:為何 Web App 刪除了卻有費用?
首先,是在虛擬機器關機了卻還有費用的產生?這個問題可能是發生在使用遠端桌面連入虛擬機器中執行關機的動作,此時虛擬機器的時候狀態會是「已停止/Stopped」[1];我們可以參照下表[2]得知此狀態會持續產生已分配核心的費用,而不會有軟體授權費用。我們可以透過下列的方法來停止虛擬機器讓狀態成為「已停止(已重新分配)/Stopped (Deallocated)」,此狀態將不會分配核心給虛擬機器,故不會產生核心分配費用,但會繼續產生虛擬機器連接的磁碟所需要的儲存體費用。
狀態 | 是否計費 | 詳細資料 |
---|---|---|
正在啟動/Starting | 是 | 這是 VM 最初的啟動狀態,表示 VM 正在執行開機週期。這段期間的計費方式視同 VM 正在執行。 |
正在執行(已啟動)/Running (Started) | 是 | VM 的執行中狀態。 |
已停止/Stopped | 是 | 我們會向您收取已分配核心的費用,而不是軟體授權費用。 注意:若要將 VM 的狀態設為「已停止」,請使用 VM 中的電源選項,而不要從 Azure 管理入口網站中設定。 |
已停止(已重新分配)/Stopped (Deallocated) | 否 | 核心已不再分配到 VM,且不會計費。 注意:若要將 VM 的狀態設為「已停止 (已重新分配)」,請使用 Azure 管理入口網站中的 [關閉] 選項。 |
※ 註:狀態為已停止(已重新分配)時,會繼續產生虛擬機器連接的磁碟所需要的儲存體費用。
- 從 Azure Portal 上將虛擬機器關機。
- 使用 PowerShell 指令「Stop-AzureVM」[3]來關閉虛擬機器。
- 在服務管理 REST API 中使用關機角色作業,並為 PostShutdownAction 元素指定 StoppedDeallocated。[4]
第二,是已經將虛擬機器刪除了卻還有費用的產生?其實在虛擬機器刪除後還是會保留 VHD 在儲存體裡所以還是會產生儲存體的費用。第一種方法是我們可以透過 Azure Portal 的 [虛擬機器] → [磁碟] 中查看沒有已關機虛擬機器而 VHD 還是存在,此時可以選擇不須要的虛擬機器後,點選 [刪除] → [刪除關聯的 VHD] 即可。第二種方法是直接在 [儲存體] → [容器] → [VHDS] 下選擇不須要的 VHD 點選 [刪除] 即可。如果使用 Azure Peviwe Portal 則可在 [儲存體(傳統)] → [Blobs] → [容器] → [VHDS] 裡選擇不須要的 VHD 後進行刪除。但如過該 VHD 的 Lease Status 為 Locked 則表示還與虛擬機器有關聯,可透過 [OS 磁碟(傳統)] 查看磁碟是否存在,但目前還是須要回到 Azure Portal 中進行刪除。
最後,是在 Web App 已刪除後仍有費用的產生?主要是每個 Web App 都會搭配一個應用程式服務方案(App Service Plans)而每個應用程式服務方案都會分配實體資源來提供 Web App 運行,故未刪除應用程式服務方案仍會佔用實體資源繼續產生費用。我們可透過 [應用程式服務方案] 中查看應用程式服務方案的 [App] 欄位裡是否還有其他的 Wbe App 正在使用,若無則可將該應用程式服務方案先刪除以避免費用的產生。
完整的影片與簡報可以在:「服務都關閉了,怎麼還會有費用? | Azure 雲端小撇步 - 帳戶帳單篇 | Channel 9」進行觀看與下載,或是直接觀看下列的影片進行更深入的瞭解,非常感謝!
參考資料:
本著作由Zhi-Wei製作,以創用CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款釋出。