2016-03-14 6 views
8

My Lambda accede alle risorse sul mio VPC come indicato nella documentazione. Ho dato a Lambda un ruolo per creare interfacce di rete. Ero sotto l'ipotesi che l'ENI viene riutilizzato, ma sembra che ogni chiamata è la creazione di un nuovo ENI che ha causato a gettare un erroreLambda crea ENI ogni volta che viene richiamato: limite di battuta

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

ho cercato di Google, ma non riusciva a trovare il modo migliore per risolvere questo problema . Oltre a cancellare manualmente questi ENI periodicamente c'è un modo migliore?

+4

Il ruolo Lambda ha le autorizzazioni per eliminare un ENI o solo il permesso di creare? –

+0

@ MarkB: Interessante, non ci ho pensato. Non ha il permesso di cancellazione. Lasciami provare a dare quel permesso e vedere cosa succede – blueskin

+0

@blueskin Sto indagando su un problema simile. Dove hai trovato l'errore che hai citato nella tua domanda? – Nic

risposta

11

Come suggerito da Mark, il problema era che la mia AWS Lambda non aveva l'azione DeleteNetworkInterface specificata nel ruolo (politica) a cui era impostato il lambda. Dando la politica appropriata il Lambda ora stacca e cancella l'ENI quando finisce.

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

La linea ufficiale da AWS (via their docs e una richiesta di assistenza) è quello di utilizzare la politica AWS gestiti AWSLambdaVPCAccessExecutionRole.

Estratto da una richiesta di assistenza privata:

Il ruolo che si sta utilizzando nella funzione lambda ha una politica allegato "AWSLambdaVPCAccessExecutionRole", che è un AWS gestito la politica per le funzioni lambda VPC-enabled. Questa politica contiene tutte le autorizzazioni necessarie e potrebbe essere aggiornata in futuro se sono necessarie nuove autorizzazioni a causa degli aggiornamenti del servizio.

Vale anche la pena notare che a volte possono essere necessarie diverse ore per la raccolta di ENI scollegate.

Problemi correlati