Amazon CloudTrail LookupEvents を使用して、AWS Lambda 関数のクォータ制限を超えたために発生したエラーの原因を調べたい。
解決方法
API リクエストが Lambda 関数のクォータ制限を超えると、「Rate exceeded」(レート超過) エラーが表示されることがあります。「Rate exceeded」(レート超過) エラーを解決するには、CloudTrail イベントログを確認してください。
1. CloudTrail lookup-events AWS コマンドラインインターフェイス (AWS CLI) コマンドを実行すると、管理イベント API コールの総数が表示されます。
**注:**問題のある時間枠に合わせて、各値の start-time、end-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-time、end-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 の「Rate exceeded」(レート超過) エラーを防ぐ方法を教えてください。
「Rate exceeded」(レート超過) エラーと 429「TooManyRequestsException」エラーの Lambda 関数スロットリングをトラブルシューティングする方法を教えてください。