0

I have serveral lambda functions (all in the same region) and I want to limit the concurrency of one of them to a very small value. Specifically, I do not want more than 3 instances of this function running concurrently. This function is not expected to receive a lot of traffic so setting its Reserve concurrency to a low value makes a lot of sense.

When I try to set this function's Reserve concurrency I get a rejection message (screeshot below) as follows: The unreserved account concurrency can't go below 100.

What should I do to be able to restrict the concurrency of this function?

(FWIW, the Unreserved account concurrency of my account is 100)

enter image description here

1 Answer 1

2

Functions that don't have reserved concurrency defined need to be able to scale when necessary. AWS insists that you leave 100 invocations for such functions.

you can use upto Unreserved account concurrency minus 100 when defining reserved concurrency for your functions.

You can reserve up to the Unreserved account concurrency value that is shown, minus 100 for functions that don't have reserved concurrency. To throttle a function, set the reserved concurrency to zero. This stops any events from being processed until you remove the limit.

Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit.

https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.