如何使用 Amazon CloudWatch 监控 AWS API 调用的使用情况?

上次更新日期:2022 年 3 月 30 日

我在尝试创建、更新或访问 AWS 服务时收到“Rate exceeded(超出速率)”错误消息。 如何使用 Amazon CloudWatch 指标监控 AWS API 调用的次数,以防止“Rate exceeded(超出速率)”错误?

简短描述

您每秒可以进行的 AWS API 调用次数有限制。超过此限制后,您会收到“Rate exceeded(超出速率)”错误,并且进一步的 API 调用会受限。有关确定导致“Rate exceeded(超出速率)”错误的 API 调用的更多信息,请参阅如何找出哪个 AWS API 调用导致了“Rate exceeded(超出速率)”错误?

如果您以自动化方式使用 API 调用,最佳实践是监控您的使用情况以避免“Rate exceeded(超出速率)”错误。Amazon CloudWatch 收集用于跟踪某些 AWS 服务使用情况的指标。这些指标对应于 AWS 服务配额。按照本文中的步骤绘制这些指标并直观显示您的使用情况。

解决方法

使用此方法可以检查并监控发布使用指标的所有 AWS 资源的使用情况。在本例中使用 PutMetricData。

  1. CloudWatch 服务配额文档中查看 PutMetricData API 调用的默认限制。您还可以使用 Service Quotas 控制台检查您的账户应用的限制。
  2. 打开 CloudWatch 控制台。
  3. 在导航窗格中,选择 Metrics(指标),然后选择 All metrics(所有指标)。
  4. 使用情况指标在命名空间 AWS/Usage(AWS/使用情况)下发布。选择此命名空间,然后筛选要绘制图表的 API 调用。在本例中,选择 PutMetricData
  5. 选择指标 CallCount。此指标提供了执行 API 操作的次数的计数。
  6. 选择 Graphed metrics(Graphed 指标),然后选择要检查使用情况的时间范围。在本例中,选择您收到“Rate exceeded(超出速率)”错误的范围。
  7. 对于 Period(周期),选择 1 minute(1 分钟),对于 Statistic(统计数据),选择 SUM(总和)。系统会给出每分钟进行的 API 调用的总数。

    注意:大多数 API 调用对每秒进行 API 调用的次数都有限制。这是按每秒事务数(TPS)来衡量的。对于 PutMetricData,限制为 150 TPS。

  8. 要查看当前使用情况,请选择 Add math(添加数学),然后选择 Start with empty expression(以空表达式开始)。
  9. 在新行中,输入以下内容:
SERVICE_QUOTA(m1)

这篇文章对您有帮助吗?


您是否需要账单或技术支持?