Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS CloudFormation Rate Exceeded

I am running a multi-branch pipeline in Jenkins for CI/CD that deploys a CloudFormation stack to my AWS account. Occasionally, when multiple developers push to their branches at the same time, I receive this error on one or more branches:

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

This seems to be a rate limit that Amazon has imposed on the number of requests to CloudFormation within a specified time frame.

What is the request limit of CloudFormation, and can I request a limit increase?

like image 936
Preston Martin Avatar asked Nov 21 '18 21:11

Preston Martin


People also ask

How do I fix ThrottlingException rate exceeded?

To prevent or mitigate "ThrottlingException" or "Rate exceeded" errors, try the following troubleshooting steps: Reduce the frequency of the API calls. Stagger the intervals of the API calls so that they don't all run at the same time. Use APIs that return more than one value.

How can you increase the limit of CloudFormation stack?

Maximum number of AWS CloudFormation stack sets you can create in your administrator account. To create more stack sets, delete stack sets that you don't need or request an increase in the maximum number of stack sets in your AWS account. For more information, see AWS service quotas in the AWS General Reference.

How do I increase my AWS rate limit?

The account-level rate limit can be increased upon request - higher limits are possible with APIs that have shorter timeouts and smaller payloads. To request an increase of account-level throttling limits per Region, contact the AWS Support Center .


1 Answers

No - Not the requests to the cloudformation API.

Most likely the issue will be that Jenkins pipeline requesting for updates every few seconds in order to get the current status. And when you are deploying multiple stacks you will hit this error.

This is probably a bug in the Cloudformation plugin in Jenkins - you'll need to raise a ticket and ask them to implement a backoff of requests if the cfn stack is taking longer than expected, so that it doesn't keep requesting the status of the stack as often.

You could also change your Jenkinsfile's to use the aws-cli which do a better job of managing requests to AWS on cfn updates.

like image 55
Mariusz Avatar answered Sep 26 '22 02:09

Mariusz