Sum*_*ora 2 amazon-web-services aws-lambda
在我的一个项目中,AWS Lambda函数之一(通常每分钟调用一次)在其函数内调用另一个AWS Lambda函数(使用AWSLambdaClient lambdaClient;).有时lambdaClient调用lambda函数(它不常说每小时4到5次)抛出SubnetIPAddressLimitReachedException:
2016-11-24 14 <---------------------> INFO xyzHandler:395 - Lambda无法为Lambda函数设置VPC访问权限,因为一个或更多配置的子网没有可用的IP地址.(服务:AWSLambda;状态代码:502;错误代码:SubnetIPAddressLimitReachedException ;请求ID:XXXX)
Mat*_*ser 10
将Lambda函数配置为在VPC内执行时,可以指定Lambda函数将在其中执行的一个或多个子网ID.
您指定的子网需要在其中包含足够的可用IP地址,以适应Lambda函数的所有同时执行.
例如,如果您选择一个子网并将其定义为a /24,那么您最多拥有254个IP地址.
如果您的Lambda函数同时被调用300次,那么它们将需要300个单独的IP地址,这是您的子网无法容纳的.在这种情况下,您将收到SubnetIPAddressLimitReachedException错误.
当Lambda函数完成时,它们的资源将被重用.因此,他们将释放使用过的IP地址和/或在后续Lambda执行期间重新使用它们.
目前无法限制Lambda本身内的同时执行次数.我见过人们使用其他服务,比如Kinesis来限制它.
有3种解决途径:
| 归档时间: |
|
| 查看次数: |
1028 次 |
| 最近记录: |