rails-lambda/lambdakiq

Seahorse::Client::NetworkingError execution expired

blakelthaus opened this issue · 4 comments

When trying to connect to a SQS queue "lamby-queue-production" using lamby we get the following error. We have confirmed that the queue is setup and that the handler is sending jobs to the queue lambda function but once it gets there is errors out. Error message below.

[Aws::SQS::Client 0 62.116075 3 retries] get_queue_url(queue_name:"lamby-queue-production") Seahorse::Client::NetworkingError execution expired.

We have confirmed our environment is setup following the lambdakiq readme. Below is our application_job.rb file

image

Please let us know if you need any more info or if there is something we are missing.

@blakelthaus is your lambda in a VPC? If so you need to setup a VPC endpoint to SQS. I was seeing a similar networking error and stumbled across these for help:

I hope this helps - setting up that VPC endpoint unblocked me.

Thanks @kellyredding that's a great question. I'm guessing when you say VPC you might mean a VPC where the Lambda is using Private Subnets? If so, I'm guessing there was not NAT Gateway for public access and hence why the endpoint was needed?

@metaskills np. And yes, I do mean a VPC where the Lambda is using private subnets - thanks for clarifying that for me.

Yeah, in my setup my RackLambda and my JobsLambda both need to access an Aurora Serverless Postgres cluster and it is in the VPC with private subnets.

@kellyredding thanks for the info, forgot to come back here and check but it did end up being an issue with our VPC. The VPC endpoint worked for some things but didn't provide a full solution so we had to do some additional networking configuration. Marking as closed!