跳至內容

如何提高並管理 API Gateway 限流配額?

2 分的閱讀內容
0

我想提高並管理 Amazon API Gateway 限流配額,以處理高流量負載。

簡短說明

API Gateway 在每個 AWS 區域都有帳戶層級配額。限流配額為每秒 10,000 個請求 (RPS),並由權杖儲存貯體演算法提供額外的高載容量。在每個區域內,每個 AWS 帳戶的最大貯體容量為 5,000 個請求。

如需更多資訊,請參閱在 API Gateway 中對 REST API 的請求進行限流以提升輸送量。

解決方法

若要管理您的 API Gateway 限流配額,您可以提出帳戶層級限流配額提高申請。您也可以開啟快取、設定使用方案和 API 金鑰,並使用重試模式。

**注意:**如果超過限流配額,您會收到「429 Too Many Requests」或「Limited Exceeded」錯誤回應。若要解決此問題,請參閱如何對 API Gateway REST API 的「Exceeded throttle limit」或「Exceeded quota limit」錯誤進行疑難排解?

提交帳戶層級限流配額提高申請

請完成以下步驟:

  1. 開啟 Service Quotas console (Service Quotas 主控台)。
  2. 在導覽窗格中,選擇 AWS services (AWS 服務)。
  3. 在 AWS services (AWS 服務) 搜尋列中,輸入 Amazon API Gateway。
  4. 在 Service quotas (服務配額) 搜尋列中,輸入 Throttle rate (限流速率)。
  5. 選擇 Request increase at account level (在帳戶層級申請提高)。
  6. 在 Increase quota value (提高配額值) 中,輸入大於 10,000 的值。
  7. 選擇 Request (請求)。
    注意:在 Recent quota increase request(最近的配額提高申請) 區段,狀態會顯示待處理。
  8. 請等待幾分鐘,然後重新整理頁面。

如果配額提高申請未超過最大配額,狀態會變更為已核准。若要查看新的配額,請檢查 Applied account-level quota value(已套用的帳戶層級配額值) 欄位。若增加配額申請超過最大配額,狀態會變更為案例未結案。您可以在 AWS Support 中查看該案例。

**注意:**限流高載速率配額無法調整,且無法提出配額提高申請。如需更多資訊,請參閱 Amazon API Gateway 配額。

開啟 API Gateway 快取

您可以開啟 API 快取,以減少對端點發出的 API 呼叫數量,避免發生限流。如需更多資訊,請參閱如何選取最佳的 Amazon API Gateway 快取容量,以避免達到速率限制?

設定 REST API 使用方案和 API 金鑰

您可以設定使用方案和 API 金鑰,根據您定義的限流限制與配額限制來限制 API 請求。使用方案會使用您為 REST API 設定的 API 金鑰,來控制誰可以存取 API 階段。

若要設定 REST API 使用方案,請先在 API Gateway 中設定 REST API 的 API 金鑰。接著,在 API Gateway 中設定 REST API 的使用方案。

若要取得與 API 金鑰相關聯的使用量,請參閱如何識別與 API Gateway API 金鑰相關聯的使用量?

如需更多資訊,請參閱 API Gateway 中 REST API 的使用方案和 API 金鑰。

使用標準重試模式

如果超過限流配額,您可以使用具抖動的指數退避標準重試模式,然後重新提交 API 請求。指數退避可在 API Gateway 對 API 呼叫進行限流時,允許較長的等待時間。如需更多資訊,請參閱重試行為與指數退避與抖動。