某企業(yè)使用 AWS 構(gòu)建了包含 EC2、RDS、S3 等服務(wù)的業(yè)務(wù)系統(tǒng),隨著業(yè)務(wù)擴(kuò)展,月度云支出呈現(xiàn)波動(dòng)趨勢(shì)。為避免成本超支,企業(yè)需要實(shí)現(xiàn)以下目標(biāo):實(shí)時(shí)監(jiān)控各 AWS 服務(wù)的支出情況,識(shí)別異常消耗(如未關(guān)閉的測(cè)試實(shí)例、數(shù)據(jù)傳輸突發(fā)流量)。設(shè)置預(yù)算告警,當(dāng)月度支出接近預(yù)設(shè)閾值(如預(yù)算的 80%)時(shí),自動(dòng)通知運(yùn)維團(tuán)隊(duì)。生成可視化報(bào)表,按服務(wù)、區(qū)域、賬戶等維度分析成本分布,輔助長(zhǎng)期優(yōu)化決策。
采用 Amazon CloudWatch 結(jié)合 AWS Cost and Usage Report (CUR) 實(shí)現(xiàn)支出監(jiān)控。
數(shù)據(jù)源:?jiǎn)⒂?AWS CUR 生成詳細(xì)的成本數(shù)據(jù)文件,存儲(chǔ)至 S3 桶供 CloudWatch 分析。
監(jiān)控指標(biāo):通過(guò) CloudWatch 創(chuàng)建自定義指標(biāo)(如 EstimatedCharges),或直接使用 AWS 預(yù)置的成本指標(biāo)(如 BudgetAmount、ForecastedCharges)。
告警機(jī)制:在 CloudWatch Alarms 中設(shè)置閾值,觸發(fā)告警時(shí)通過(guò) Amazon SNS 發(fā)送郵件/短信通知。
可視化看板:使用 CloudWatch Dashboards 構(gòu)建實(shí)時(shí)成本儀表盤,集成 AWS Cost Explorer 數(shù)據(jù)增強(qiáng)分析能力。
本次采用AWS Console界面完成作業(yè)。
注意:根據(jù)項(xiàng)目的具體情況,可以采用不同的實(shí)施方法。比如使用命令行(CLI)部署、代碼部署 (CloudFomation、Terraform等)、以及其它開(kāi)發(fā)語(yǔ)言(SDK)完成作業(yè)。
步驟一:?jiǎn)⒂?AWS Cost and Usage Report
登錄 AWS 管理控制臺(tái),進(jìn)入 Billing and Cost Management > Cost and Usage Reports。
點(diǎn)擊 Create report,指定報(bào)告名稱(如 cloudwatch-cost-report),選擇 S3 存儲(chǔ)桶(需提前創(chuàng)建),并勾選 Include resource IDs 以獲取詳細(xì)資源級(jí)數(shù)據(jù)。
在 Report data columns 中選擇 LINE_ITEM、PRODUCT、PRICING 等關(guān)鍵字段,提交后等待數(shù)據(jù)生成(通常需 24 小時(shí))。
步驟二:配置 CloudWatch 成本指標(biāo)
進(jìn)入 CloudWatch > Metrics > All metrics,搜索 AWS/Billing 命名空間。
選擇 EstimatedCharges 指標(biāo),按 Currency 和 LinkedAccount 維度篩選數(shù)據(jù),點(diǎn)擊 Create dashboard 添加到儀表盤。
步驟三:創(chuàng)建預(yù)算告警
進(jìn)入 CloudWatch > Alarms > Create alarm,選擇 AWS/Billing > EstimatedCharges 指標(biāo)。
設(shè)置條件:When EstimatedCharges is > 800 USD for at least 1 consecutive period of 1 Hour(假設(shè)月度預(yù)算為 1000 USD)。
配置告警動(dòng)作:選擇現(xiàn)有 SNS 主題或創(chuàng)建新主題,輸入接收通知的郵箱/手機(jī)號(hào)。
步驟四:構(gòu)建成本儀表盤
在 CloudWatch Dashboards 中創(chuàng)建新看板,添加以下小部件:
數(shù)值圖:顯示當(dāng)前月度支出(EstimatedCharges)。
折線圖:對(duì)比歷史支出趨勢(shì)(按天聚合)。
表格圖:按服務(wù)類型(EC2、RDS 等)拆分成本占比。
1. 數(shù)據(jù)準(zhǔn)確性驗(yàn)證
登錄 AWS Cost Explorer,對(duì)比 CloudWatch 儀表盤中的支出數(shù)據(jù)與 Cost Explorer 的“Total cost”是否一致,確認(rèn) CUR 數(shù)據(jù)已正確導(dǎo)入。
2. 告警觸發(fā)測(cè)試
手動(dòng)調(diào)整 EC2 實(shí)例規(guī)格或啟動(dòng)額外實(shí)例,模擬支出增加場(chǎng)景。
觀察 CloudWatch Alarms 狀態(tài)是否變?yōu)?ALARM,并檢查郵箱/短信是否收到通知。
3. 儀表盤可用性驗(yàn)證
分享儀表盤鏈接給團(tuán)隊(duì)成員,確認(rèn)不同角色(如財(cái)務(wù)、運(yùn)維)能通過(guò)篩選器(如 Region、Service)快速獲取所需成本視圖。