[AWS Joe是要對決 #2] AWS Cost Anomaly Detection v.s AWS Budgets

Joe Huang
7 min readJul 2, 2023

--

▌1. 什麼是AWS Cost Anomaly Detection (CAD)?

科普一下,使用 AWS Cost Anomaly Detection(CAD)[1] 的目的是,減少成本意外並增強控制性。AWS Cost Anomaly Detection 利用進階機器學習技術來”識別異常支出和根本原因”。另外,AWS Budgets[4] 則強調預算控制和警報,而它的粒度(granularity) 可以到AWS account 甚至是AWS services。

操作方式:透過三個簡單的步驟[2],1) 建立自己的情境監控器,2) 偵測到任何異常支出時收到提醒。讓建置者進行建置並讓 AWS Cost Anomaly Detection 監控你的支出,3)最後找出root cause 以及降低帳單意外風險[圖1]

[圖1] The 3 steps set up Cost Anomaly Detection
[圖1] The 3 steps set up Cost Anomaly Detection

AWS Cost Anomaly Detection(CAD) 底層運作其實是透過 AWS Cost Explorer API [2]獲取Billing,一旦設定了監控器和提醒偏好設定,AWS 將透過 Amazon SNS 或電子郵件使用個別提醒或每日或每週摘要來通知你,CAD的優勢則在於它的粒度可以小至Account 或是 Service,因此通知能夠針對不同的組織部門來做,如[圖2] DevOps team / Finance team有使用不同產品,用量不同通知門檻也自然會不一樣 eg. Sales部門拉受到通知,Finance 部門則不一定收到通知。

[圖2] AWS Cost Anomaly Detection to alert stakeholders

▌2. 比較表

AWS Cost Anomaly Detection和AWS Budgets都是AWS用於監控和控制用戶在AWS上的費用和資源使用的工具。然而,它們有以下幾個主要的差異點

AWS Cost Anomaly Detection AWS Budgets 粒度 較細 (Accounts 甚至是Services) 較粗 (總用量 ) 監控方式 自動分析 手動分析 管理性 較復雜 較簡單 告警通知 豐富(更多不同的警報閾值和頻率) 簡單 整合組織層 Yes No(account level)

▌3. 細項說明

1) 粒度(Granularity)

可以做到AWS account 甚至是AWS services,常見控制方式為 Cost Allocation Tag[3]以加入成本標籤。AWS 管理的角度下,Granularity(粒度)是指在管理和控制資源時,可以選擇和設定的程度和範圍。

以下是幾個從AWS角度解釋Granularity的不同面向:

💡 Tips

執行粒度:從整個基礎設施的集中管理到單個資源的細節控制 e.g 可以使用IAM 控制存取權限,IAM Role, Policy 各自分門別類使用

計費粒度:e.g 可以選擇對AWS服務進行按需計費,根據每小時、每分鐘或每秒的使用情況進行計費。

監控和日誌粒度:AWS提供不同細度的監控和日誌記錄功能,使User能夠細緻地檢查和分析資源的運行狀態和事件。e.g 可以使用AWS CloudTrail來記錄每個API呼叫的細節,或使用Amazon CloudWatch進行多維度的監控,CloudWatch log stream, Cloud Watch log group

[圖3] AWS Cost Anomaly Detection 監控項目,其中可以看到AWS Resources, Linked Account

2) 監控方法

AWS Cost Anomaly Detection會分析用戶在AWS上的使用模式和花費模式,重點在於自動識別”異常的變化”,並提供相應的警報和報告。對比 AWS Budgets則是讓用戶**”手動”**設置預算閾值,並在預算超出時發送警報。

💡 Tips

啟用AWS Cost Anomaly Detection,至少要24小時後才能有足夠的資訊供分析,這邊建議至少收集4個月期間,通常會包括月份內的低中高週期變化

[圖4] AWS Cost Anomaly Detection 用量異常分析(Anomalies detected)

3) 告警通知

AWS Cost Anomaly Detection 的賣點是,它可以監控 AWS 使用和費用,並識別不正常的變化。使用者可以設置不同的警報閾值和頻率,以根據其不同的業務需求向不同的利益相關者發送警報和報告,實務上告警送往部門或是各自管理員)。此外,使用者可以輕鬆地創建多個費用監控器和警報訂閱,以便更好地了解其 AWS 費用的使用情況和趨勢,並采取相應的行動。這樣可以幫助組織更好地控制 AWS 使用和費用,提高效率,節省成本。

[圖5] AWS Cost Anomaly Detection 告警可以套用週期,也透過訂閱方式讓管理員獲得通知

💡 Tips
透過自動偵測提醒,一般而言是綁電子郵件或 Amazon SNS ,以選擇的頻率了解支出異常,另外也可以將提醒傳送至的 Slack 頻道[5],以支援協作和及時解決提醒。此外,可以串接AWS ChatBot,有興趣立即動手做請點選連結 [6]

▌3. 總結

總體而言,AWS Cost Anomaly Detection和AWS Budgets都可以幫助用戶控制和管理在AWS上的費用和資源使用,但AWS Cost Anomaly Detection更強調自動化分析和建議,而AWS Budgets更強調預算控制和警報,用戶可以根據自己的需求選擇使用哪一種工具或者兩者結合使用。

References

謝謝你的閱讀!我是黃大仙。
都市修行人 / 雲端架構師 / AWS講師 / 新手爸爸
喜歡研究不同領域事物,誠摯邀請一同交流學習!📒
如果有任何疑問,歡迎留下 Private Note 或留言給我!📒
👏1下 — — — — 給我一點鼓勵。
👏2~10下 — — -文章對你有幫助。
👏50下 — — — -有興趣看「閱讀分享」相關的分享。

--

--

Joe Huang

雲端架構師,年輕的軀殼裝著老靈魂,喜歡配著音樂閱讀,生活不能沒有思考和遊蕩