Am I right in thinking giving a lambda using an API gateway 3 subnets each with a range of 16 would result in 2 subnets being used at once and 1 IP used for the API gateway that is in the same subnets resulting in a max of 31 invocations before the error code 429 is returned due to Too Many Requests. This is my thinking as there should be no other resources using an ip address that will be in these subnets but I can see testing it as being complicated and taking a very significant amount of time with my current knowledge.
1 Answer
I don't entirely understand your use-case, but it sounds like you are trying to limit the number of Lambda invocations by restricting its IP range.
There are two better ways to rate limit your application. Option one would be to use API Gateway request throttling:
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
Option two, Lambdas have a concurrency limit that can be set to achieve a similar behaviour to your approach:
Hope that helps with your design!
-
My issue was the other way around I'm restricted in the IP range I can give a lambda and wanted to check encase id missed anything in my thinking on the number of synchronous requests it would allow. Basically me being OCD encase id missed anything though it should get picked up in testing if it will cause an issue.– dougCommented Jul 19, 2020 at 17:25