2016-03-14 37 views
8

我的Lambda訪問我的VPC上的資源,按照文檔中的說明,我已爲Lambda創建了網絡接口。我當時想每次調用時創建一個新的ENI的ENI被重用,但看起來假設造成拋出一個錯誤Lambda在每次調用時創建ENI:命中限制

Lambda was not able to create an ENI in the VPC of the Lambda function because the limit for Network Interfaces has been reached.

我搜索谷歌,但找不到解決這個問題的最好方式下。除了定期手動刪除這些ENI還有更好的方法嗎?

+4

Lambda角色是否有權刪除ENI或僅創建權限? –

+0

@MarkB:有趣,沒有想過。它沒有刪除權限。讓我嘗試給予該權限,看看會發生什麼 – blueskin

+0

@blueskin我正在調查類似的問題。你在哪裏遇到你提到的錯誤問題? – Nic

回答

11

正如Mark所說,問題在於我的AWS Lambda沒有在lambda設置爲的角色(策略)中指定的DeleteNetworkInterface Action。通過給出適當的策略,Lambda現在可以分離並刪除ENI。

 { 
      "Effect": "Allow", 
      "Resource": "*", 
      "Action": [ 
       "ec2:DescribeInstances", 
       "ec2:CreateNetworkInterface", 
       "ec2:AttachNetworkInterface", 
       "ec2:DescribeNetworkInterfaces", 
       "ec2:DeleteNetworkInterface", 
       "ec2:DetachNetworkInterface", 
       "ec2:ModifyNetworkInterfaceAttribute", 
       "ec2:ResetNetworkInterfaceAttribute", 
       "autoscaling:CompleteLifecycleAction" 
      ] 
     } 
5

從AWS官網上(通過their docs和支持票)是使用AWS管理政策AWSLambdaVPCAccessExecutionRole

摘自私人支持票:

您使用的是您的lambda函數的作用有一個附加條款「AWSLambdaVPCAccessExecutionRole」,這是一個AWS管理啓用了VPC-LAMBDA功能政策。此策略包含所有必需的權限,如果由於服務更新而需要新的權限,則可能會在將來更新。

還值得注意的是,它可能需要幾個小時才能收割分離的ENI。

相關問題