我正在 Jenkins 中运行用于 CI/CD 的多分支管道,该管道将 CloudFormation 堆栈部署到我的 AWS 账户。有时,当多个开发人员同时推送到他们的分支时,我会在一个或多个分支上收到此错误:
com.amazonaws.services.cloudformation.model.AmazonCloudFormationException: Rate exceeded (Service: AmazonCloudFormation; Status Code: 400; Error Code: Throttling;
这似乎是 Amazon 对指定时间范围内对 CloudFormation 的请求数量施加的速率限制。
CloudFormation 的请求限制是多少?我可以请求提高限制吗?
最佳答案
否 - 不是对 cloudformation API 的请求。
问题很可能是 Jenkins 管道每隔几秒请求更新一次以获得当前状态。当您部署多个堆栈时,您将遇到此错误。
这可能是 Jenkins 中 Cloudformation 插件中的一个错误 - 如果 cfn 堆栈花费的时间比预期长,您需要提出请求并要求他们实现请求退避,以便它不会继续请求堆栈的状态经常发生。
您还可以更改 Jenkinsfile 以使用 aws-cli,它可以更好地管理 cfn 更新上对 AWS 的请求。
关于amazon-web-services - AWS CloudFormation 速率超出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53420972/