Azure認證帳號 如何設置 Azure 賬單提醒避開超支
別讓 Azure 賬單變成驚喜盲盒:你的雲端錢包需要一位盡責管家
你有沒有過這種經驗?週一早上開電腦,喝第一口咖啡還沒嚥下去,就收到一封郵件:「您的 Azure 帳戶上個月支出達 NT$87,432」——而你明明只開了一台 Dev 測試機,還以為每月頂多花三百塊買杯手沖咖啡的錢。結果一查,原來那台「暫時不用」的 SQL Server 沒關,自動備份開了三層,Log Analytics 每天默默吞掉 12GB 日誌,連你上個月臨時建的五個 Resource Group 都還掛在東南亞區,像五隻安靜但持續吸血的蝙蝠……
Azure 不是提款機,但它真的會讓你「不知不覺」刷爆信用卡。好消息是:微軟早就料到這事,不但沒收你「健忘稅」,還送你一套免費又強大的「財務守門員套件」——只要花 15 分鐘設定,就能把超支風險從「隨時爆炸」降級成「提前 3 天發簡訊警告你快去關 VM」。
第一步:登入 Cost Management + Billing,找到你的「財務中樞」
別直奔 Portal 首頁亂點!正確路徑是:左側選單 → 「Cost Management + Billing」→ 選擇對應訂閱(Subscription)。這裡不是看帳單的地方,而是「預防帳單出現前」的戰情室。就像你不會等到心臟停跳才去體檢,這裡就是你的雲端健康檢查中心。
進去後,先確認右上角「Scope」是否選對訂閱(尤其你有 Dev/Test/Prod 多個訂閱時,一不小心就在 Prod 訂閱設了 Dev 的預算,後果堪比用割草機剪頭髮)。接著點擊左側「Budgets」,看到那個「+ Add budget」按鈕了嗎?它不像「Create VM」那麼耀眼,但它可能救你一個月薪水。
第二步:建立「會呼吸」的預算,而不是死氣沉沉的數字
點進「Add budget」後,選擇「Monthly」(強烈建議別用 Annual,因為年度預算等於給自己開長期透支支票),再填三個關鍵欄位:
- Budget amount:別寫「我最多能花 NT$50,000」,改寫「我願意且預期花 NT$32,000」——留出 20% 緩衝給意外(例如 CI/CD 流水線跑炸了、臨時要跑一次大資料分析)。
- Alert thresholds:至少設三檔:80%(溫馨提醒)、95%(紅燈閃爍)、100%(緊急廣播)。別偷懶只設一檔 100%,那叫「事後諸葛亮」,不是預警系統。
- Filters(重點!新手九成在此翻車):點「Add filter」,選 Resource Group 或 Service Name 或 Tag。舉例:你只想監控「RG-Dev-TeamA」這個資源群組?加 Filter 就行。否則預算會涵蓋整訂閱——包含你忘記刪除的舊測試 Storage Account,它正用著免費層卻偷偷產生日誌費用。
小技巧:預設通知只寄給訂閱 Owner,但請務必點開「Actions」區塊,勾選「Email」並輸入團隊信箱(例如 [email protected]),再勾「Send to subscription owners」——讓負責人和執行者同時收到,避免「我以為他收到了」「他以為我看過了」的雙重幻覺。
第三步:把提醒塞進你每天盯的 App 裡(Slack / Teams 也行)
Azure 原生支援 Webhook,意思是:它能把你超支警告,直接「叮咚」一聲丟進 Slack 頻道。設定超簡單:
- 在 Slack 建立專用頻道(例如 #azure-alerts),點「新增應用程式」→ 搜尋「Incoming Webhooks」→ 啟用並複製 Webhook URL。
- 回到 Azure Budget 的「Actions」區塊,點「Add action」→ 選「Webhook」→ 貼上 URL → 勾選「Send for all alerts」。
- 測試一下:手動把預算門檻調低到目前花費的 90%,等一分鐘,看 Slack 是否跳出
{"alert":"You've reached 90% of your monthly budget!"}—— 如果有,恭喜,你已擁有雲端版鬧鐘。
同理,Teams 只要把 Webhook 換成 Microsoft Teams 的 Connector URL 即可。重點不在工具,而在「訊息必須出現在你無法忽視的地方」——畢竟誰會天天檢查 Azure Portal 的通知圖示?但 Slack 的紅點,你一定會點。
第四步:避開三大「超支幽靈」,它們不寫在文件裡
幽靈一:標籤(Tags)不是裝飾品,是財務分類帳
Azure認證帳號 你給 VM 加了 Environment=Prod、Owner=David,但沒在 Budget 裡用這些標籤過濾?等於給每張發票貼好分類貼紙,卻要求會計用放大鏡一張張肉眼辨識。請立刻去「All resources」→ 點任意資源 → 「Tags」→ 批量補齊標準標籤(至少包含 Environment / Project / CostCenter)。未來建資源時,一律用 ARM Template 或 Bicep 自動帶入——省下的審計時間,夠你喝十杯珍珠奶茶。
幽靈二:免費層 ≠ 免費,只是「免基本費」
Azure Functions 的 Consumption Plan 是免費的?錯。它是「每月一百萬次執行 + 400,000 GB-s 免費」。但如果你寫了一支每秒觸發的 Timer Function(拜託別這麼做),或 Log Analytics 查詢太暴力,瞬間燒光配額,後續就開始計費。解決方案:在 Budget 裡單獨為 Log Analytics Workspace 和 Application Insights 設獨立預算,門檻壓到 NT$500,一超就跳腳。
幽靈三:跨區域資源,帳單會「地理欺騙」
你在台灣 Portal 建了資源,但選 Region = Japan East?帳單金額還是台幣,但匯率換算+跨區傳輸費可能悄悄加碼。更慘的是:某些服務(如 Cosmos DB 多區域寫入)會產生隱形跨區同步流量費。對策:用 Budget Filter 過濾 Location,針對高風險區域(如 US East, West Europe)單獨設限。
最後送你一份「超支急救檢查清單」(列印貼螢幕旁)
- ✅ 每月初第一件事:打開 Cost Analysis,篩選「Last 7 days」,看花最多錢的前三名服務(通常是 SQL、VM、Storage)
- ✅ 每季一次:執行
az group list --query "[?properties.provisioningState=='Succeeded'].name" -o tsv | xargs -I {} az group show -g {} --query "resources.length",揪出空殼 Resource Group(裡面沒資源卻還佔著名字) - ✅ 每次部署新服務前:問自己「這東西需要 24/7 運作嗎?」——答案否,就用 Start/Stop VM Schedules 自動關機
- ✅ 把「Cost Management」加入 Azure Portal 的「Favourite」,讓它出現在左側最上面——比「虛擬機器」還靠前
說到底,Azure 超支從來不是技術問題,而是習慣問題。你不需要成為成本專家,只需要養成「設定預算像設定防火牆一樣自然」的肌肉記憶。下一次收到帳單郵件時,希望你嘴角上揚,心想:「嗯…這次提醒比上次早兩天,進步了。」
(P.S. 如果你已經超支了……別慌。立刻登入 Cost Analysis → 點「Export」→ 下載 CSV → 用 Excel 按「Service Name」排序,把前三名花錢冠軍的資源 ID 複製出來,然後打開 PowerShell,一行指令關掉它們:Get-AzResource -ResourceId "YOUR_RESOURCE_ID" | Remove-AzResource -Force。做完記得深呼吸三次,再泡杯茶——雲端世界最珍貴的資源,永遠是你自己的時間與平靜。)

