超出 AWS CloudFormation 速率

AWS CloudFormation Rate Exceeded

我是 运行 Jenkins 中的一个多分支管道,用于 CI/CD 将 CloudFormation 堆栈部署到我的 AWS 帐户。有时,当多个开发人员同时推送到他们的分支时,我在一个或多个分支上收到此错误:

com.amazonaws.services.cloudformation.model.AmazonCloudFormationException: Rate exceeded (Service: AmazonCloudFormation; Status Code: 400; Error Code: Throttling;

这似乎是亚马逊对指定时间范围内对 CloudFormation 的请求数量施加的速率限制。

CloudFormation 的请求限制是多少,我可以请求提高限制吗?

否 - 不是对 cloudformation 的请求 API。

最有可能的问题是 Jenkins 管道每隔几秒请求更新一次以获得当前状态。当您部署多个堆栈时,您将遇到此错误。

这可能是 Jenkins 中的 Cloudformation 插件中的错误 - 如果 cfn 堆栈花费的时间比预期的长,您需要提出请求并要求他们实施请求退避,这样它就不会继续请求堆栈的状态。

您还可以更改 Jenkinsfile 以使用 aws-cli,它可以更好地管理 cfn 更新时对 AWS 的请求。