[ACCEPTED]-EC2 API Throttling Limits-amazon-ec2

Accepted answer
Score: 31

Amazon EC2 has meanwhile documented their general 58 Query API Request Rate handling:

We throttle Amazon EC2 API requests 57 for each AWS account to help the performance 56 of the service. We ensure that all calls 55 to the Amazon EC2 API (whether they originate 54 from an application, calls to the Amazon 53 EC2 command line interface, or the Amazon 52 EC2 console) don't exceed the maximum allowed 51 API request rate. Note that API requests 50 made by IAM users are attributed to the 49 underlying AWS account.

The Amazon EC2 API 48 actions are divided into the following categories:

If 47 an API request exceeds the API request rate 46 for its category, the request returns the 45 RequestLimitExceeded error code. To prevent 44 this error, ensure that your application 43 doesn't retry API requests at a high rate. You 42 can do this by using care when polling and 41 by using exponential back-off retries.

While 40 the details might vary between the plethora 39 of their services, I think it is safe to 38 assume similar patterns in place usually 37 (not the least due to EC2 backing many of 36 the other services too).

Both the aforementioned 35 explanation from EC2 as well as a few indirect 34 quotes from users interacting with AWS support 33 seem to suggest that the limits can vary 32 by service status and per account even, i.e. AWS 31 is capable of raising/reducing limits for 30 individual accounts depending on dedicated 29 high performance use cases, suspected abuse 28 etc., see e.g.:

  • RequestLimitExceeded within Client Error Codes, hinting on per 27 account handling:

    The maximum request rate 26 permitted by the Amazon EC2 APIs has been 25 exceeded for your account. [...]

  • How do we get the EBS API rate limit increased?:

    Rightscale 24 support have said we need to contact Amazon 23 to get the EBS API rate limit increased 22 as it seems we are exceeding calls to this 21 API as we have a large number of MySQL databases 20 in this account and they are all having 19 EBS snapshots taken for backups.

  • The AWS 18 team's response to Error: Request limit exceeded using boto to launch and terminate instances:

    The rate limit that 17 you will see with EC2 can vary depending 16 on system load.

  • Saul's answer to Amazon Web Services S3 Request Limit:

    However, after 15 posting this question I received an email 14 from AWS that said the had capped my LIST 13 requests to 10 requests per second because 12 I had too many going to a specific bucket.

  • Of 11 course their are usually exception to most 10 rules, I'm aware of the following two services 9 documenting specific limits:

As outlined on 5 Troubleshooting API Request Errors, the correct approach for handling this 4 on the client side is to implement Error Retries and Exponential Backoff in AWS (most 3 AWS SDKs meanwhile apply this guidance automatically, including 2 options to adjust the default retry policy 1 or add a custom implementation even).

More Related questions