如何使用 CloudTrail LookupEvents 來尋找與 Lambda 函數管理事件 API 呼叫相關聯的「速率超出」錯誤來源?

2 分的閱讀內容
0

我想要使用 Amazon CloudTrail LookupEvents 來尋找超過 AWS Lambda 函數配額上限所造成的錯誤來源。

解決方法

當您的環境超過 API 請求的 Lambda 函數配額上限時,您可能會收到「速率超出」錯誤訊息。解決「速率超出」錯誤之前,請先檢閱您的 CloudTrail 事件日誌。

1.    執行 CloudTrail lookup-events AWS Command Line Interface (AWS CLI) 命令,以檢視管理事件 API 呼叫的總數。

**注意:**請設定每個值的 start-timeend-time 和時區,以符合有問題的時間範圍。

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 呼叫總數。

**注意:**請設定每個值的 start-timeend-time 和時區,以符合有問題的時間範圍。

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 中的「速率超出」錯誤?

如何對 Lambda 函數限流的「速率超出」和 429「TooManyRequestsException」錯誤進行疑難排解?

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