Skip to content

Instantly share code, notes, and snippets.

@yogeshnile
Created September 25, 2021 15:16
Show Gist options
  • Save yogeshnile/31933101645f182252f088a1a43d318e to your computer and use it in GitHub Desktop.
Save yogeshnile/31933101645f182252f088a1a43d318e to your computer and use it in GitHub Desktop.
Settings | Limits
Description Settings | Limits | Explained Can be increased
Writable Path & Space /tmp/ 512 MB --
Default Memory & Execution Time 128 MB Memory
3 Second Timeout
--
Max Memory & Execution Time 10,240 MB (1 MB increments)
900 seconds (15 Minutes) Timeout
--
Number of processes and threads (Total) 1024 --
Number of File descriptors (Total) 1024 --
Maximum deployment package size
50 MB (zipped, direct upload)
250 MB (unzipped, including layers)
--
Container image code package size
10 GB
--
Maximum deployment package size for console editor 3 MB --
Total size of deployment package per region 75 GB Can be increased upto Terabytes
Maximum size of environment variables set 4 KB --
Maximum function Layers 5 layers --
Environment variables size 4 KB --
Maximum test events (Console editor) 10 --
Invocation payload Limit (request and response) 6 MB (synchronous)
256 KB (asynchronous)
--
Elastic network interpaces per VPC 250 Can be increased upto Hundreds
Lambda Destinations
  • It sends invocation records to a destination (SQS queue, SNS topic, Lambda function, or EventBridge event bus) when the lambda function is invoked asynchronously
  • It also supports stream invocation
Can be increased upto Hundreds
Monitoring tools
  • (Default) CloudWatch Logs stream
  • AWS X-Ray
  • CloudWatch Lambda Insights (preview)
--
VPC
  • When you enable VPC, your Lambda function will lose default internet access
  • If you require external internet access for your function, ensure that your security group allows outbound connections and that your VPC has a NAT gateway
--
Concurrency
  • Concurrent Execution refers to the execution of number of function at a given time. By default the limit is 1000 across all function within a given region
  • AWS Lambda keeps 100 for the unreserved function
  • So, if there are 1000 then you can select from 900 and reserve concurrency for selected function and rest 100 is used for the unreserved function
Can be increased upto Hundreds of thousands
DLQ (Dead Letter Queue)
  • Failed Lambda is invoked twice by default and the event is discarded
  • DLQ instruct lamnda to send unprocessed events to AWS SQS or AWS SNS
  • DLQ helps you troubleshoot and examine the unprocessed request
--
Throttle
  • Throttle will set reserved concurrency of the function to zero and it will throttle all future invocation
  • If the function is throttled then it will fail to run
  • If the fucntion is ran from Lambda console then it will throw "Calling the Invoke API failed with message: Rate Exceeded."
--
File system
  • File system will allow you to add Amazon EFS file system, which provides distributed network storage for the instances of the function
  • To connect to the file system, you need to connect your lambda function to VPC
--
State machines
  • Step Functions state machines which orchestrate this function
  • The Step Functions state machines page lists all state machines in the current AWS region with at least one workflow step that invokes a Lambda function
--
Database proxies
  • Database proxy manages a pool of database connections and relays queries from a function
  • It uses Secrets Manager secret to access credentials for a database
  • To connect to the file system, you need to connect your lambda function to VPC
--
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment