文章段落
GCP 費用計算有哪些盲點是容易被忽略的?為甚麼帳單的數字比心中預期的多這麼多?如果每當老闆問你「上個月怎麼花這麼多?」時就不會答不出來,或被要求將 VM 使用費降到最低,那就快跟著我們一起來看以下的進階版 GCP 費用計算教學和折扣方案購買攻略吧!
GCP 費用計算重點1:帳單明細
首先是首頁的預估費用,各位不要看到0就覺得好開心,GCP 是全球性的服務,所以它當天的帳務資料是全球跑完一輪才會結算並顯示在 Console 上。所以如果現在立刻開一台機器,通常要一天半左右才會在首頁看到費用。
第二,如果申請到優惠活動,Google 有贈送一些使用額度 Credit 給你的話,它會先扣掉 Credit 之後再顯示。例如你申請了500 USD 試用,而這個月用了400 USD,那它還是顯示0元喔!
接下來進入帳單報表後請先把左圖旁那各式各樣的折扣勾勾全部取消喔!不然你以為都沒花到錢那真是誤會大了!再來,因為帳單帳戶和專案是以一對多的方式呈現,所以要記得先選好要查看的專案,然後分組依據再選擇 SKU,就不會所有專案用的東西都混在一起喔!
選好後往下滑就會看到各種明細項目,數量非常繁多並依費用大小由上往下排列,以下依序為大家說明圖中的各個項目。
首先第一筆 「SSD backed PD Capacity」 指的就是 Compute Engine 的 SSD Disk,也就是 VM 所使用的 SSD Disk 大小。它顯示的 gibibyte month 可以解釋成這個月內平均的用量單位。因為你可能在月初用了一個100 GB 的 SSD,但是月中的時候把它刪掉了,所以下個月你不會收到 100GB SSD 的帳單,可能在 50 GB 左右。這裡順便提,GCP 很多產品可以細到以分鐘甚至以秒計費,所以它不會因為你在9/30建了1 TB 的 Disk,10月就跟你收1 TB 整個月的費用喔!
再來這個長長的SKU 「Network Load Balancing: Forwarding Rule Minimum Service Charge in APAC」,指的是 Load Balance 中使用的 Forwarding Rule 費用,它是依照使用時間來計費的。
截圖自:Google Cloud Platform Console 頁面
©2021 Google
接下來第三筆 「N1 Predefined Instance Core running in APAC」和第五筆「N1 Predefined Instance Ram running in APAC」,就是你開 VM 所使用的 vCPU 和 Memory 費用,如果你的 VM 是整個月開著完全不關,那在單位時數就會記成大約 720 或 744 小時;但如果在一個月裡機器開開關關的話,它的時數就不容易理解,因為它會把同一個 Region 和同一種機器類型的 vCPU 及 Memory 的費用全部加在一起。那如果要分開一台一台 VM 看成本的話怎麼辦呢?請大家參考《【GCP教學】如何掌握各台主機VM的成本?使用標籤Label功能》這篇文章。
這裡再補充一點,在一個月裡機器開開關關的話就不是7折了喔,因為它的折扣是每周單價 (100% + 80% + 60% + 40%)/4 = 70% ,如果只有開兩周就是 (100% + 80%)/2 = 90% ,細節請參閱《聽說GCP費用最低?各種折扣方案完整說明》這篇文章的說明。而第四筆的 「Storage PD Capacity」就很容易理解了,就是機器使用 Persistent Disk 的費用。
GCP 費用計算重點2:承諾使用折扣
當你發現你的 VM 用了一段時間,大概了解平均每個月會用多少 vCPU 和 Memory 後,就可以準備購買 CUD (Committed Usage Discount)省下更多成本了!以下請大家跟著我們一起實作看看吧!
開始購買承諾使用價格:
1. 從主選單裡進入「帳單」頁面
2. 點選側欄的「承諾使用價格分析」
3. 承諾類型選擇「根據資源而定的承諾」
P.S. 「根據支出而定的承諾」是針對 Cloud SQL 用的,這裡先不多提。
截圖自:Google Cloud Platform Console 頁面
©2021 Google
進來後,要先確認你選的機器類型和地區 Region,例如 asia-east1 的 N1 vCPU,因為 CUD 是以機器類型和地區為單位來購買的。所以下圖我們是直接看上個月平均每天大概會用多少 vCPU。其中要先注意的是承諾使用率 100% 是有點問題的,因為現在完全沒有購買折扣,所以要看左邊的有效使用承諾是「無」才是準的。
截圖自:Google Cloud Platform Console 頁面
©2021 Google
記得要順便切成 N1 Ram,因為 CUD 是 vCPU 和 RAM 一起買,所以既然都買 vCPU 了那就跟 RAM 一起買吧!至於要買多少,最簡單的估算就是以用量最低的一天來劃一條線,這樣就能確保買到的 CUD 都能 100% 用得到。(因為沒用到的 Google 還是跟你照算錢)或是直接點建議最快,Google 會依照你目前的使用量給你建議的 CUD 方案。
截圖自:Google Cloud Platform Console 頁面
©2021 Google
進去後會直接看到它主動提議的用量。雖然它都幫我們算好了,但還是建議你要張大眼睛看清楚,因為 CUD 一買就是一年或三年,只要下錯就無法反悔喔!因此這邊還是請大家先看完《聽說GCP費用最低?各種折扣方案完整說明》文中的這一段再下手!
截圖自:Google Cloud Platform Console 頁面
©2021 Google
購買後一個月你就會看到像下面這樣的圖表,藍色指的是已經在 CUD 下的用量。例如你買 40 vCPU,然後你實際上用 50 vCPU,那這 40 vCPU 就是藍色。那沒套用 CUD 的怎麼辦?別擔心,Google 會照「原始方式」來算,也就是 SUD (Sustained Usaged Discount))的方式。只要各位的 vCPU 和 RAM 一直在跑,它就會以前面提到的單價 (100% + 80% + 60% + 40%)/4 = 70% 的方式計算。所以不論我們有沒有使用 CUD ,它都會主動用 SUD 計算折扣來幫大家省錢,了解這點後是否覺得很窩心呢?
截圖自:Google Cloud Platform Console 頁面
©2021 Google
GCP 費用計算重點3:免費方案
為什麼會有這種盲點呢?如果各位還記得當初 Google 提供的免費方案,會發現有些是指用量小於某個程度之內是免費的,但是一旦超過額度就開始算錢。以下是一個非常經典的用量圖表,描述的狀況就是剛開始用得很開心以為都不用錢,然後有一天超過額度後錢就開始用噴的。
截圖自:Google Cloud Platform Console 頁面
©2021 Google
至於為甚麼上方的 Logging 費用圖表會呈現這種狀況?其實就是因為它「每項專案的前 50 GiB」是免費配額,超過的話才會開始計費。像這種的免費配額也有很多種,例如 AutoML Tables 提供的是6小時模型訓練時數;BigQuery 則是每個月前1TB的Query 量免費;Cloud Run 則是每個月 call 200萬次免費;VM 是30 GB 標準 Disk 免費等。完整免費配額可以在這裡《免費方案用量限制》中查詢。
以上就是進階版的 GCP 帳單明細解析與 CUD 的購買量攻略。雖然 Google 很佛心地提供使用者免費方案和各式折扣來替大家減低成本,但如果不清楚其中的計算規則或容易忽視的盲點,反而容易因低估應繳的費用而在收到帳單時被嚇到。希望各位看完文章後都能把 GCP 的成本掌控得更好,而大家如果還有其他 GCP 費用計算上的疑問都歡迎與我們聯繫喔!
▋延伸閱讀:
・GCP帳單功能簡介,和設定預算
・聽說GCP費用最低?各種折扣方案完整說明
・GCP 如何計費?就像水電費一樣
・【GCP教學】如何掌握各台主機VM的成本?使用標籤Label功能