跳至内容

如何减少和防止产生 CloudWatch 费用?

2 分钟阅读
0

我想减少和防止在 Amazon CloudWatch 中产生不必要的费用。

解决方法

要确定您的 CloudWatch 使用费用,请查看您的 AWS 成本和使用情况报告。为了减少和防止产生不必要的费用,请查看 CloudWatch 服务,并实施经济高效的方法。最佳实践是开启账单提醒来监控未来的 AWS 成本。

关闭不必要的 CloudWatch 自定义指标

Amazon CloudWatch 会按小时对详细监控和自定义指标进行费用分摊,并在您将指标发送到 CloudWatch 时计费。

关闭对实例、自动扩缩组启动配置和 API 网关的详细监控。

另外,关闭对自定义指标的监控。当服务通过 PutMetricData API 操作向 CloudWatch 发送指标请求时,自定义指标会产生费用。这包括来自 Amazon Simple Storage Service (Amazon S3)、Amazon Simple Email Service (Amazon SES)、Amazon Kinesis Data Streams 维度和指标以及 AWS Elastic Beanstalk 增强型运行状况报告的事件。统一的 CloudWatch 代理还会使用 PutMetricData API 操作来发布指标。

要仅显示自定义指标,请打开 CloudWatch 控制台,选择 Metrics(指标)。然后,在 Search for any metric, dimension or resource ID(搜索任何指标、维度或资源 ID)字段中,输入 NOT AWS

优化 CloudWatch 指标 API 调用

每个 CloudWatch 指标 API 的费用各不相同。如果您的 API 操作超过 AWS 免费套餐配额,则会产生费用。第三方监控工具捕获的指标,例如 GetMetricDataGetMetricWidgetImage,未包含在 AWS 免费套餐中。有关详细信息,请参阅对于 CloudWatch 指标,使用 GetMetricData 还是 GetMetricStatistics 更好?

要减少来自 CloudWatch API 操作和第三方监控工具的费用,请遵循以下最佳实践:

  • 通过 AWS 管理控制台进行 ListMetrics API 调用。
  • 为了减少 API 操作量和相关费用,请将多个 PutMetricData 请求合并为一项 API 操作,并将指标数据预聚合到 StatisticSet 中。
  • 对于第三方监控工具,使用指标流来确定具有成本效益的部署,并仅检索您监控的或在工作负载中使用的指标。

删除不必要的 CloudWatch 警报

每个 CloudWatch 警报都会因其监控的指标而产生费用。例如,如果您针对单个指标创建多个警报,则会为每个警报付费。要降低 CloudWatch 警报产生的费用,请移除不必要的警报

有关详细信息,请参阅 Automating Amazon CloudWatch alarm cleanup at scale(自动大规模清理 Amazon CloudWatch 警报)。

删除不必要的 CloudWatch 控制面板

在以下情况下,会产生 CloudWatch 控制面板使用费:

  • 您超过了三个控制面板,每个控制面板最多 50 个指标的 AWS 免费套餐配额。
  • 您调用的控制面板 API GetDashboardListDashboardsPutDashboardDeleteDashboards 超过了 AWS 免费套餐配额。
  • 您使用了 Exception: GetMetricWidgetImage API 操作。

要降低费用,请删除不必要的控制面板。如果您使用 AWS 免费套餐,请仅使用三个控制面板。您还可以通过 AWS 管理控制台执行控制面板 API 操作。

减少不必要的 CloudWatch Logs 摄取和存储

CloudWatch Logs 会因摄取、存档存储和分析而产生费用。

在 CloudWatch 图表或控制面板上查看您的指标,以监控工作负载生成的日志量。对于高额的摄取费用,请参阅如何识别导致 CloudWatch Logs 账单突然增加的日志组? 要减少摄取费用,请检查日志记录级别并移除不必要的日志摄取。此外,最佳实践是使用不经常访问日志来经济高效地存储日志。

保留策略决定了 CloudWatch Logs 将数据保留多长时间。要降低存档费用,请将保留策略修改为更短的保留期,以限制长期存储的数据。

当您使用 Log Insights 查询日志或使用 Live Tail 实时分析日志时,会产生分析费用。要降低 Logs Insights 产生的费用,请将您的查询设置为较短的时间范围,这样 CloudWatch 扫描的数据就会减少。要降低 Live Tail 产生的费用,请最大限度地减少会话使用时间。

删除不必要的 CloudWatch Contributor Insights 规则

如果您超过每月一条 Contributor Insights 规则或超过每月一百万个与规则匹配的日志事件,则会产生费用。请查看您的 Contributor Insights 报告,并移除所有不必要的规则。

删除不必要的 CloudWatch 金丝雀

当您每月的金丝雀运行超过 100 次时,CloudWatch Synthetics 会产生费用。对于每次金丝雀运行,您使用的其他 AWS 服务(例如 AWS LambdaAmazon S3CloudWatch LogsCloudWatch 指标)可能会产生额外费用。

为了降低费用,请删除不必要的金丝雀。

限制 CloudWatch 网络监测仪城市网络

对于每个受监控的资源和城市网络,CloudWatch 网络监测仪 都会产生费用。对于发布到 CloudWatch Logs 的诊断日志,也可能会产生额外费用。

要降低费用,请为监控的城市网络的最大数量设置限制。

关闭不必要的 Container Insights 可观测性

Container Insights 会根据 Container Insights 收集的指标和 Container Insights 摄取的日志数据产生费用。如果您对 Amazon Elastic Kubernetes Service (Amazon EKS) 使用增强的可观测性,则 Container Insights 指标和日志将针对每次观察向您收费。

要降低费用,请在您的 Amazon Elastic Container Service (Amazon ECS) 或 Amazon EKS 集群上关闭增强的可观测性。

相关信息

分析、优化和降低 CloudWatch 成本

Cost Optimization with AWS(使用 AWS 进行成本优化)

AWS 官方已更新 5 个月前