I have Lambda function that is fronted by an Application Load Balancer. The Lambda function has an alias called live
. The ALB is pointing to the live
alias (ie. target of the ALB is arn:aws:lambda:us-east-1:123456789012:function:MyLambda:live
)
I have assigned provisioned concurrency (2 instances) to the live
alias but noticed in the invocations graph that none of the invocations to the live
alias are using provisioned concurrency.
First question: Why is live showing all invocations not using provisioned concurrency despite 2 instances allocated? What's the best way to troubleshoot this?
Second question: When assigning provisioned concurrency we have an option of allocating to the version that the live
alias points to, or allocating to the alias. Which is better? Allocate to the version that the Alias is pointing to? or allocate to the Alias?
Hi Mike,
We experience the same behavior. The only difference is that our calls come from an API Gateway. Despite provisioned concurrency, when calls hit the function it starts new instances and the ones provisioned are not used. Then we have delays because of the cold start.
Another strange thing is that we have provisioned 5 instances and we always have 10 instances running. We don't know why. (to find out how many instances are running, we count the log streams in cloud watch)
Do you (or anyone else) have a solution?
Regards, Florian