AWS Certified Developer – Associate (DVA-C02)Troubleshooting and MonitoringHard

A developer is using AWS Step Functions to orchestrate a complex workflow. They notice that one of the Lambda functions invoked by a state machine occasionally fails with a `Lambda.TooManyRequestsException` error. The Lambda function itself is not experiencing high concurrency when invoked directly, and its configured concurrency limit is sufficiently high. What is the MOST likely cause of this error within the Step Functions context?

  1. AThe Lambda function's configured memory is too low, causing it to throttle.
  2. BThe Step Functions execution role lacks permissions to invoke Lambda functions.
  3. CThe Step Functions state machine is configured with a high `RateLimit` or `BurstRate` for its task, causing it to overwhelm the downstream Lambda function.
  4. DThe AWS account's overall Lambda concurrency limit is being exceeded by other Lambda functions.
Show answer & explanation

Correct answer: D. The AWS account's overall Lambda concurrency limit is being exceeded by other Lambda functions.

A `Lambda.TooManyRequestsException` indicates that the Lambda service itself is throttling the invocation. While the individual Lambda function might have a high concurrency limit, the account-level concurrency limit applies to ALL Lambda functions in that region. If other Lambda functions are consuming most of the account's available concurrency, even a well-configured function can be throttled.

Why the other options are wrong

  • A. Low memory typically leads to 'Out of memory' errors or increased duration, not `TooManyRequestsException` which is a throttling error from the Lambda service.
  • B. Lack of permissions would result in an 'Access Denied' error, not a `TooManyRequestsException`.
  • C. Step Functions' `RateLimit` and `BurstRate` parameters are for controlling the *rate at which Step Functions invokes tasks*. If these were too high, the *Lambda service* would throttle Step Functions, but the error would still ultimately be due to the Lambda service's limits (account or function-specific), not Step Functions itself causing the error name.

Lambda Account Concurrency Limit

AWS Lambda enforces a regional concurrency limit per account, shared across all functions. Exceeding this limit causes `TooManyRequestsException` even if individual function limits are high.

  • Default is 1000 concurrent executions per region.
  • Can be increased via AWS support request.
  • Reserved concurrency protects specific functions from being throttled by others.

Memory trick: Lambda throttling: Check the function, then check the account.

More Troubleshooting and Monitoring questions