我的 Auto Scaling API 调用受到限制。如何避免出现此情况?

上次更新时间:2021 年 1 月 4 日

我的应用程序在调用 Amazon EC2 Auto Scaling、AWS Auto Scaling 或 AWS Application Auto Scaling 时,收到“超速”错误。如何避免出现此错误?

简短描述

任何 API 调用都不能超过每个账户和每个区域允许的最大 API 请求速率。这包括来自 AWS 命令行界面 (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 的推送通知,这些通知在实例状态更改时发送,例如,当实例启动生命周期挂钩时。

检查来自第三方应用程序的调用

第三方应用程序可能会连续调用 AWS 中的 Auto Scaling。验证您的第三方应用程序,确保它们没有进行不必要的调用。

实施错误重试和指数回退

错误重试和指数回退能够帮助限制 API 调用的速率。每个 AWS 开发工具包都会实现自动重试逻辑和指数回退算法。有关更多信息,请参阅 AWS 中的错误重试和指数回退

在 AWS Support 中心请求提高服务配额

要增加服务配额,您必须确认已验证 API 调用速率,并已实施错误重试或指数回退方法。您还必须在请求中提供与限制问题相关的区域和时间范围。

避免活动突增

避免导致 API 调用突增的情况。例如,不要设置一个 Amazon EC2 Auto Scaling 组中的所有实例都在启动时启用缩减保护。相反,应在组中默认启用此选项,以便所有实例都默认启用保护。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?