Posted On: Nov 30, 2017
You can now set a concurrency limit on individual AWS Lambda functions. The concurrency limit you set will reserve a portion of your account level concurrency limit for a given function. This feature allows you to throttle a given function if it reaches a maximum number of concurrent executions allowed, which you can choose to set. This is useful when you want to limit traffic rates to downstream resources called by Lambda (e.g. databases) or if you want to control the consumption of elastic network interfaces (ENI) and IP addresses for functions accessing a private VPC.
You can set a numerical value for a function’s concurrency limit, which is allocated from your account’s total concurrency limit (defined as $ACCOUNT). The default concurrency limit across all functions per region in a given account is 1,000. All of your functions’ concurrent executions count against this account-level limit (i.e. $ACCOUNT) by default. If you set a concurrency limit for a specific function, then that function’s concurrency limit allocation is deducted from the shared pool and assigned to that specific function. All subsequent invocations to that function count only against the function level limit. You can track each function’s concurrency usage and your account level concurrency usage using new Amazon CloudWatch metrics that come with this feature.
This feature is available in US East (N. Virginia), US East (Ohio), US West (N. California), US West (Oregon), AWS GovCloud (US), Canada (Central), South America (São Paulo), EU (Frankfurt), EU (Ireland), EU (London), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), and China (Beijing).