A sample that shows how to combine a load balancer with (vpc/subnet configuration) with a lambda.
serverless framework sample that shows how to deploy a load balancer (with vpc/subnet configuration) connected to a lambda in aws.
This feature has been introduced in v 1.45 and extended in 1.46 serverless framework
when to use load balancer instead of api gateway ?
npm install serverless -g npm install
Modify the file /config/serverless.config.yml
VPC_ID: 'vpc-xxxxxxxxx' SUBNET_ID_A: "subnet-xxxxxxxxx" SUBNET_ID_B: "subnet-xxxxxxxxx" SUBNET_ID_C: "subnet-xxxxxxxxx" SCHEME: "internet-facing" or "internal" # load balancer scheme -
sls info -v
you should get the full output containing the load balancer url.
Stack Outputs LoadBalancerDNSName: serverless-load-balancer-258977035.eu-central-1.elb.amazonaws.com HandlerLambdaFunctionQualifiedArn: arn:aws:lambda:eu-central-1:368555349508:function:serverless-load-balancer-dev-handler:1 ServerlessDeploymentBucketName: serverless-load-balancer-serverlessdeploymentbuck-16pgpyls1225e
Successfully executed lambda call via loadbalancer
This sample does not care if the lambda and the load balancer are both in a vpc. It could be mixed in anyway dependent of the use case
The load balancer url will be stored as Parameter in Parameter store. This helps to reference the loadbalancer url easily tool-independent in other stacks.