Sending SQS message timeout


I wrote an AWS lambda function in NodeJs that pulls id’s off a database and queues them onto a AWS SQS queue. I had it working fine until I deployed a function to receive the messages and now the original function is not working. Here is the relevant code:

The issue is that it isn’t throwing an error anywhere. It just times out on the first sendMessage no matter how long you give it. I have since removed the message receiving function and the issues persists. Some additional info that might help is I have been using serverless to deploy.


You didn’t include the rest of your lambda function but I assume your database instance is in a VPC. If so, you need to:

  1. Place your lambda inside your VPC
  2. Set up a VPC endpoint for SQS or NAT gateway (depending on whether you just need to access SQS only or also need to access the internet).

Key note (that I learned the hard way): When you add your lambda function to a subnet, make sure you ONLY add it to the private subnets, otherwise nothing will work.

It is going to take quite a bit of tinkering to get right, but it is doable. Here are some relevant docs:


Leave a Reply