如何降低並避免在 CloudWatch 中產生不必要的費用?

2 分的閱讀內容
0

我想降低並避免在 Amazon CloudWatch 中產生不必要的費用。

簡短說明

若要了解您的 CloudWatch 使用費用,請檢閱您的 AWS 成本和用量報告。若要降低並避免產生不必要的費用,請檢閱下列 CloudWatch 服務,並採用符合成本效益的方法:

  • CloudWatch 自訂指標
  • CloudWatch 指標 API 呼叫
  • CloudWatch 警示
  • CloudWatch 儀表板
  • CloudWatch 日誌
  • CloudWatch Contributor Insights
  • CloudWatch Synthetics
  • CloudWatch Internet Monitor
  • CloudWatch Container Insights
  • CloudWatch Application Signals
  • CloudWatch RUM
  • CloudWatch Evidently

**注意:**若要監控 AWS 日後產生的成本,建議您開啟帳單提醒

解決方法

CloudWatch 自訂指標

所有 CloudWatch 詳細監控和自訂指標均以小時為單位來計算,並在指標傳送至 CloudWatch 時進行計量。

若要降低 CloudWatch 指標費用,請執行下列動作:

  • 關閉執行個體、Auto Scaling 群組啟動組態和 API 閘道的詳細監控。
  • 在適當情況下關閉自訂指標的監控。Amazon Simple Storage Service (Amazon S3) 和 Amazon Simple Email Service (Amazon SES) 事件的指標請求會傳送至 CloudWatch,並產生費用。統一 CloudWatch 代理程式會使用 PutMetricData API 呼叫來發佈。在呼叫 PutMetricData 取得自訂指標時,您會產生費用。此外,Amazon Kinesis Data Streams 維度和指標以及 AWS Elastic Beanstalk 增強型運作狀態報告指標也會傳送至 CloudWatch,並產生費用。

**注意:**若只要顯示自訂指標,請在 CloudWatch 主控台Search for any metric, dimension or resource ID 方塊中輸入 NOT AWS

CloudWatch 指標 API 呼叫

費用會隨著每個 CloudWatch 指標 API 改變。超過 AWS 免費方案限制的 API 呼叫會產生費用。第三方監控工具所提供的指標,例如 GetMetricDataGetMetricWidgetImage,不會計入 AWS 免費方案。如需詳細資訊,請參閱我應該對 CloudWatch 指標使用 GetMetricData 或 GetMetricStatistics?

若要降低 CloudWatch API 呼叫和第三方監控工具的費用,請使用下列最佳做法:

  • 透過 AWS 管理主控台免費進行 ListMetrics 呼叫,不要透過 AWS Command Line Interface (AWS CLI) 進行呼叫。
  • 若要減少 API 呼叫量和相關費用,請將多個 PutMetricData 請求批量合併為一個 API 呼叫,並將指標資料預先整合至 StatisticSet 中。
  • 在使用第三方監控工具時,只擷取您正在監控或工作負載中使用的指標。您也可以使用指標串流評估哪種部署最符合成本效益。請務必檢閱第三方監控工具產生的成本。

CloudWatch 警示

與 CloudWatch 警示相關聯的指標數量可能會產生成本。例如,如果您有一個具有多個指標的警示,則每個指標都需要付費。若要降低 CloudWatch 警示的費用,請移除不必要的警示

如需詳細資訊,請參閱 Automating Amazon CloudWatch alarm cleanup at scale

CloudWatch 儀表板

發生以下情況時 CloudWatch 儀表板用量會產生費用:

  • 您超過三個儀表板的 AWS 免費方案限制,每個儀表板的指標上限為 50 個。
  • 您呼叫儀表板 API GetDashboardListDashboardsPutDashboardDeleteDashboards 的次數超過 AWS 免費方案限制。
  • 例外狀況: GetMetricWidgetImage API 一律會產生費用。

若要降低費用,請執行下列動作:

  • 刪除不必要的儀表板。
  • 如果您使用 AWS 免費方案,儀表板總數請勿超過三個。
  • 透過 AWS 管理主控台進行儀表板 API 呼叫。

CloudWatch 日誌

Amazon CloudWatch 日誌會因擷取、封存儲存和分析而產生費用。若要降低費用,請執行下列動作:

  • **擷取:**若要監控工作負載產生的日誌量,請在 CloudWatch 圖形或儀表板中檢視此指標。如果產生高額擷取費用,請參閱哪個日誌群組導致我的 CloudWatch Logs 帳單費用突然增加?若要降低擷取費用,請檢查日誌層級,並移除不必要的日誌擷取。此外,建議您不要頻繁地存取日誌,以符合成本效益的方式儲存日誌。
  • **封存:**保留政策可決定 CloudWatch Logs 保留資料的時間長度。若要降低封存費用,請修改保留政策,縮短保留期間,以限制隨著時間儲存的資料量。
  • **分析:**使用 Log Insights 查詢日誌,或使用 Live Tail 即時分析日誌,就會產生分析費用。為了降低 Logs Insights 所產生的費用,請將查詢設定為較短的時間範圍,這樣一來就能減少掃描的資料量。為了降低 Live Tail 所產生的費用,請盡量縮短工作階段使用時間。

CloudWatch Contributor Insights

每月超過一個 Contributor Insights 規則,或每月超過一百萬個日誌事件符合規則時,便會產生費用。若要降低費用,請檢視您的 Contributor Insights 報告,並移除不必要的規則。

CloudWatch Synthetics

每月執行 Canary 超過 100 次,CloudWatch Synthetics 就會產生費用。每次執行 Canary 時,您使用的其他 AWS 服務 (例如:AWS LambdaAmazon S3CloudWatch LogsCloudWatch 指標) 可能會產生額外費用。為了降低費用,請移除不必要的 Canary。

CloudWatch Internet Monitor

CloudWatch Internet Monitor 會針對每個受監控資源和所有城市網路收取費用。此外,如果您將診斷日誌發佈至 CloudWatch Logs,可能會產生額外費用。為了降低費用,請設定您要監控的城市網路數量上限。

Container Insights

Container Insights 的費用是根據收集到的指標和擷取的日誌資料來計算。如果您要對 Amazon Elastic Kubernetes Service (Amazon EKS) 做更詳細的觀測,那麼每次觀測,就會收取 Container Insights 指標和日誌的費用。若要降低費用,請關閉 Amazon Elastic Container Service (Amazon ECS) 或 Amazon EKS 叢集的詳細觀測功能。

相關資訊

CloudWatch 帳單和成本

使用 AWS 最佳化成本

活動系列: 成本最佳化

AWS 官方
AWS 官方已更新 8 個月前