Select your cookie preferences

We use cookies and similar tools to enhance your experience, provide our services, deliver relevant advertising, and make improvements. Approved third parties also use these tools to help us deliver advertising and provide certain site features.

Lambda function in a VPC

Created with SnapVPCAWS LambdaSecrets Manager

Create a Lambda Function in a VPC with secure access to Secrets Manager.

This sample project demonstrates how to create a Lambda function in a VPC and only granting access to Secrets Manager via a VPC endpoint.

service: lambda-vpc-secrets-sls

frameworkVersion: '^3' # requires serverless 3.0 or later

provider:
  name: aws
  runtime: nodejs20.x
  architecture: arm64 
  stage: ${opt:stage, "dev"} # Default stage to "dev"
  region: ${opt:region, "us-east-1"} # Default region to "us-east-1"
  memorySize: 256 # Default lambda memory size; min = 128 and max = 10240
  timeout: 10 # Default lambda timeout; max is 900 seconds

plugins:
  - serverless-bundle
  - serverless-prune-plugin
  
custom:
  prune:
    automatic: true
    number: 1

package:
  individually: true

functions: ${file(serverless-resources/functions.yaml)}

resources:
  - ${file(serverless-resources/iam-roles.yaml)}
  - ${file(serverless-resources/secrets.yaml)}
  - ${file(serverless-resources/vpc.yaml)}

< Back to all patterns


GitHub icon Visit the GitHub repo for this pattern.

Download

git clone https://github.com/aws-samples/serverless-patterns/ cd serverless-patterns/lambda-vpc-secrets-sls

Deploy

sls deploy


Testing

See the GitHub repo for detailed testing instructions.

Cleanup

Delete the stack: sls remove.

Presented by Wayne Greeley

AWS Community Builder