我的Lambda访问我的VPC上的资源,因此按照文档中的说明,我为Lambda指定了一个创建网络接口的角色。我假设弹性网卡被重用,但看起来每次调用都会创建一个新的弹性网卡,这会导致抛出错误
Lambda was not able to create an ENI in the VPC of the Lambda function because the limit for Network Interfaces has been reached.
我在谷歌上搜索,但找不到解决这个问题的最好方法。除了定期手动删除这些弹性网卡之外,还有更好的方法吗?
发布于 2016-03-15 10:42:19
正如马克所建议的,问题是我的AWS Lambda没有在lambda设置为的角色(策略)中指定DeleteNetworkInterface操作。通过提供适当的策略,Lambda现在可以在完成后分离和删除弹性网卡。
{
"Effect": "Allow",
"Resource": "*",
"Action": [
"ec2:DescribeInstances",
"ec2:CreateNetworkInterface",
"ec2:AttachNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DeleteNetworkInterface",
"ec2:DetachNetworkInterface",
"ec2:ModifyNetworkInterfaceAttribute",
"ec2:ResetNetworkInterfaceAttribute",
"autoscaling:CompleteLifecycleAction"
]
}发布于 2016-09-07 22:36:40
亚马逊网络服务的官方声明(通过their docs和支持票证)是使用亚马逊网络服务管理的策略AWSLambdaVPCAccessExecutionRole。
摘自私有支持票证:
AWS在您的Lambda函数中使用的角色有一个附加策略"AWSLambdaVPCAccessExecutionRole",这是一个用于启用VPC的Lambda函数的
托管策略。此策略包含所有需要的权限,如果由于服务更新而需要新权限,则可能会在将来进行更新。
还值得注意的是,有时可能需要几个小时才能收获分离的网卡。
https://stackoverflow.com/questions/35990747
复制相似问题