如何找到造成「超過費率」錯誤的 AWS API 呼叫?

2 分的閱讀內容
0

當我嘗試建立、更新或存取 AWS 服務時,收到「超過費率」的錯誤訊息。我想知道是哪個 API 呼叫造成這個錯誤訊息。

簡短描述

若要確定導致您的 AWS 帳戶中發生超過費率錯誤的 API 呼叫,請為 AWS CloudTrail 日誌建立 Amazon Athena 資料表。然後,執行 Athena 查詢以尋找與超過費率錯誤相關聯的 API 呼叫。

**注意:**若要在帳戶中記錄 API 活動,您必須先在 CloudTrail 中建立追蹤。只有在您建立追蹤後,追蹤才會在您的帳戶中記錄資料事件

解決方法

為 CloudTrail 日誌建立 Athena 資料表

如需說明,請參閱使用 CloudTrail 主控台為 CloudTrail 日誌建立 Athena 資料表

建立並執行 Athena 查詢,以尋找相關聯的 API 呼叫

請完成下列步驟:

  1. 開啟 Athena console (Athena 主控台)。

  2. 選擇 New query (新建查詢) 索引標籤。

  3. 在查詢文字方塊中輸入以下查詢範例,然後選擇 Run query (執行查詢):

    SELECT eventname, errorcode, eventsource, awsregion, useragent, COUNT(*) AS count  
      FROM cloudtrail-table-name     
     WHERE errorcode = 'ThrottlingException'  
           AND eventtime BETWEEN '2018-10-14T03:00:08Z' AND '2018-10-23T07:15:08Z'  
     GROUP BY errorcode, awsregion, eventsource, useragent, eventname  
     ORDER BY count DESC;

    **注意:**將 cloudtrail-table-name 替換為您的 CloudTrail 資料表名稱。

  4. 在查詢輸出中,找到 errorcode 欄位中具有 ThrottlingException 值的記錄。eventnameeventsource 欄位中的 API 呼叫導致發生超過費率錯誤。

對不同 API 呼叫和 AWS 服務的「超過費率」錯誤進行疑難排解

超過費率錯誤可能會在不同的限流條件下發生。這些條件取決於您正在使用的 AWS 服務和 API 呼叫。

若要對您正在使用的 API 呼叫或 AWS 服務的超過費率錯誤進行疑難排解,請參閱下列 AWS 知識中心文章。

**注意:**您可以向 AWS API 呼叫新增等待陳述式,使其在受到限流後重試。如需詳細資訊,請參閱重試行為

GetResourceConfigHistory 或 ListDiscoveredResources API 呼叫

請參閱如何疑難排解 AWS Config 主控台錯誤訊息?

PutMetricData API 呼叫

請參閱當我呼叫 CloudWatch API 中的 PutMetricData 時,如何避免限流?

AWS Auto Scaling 的 API 呼叫

請參閱如何防止我的 Auto Scaling API 呼叫受到限流?

AWS Lambda 函數的 API 呼叫

請參閱如何對 Lambda 函數限流的「超過費率」和 429「TooManyRequestsException」錯誤進行疑難排解?

AWS Elastic Beanstalk 的 API 呼叫

請參閱如何解決 Elastic Beanstalk 中的 API 限流或「超過費率」錯誤?

相關資訊

如何在 Amazon Athena 中自動建立表格,以便透過 AWS CloudTrail 日誌進行搜尋?

AWS 官方
AWS 官方已更新 1 個月前