我的 Auto Scaling API 呼叫受到限流。該如何才能避免發生這種情況?

1 分的閱讀內容
0

在呼叫 Amazon EC2 Auto Scaling、AWS Auto Scaling 或 AWS Application Auto Scaling 時,我的應用程式收到「超過比率」錯誤。該如何才能避免發生此錯誤?

簡短描述

所有 API 呼叫都不能超過每個帳戶和每個區域允許的 API 請求率上限。這包括來自 AWS Command Line Interface (AWS CLI) 和 AWS 管理主控台的 API 呼叫。如果 API 請求超過比率上限,您會收到「超過比率」錯誤,且後續的 API 呼叫會受到限流。

Amazon EC2 Auto Scaling、AWS Auto Scaling 和 AWS Application Auto Scaling 都有專屬的 API 限流儲存貯體。這表示所有 Amazon EC2 Auto Scaling API 呼叫都有單一的共用 API 限制。Amazon EC2 Auto Scaling API 呼叫不會影響 AWS Application Auto Scaling API 的限制。

若要避免出現「超過比率」錯誤和限流情況,請確認您的應用程式只進行必要的呼叫。

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI

解決方法

若要防止或減少出現「超過比率」錯誤和限流情況,請嘗試以下解決方案:

驗證 "describe" 呼叫

過多的 "describe" 呼叫會影響根據允許的請求率所測得的 API 請求總數。驗證應用程式以確保所有 "describe" 呼叫都是必要的,並儘可能考慮 "describe" 呼叫以外的解決方案。請考慮使用來自 Amazon EventBridge 的推送通知,這些通知會在執行個體狀態變更時傳送,例如在執行個體開始進行 lifecycle hook 時。

檢查來自第三方應用程式的呼叫

第三方應用程式可能會持續呼叫 AWS 中的 Auto Scaling。驗證您的第三方應用程式,以確保它們不會執行不必要的呼叫。

實作錯誤重試和指數退避

錯誤重試和指數退避可協助限制 API 呼叫率。每個 AWS SDK 都會實作自動重試邏輯和指數退避演算法。如需相關資訊,請參閱 AWS 中的錯誤重試和指數退避

在 AWS Support 中心請求增加服務配額

若要增加服務配額,您必須確認已驗證 API 呼叫率,以及實作的錯誤重試或指數退避方法。在您的請求中,您還必須提供與限流問題相關的區域和時間範圍。

避免活動爆量

避免會造成 API 呼叫爆量的情況。例如,不要將 Amazon EC2 Auto Scaling 群組中的所有執行個體都設定為在啟動時啟用縮減保護。而是預設在群組上啟用此選項,讓所有執行個體預設啟用保護。


相關資訊

指數退避和抖動

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