預算和快訊 有效控管資源預算
在使用 Google Cloud Platform 一段時間後,便開始會產生相關使用費用,但如果沒有定期地追蹤 Google Cloud Platform 上資源的使用成本,往往會在一段時間後才發覺成本已經超過原本預定的預算或是忘記停止某服務而造成帳單金額大幅增加。為了避免上述情形發生,可以使用 Google Cloud Platform 的 預算和快訊 功能來制定預算上限,並且在不同程度下主動通知目前的預算使用率。
Google Cloud Platform 上的預算和快訊功能可以幫助你追蹤你在 Google Cloud Platform 上的實際使用成本和目標使用成本的差異。在設定使用預算後,可以接著設定不同的門檻,比如說在達到預算的30%、50%、90%後系統會自動寄 email 來提醒你。此外,預算和快訊功能也可以自動化成本控制的相對應動作
預算和快訊 功能包含:
- 設定預算時間區間,包含每月、每季、每年或是自訂範圍。
- 可以根據需求將預算套用在不同範圍,如整個 Cloud Billing Account、單一/多個專案、單一/多個服務等。
- 預算可以是你自行設定或是以上一個週期的花費為基準。
- 可以設定在達到不同預算使用門檻(實際/預期)來寄送email提醒。
- Email提醒的收件人可以是 Billing Role (roles/billing.admin or roles/billing.user),或是在 Cloud Monitoring 通知管道中設定的 email channel。
- 可以結合pub/sub來寄送programmatic budget alert notifications,例如將預算達成率90%的訊息傳遞給第三方來觸發成本管理任務。
要注意的是,預算和快訊功能只會通知你目前預算的使用情形,讓你可以及時地控制使用成本,但不會自動限制GCP資源的使用和支出。若想自動限制GCP的使用,必須結合pub/sub來發送programmatic notifications,詳細說明請參考這篇文章。
功能使用範例
1. 進入 Google Cloud Platform console 頁面,點擊左邊工具列的「帳單」。
2. 在帳單頁面功能列點選「預算與快訊」,即可以看到目前已經設定好的預算。若要新增預算,點選上方的「設定預算」。
3. 在設定預算的頁面中,第一步是設定預算的範圍,包含自訂名稱、時間範圍(每月 / 季 / 年 / 自訂時間範圍)、單一或多個專案、單一或多個服務、標籤、是否套用抵免額等。在右側也可以看到根據選定的範圍過去 12 個月的成本趨勢。
其中服務的選項中包含不同 Google Cloud Platform 上的產品,可以根據需求選取特定服務來設定預算上限。
4. 當預算範圍設定完成之後,請按「下一步」進入到設定預算金額的頁面。在這邊可以選擇不同預算類型:「指定的金額」和「前一段時間範圍的支出」。指定的金額代表的是不論之前的成本為多少,重新設定一個新的預算。
而「前一段時間範圍的支出」代表著系統會使用你在上一個時間週期的成本作為新一期的預算。而時間週期是根據你在預算範圍頁面所選定的時間區間來決定。比如說,若我們設定的是每月的預算,前一個月的成本總額將會是這個月的預算總額。因此若選擇「前一段時間範圍的支出」的預算類型,系統會自動帶入目標金額。此外,若預算是自訂範圍的話會無法使用「前一段時間範圍的支出」作為預算類型。
5. 在設定完預算金額後,接著要設定預算門檻。首先要設定的是你會想在花費達到多少預算百分比的時候收到通知?系統會預設在30%、50%和90%的時候發送電子郵件通知,可以根據你的需求來做更改。另外,在觸發條件可以選擇要根據「實際」或是「預估」的成本來做判斷。若選擇「實際」,系統會在你的支出達到預設值時發出通知;而「預估」則是會在你的支出預期會超出預設值時發出通知。
6. 在設定完門檻後,接著可以進行通知的管理,包含了 E-mail 的通知和 Programmatic 通知。
E-mail 通知包含兩種方式:
A – 透過電子郵件將快訊傳送給帳單管理員和使用者(role-based option)。
這是系統預設的方式,會將預算通知以email的方式寄給在 Billing Account 中的管理者和使用者(roles/billing.admin or roles/billing.user)。
B – 將監控電子郵件通知管道連結至這筆預算。
除了將預算通知寄送給 billing account 的相關人員,也可以將此預算與 Cloud Monitoring Notification 的 E-mail Channel 做連結,將預算通知寄給其他特定人員。
Cloud Monitoring Notification 設定頁面(監控 -> 快訊 -> Edit Notification Channel):
另一方面,Programmatic 通知是指將預算訊息傳遞至 pub/sub 主題來觸發自動化動作,例如將預算訊息傳遞至 slack 或是自動將超出預算的project中的服務終止。記得在發送 Programmatic 通知前,必須先創建pub/sub主題。此外,若使用 Programmatic 通知,預算通知會在一天內多次寄送預算狀態到連結的pub/sub主題中。