How to prevent an AWS lambda function from running more than once simultaneously?

AWS Lambda currently doesn't support this behavior. You could try using DynamoDB to create a lock, but that's obviously not the most ideal scenario. Right now this use case isn't a very good fit for Lambda.

I have a job that I need to ensure only one is ever running, and I wasn't happy with any Lambda solution for that. I ended up just running it on a t2.nano instance.


AWS Lambda FAQ says that the service is designed to run functions in parallel.

FAQ

However, you could manage this from your application if you are using the microservice-http-endpoint blueprint. You can do it since this kind of blueprint is just a web service that you can call somewhere.