如何使用 CloudTrail LookupEvents 查找与 Lambda 函数管理事件 API 调用相关的“Rate exceeded”(超出速率)错误的来源?

2 分钟阅读
0

我想使用 Amazon CloudTrail LookupEvents 查找因超过 AWS Lambda 函数限额限制而导致的错误的来源。

解决方法

当您的环境超过 API 请求的 Lambda 函数限额限制时,您可能会收到“Rate exceeded”(超出速率)错误。在解决“Rate exceeded”(超出速率)错误之前,请查看您的 CloudTrail 事件日志。

1.    运行 CloudTrail lookup-events AWS 命令行界面(AWS CLI)命令以查看管理事件 API 调用的总数。

注意:为每个值设置开始时间结束时间和时区,以匹配有问题的时间范围。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=lambda.amazonaws.com --start-time YYYY-MM-DDTHH:MM:SS+00:00 --end-time YYYY-MM-DDTHH:MM:SS+00:00 | grep -i EventName | grep -v CloudTrailEvent | sort | uniq -c | sort -r

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

CloudTrail lookup-events AWS CLI 命令示例:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=lambda.amazonaws.com --start-time 2023-04-03T18:29:00+05:30 --end-time 2023-04-03T18:29:30+05:30 | grep -i EventName | grep -v CloudTrailEvent | sort | uniq -c | sort -r

CloudTrail lookup-events AWS CLI 命令输出示例:

2072    "EventName": "ListVersionsByFunction20150331",
 877    "EventName": "GetFunction20150331v2",
 245    "EventName": "GetFunctionCodeSigningConfig",
 210    "EventName": "UpdateFunctionCode20150331v2",
 210    "EventName": "ListTags20170331",
 206    "EventName": "GetRuntimeManagementConfig",
 121    "EventName": "PublishVersion20150331",
 106    "EventName": "UpdateAlias20150331",
 89     "EventName": "GetPolicy20150331v2",
  2     "EventName": "ListLayers20181031",

2.    运行 CloudTrail lookup-events 命令以查看每个用户进行的 API 调用的总数。

注意:为每个值设置开始时间结束时间和时区,以匹配有问题的时间范围。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=lambda.amazonaws.com --start-time YYYY-MM-DDTHH:MM:SS+00:00 --end-time YYYY-MM-DDTHH:MM:SS+00:00 | grep -i Username | grep -v CloudTrailEvent | sort | uniq -c |. sort -r

CloudTrail lookup-events AWS CLI 命令示例:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=lambda.amazonaws.com --start-time 2023-04-03T18:29:00+05:30 --end-time 2023-04-03T18:29:30+05:30 | grep -i Username | grep -v CloudTrailEvent | sort | uniq -c | sort -r

CloudTrail lookup-events AWS CLI 命令输出示例:

4047   "Username": "AWSCloudFormation",
 89    "Username": "auditor",
  2    "Username": "appsync",

3.    如有必要,请再次运行 CloudTrail lookup-events 命令以识别可能会进行大量 API 调用的用户或事件。

4.    在查看 CloudTrail lookup-events 命令的输出后,查看超过 Lambda 函数限额限制的 API 调用的来源。

相关信息

如何防止 CloudFormation 中出现“Rate exceeded”(超出速率)错误?

如何排查出现“Rate exceeded”(超出速率)和 429“TooManyRequestsException”错误时的 Lambda 函数节流问题?

AWS 官方
AWS 官方已更新 1 年前