Terraform AWS provider "ThrottlingException: Rate exceeded" in CI
AWS returned ThrottlingException: Rate exceeded (or RequestLimitExceeded) because Terraform issued API calls faster than the service allows. This is transient: the request is valid, just rate-limited.
What this error means
terraform plan or apply fails or slows with "ThrottlingException: Rate exceeded" or "RequestLimitExceeded", often on large configs with high parallelism.
Error: reading EC2 Instances: operation error EC2: DescribeInstances,
https response error StatusCode: 400, api error RequestLimitExceeded:
Request limit exceeded.Common causes
High parallelism on a large config
Terraform refreshes and applies many resources at once; on a big state the burst of API calls trips the service rate limit.
Many concurrent jobs hitting the same account
Several CI pipelines against one account share the API budget, so each gets throttled sooner.
How to fix it
Lower parallelism so calls spread out
Reduce concurrent operations so Terraform stays under the rate limit. The provider already retries throttled calls with backoff.
terraform apply -parallelism=5Increase provider retries for bursty APIs
Allow more SDK retries so transient throttles are absorbed instead of failing the run.
provider "aws" {
max_retries = 10
}How to prevent it
- Keep parallelism modest on large states.
- Stagger concurrent pipelines that share one account.
- Raise
max_retriesso transient throttles self-resolve.