Mein Lambda greift auf Ressourcen in meiner VPC zu, wie in der Dokumentation beschrieben, die ich der Lambda-Rolle zum Erstellen von Netzwerkschnittstellen gegeben habe. Ich ging davon aus, dass das ENI wiederverwendet wird, aber es sieht so aus, als ob jeder Aufruf ein neues ENI erstellt, das einen Fehler verursacht hat
Lambda was not able to create an ENI in the VPC of the Lambda function because the limit for Network Interfaces has been reached.
Ich habe google gesucht, konnte aber nicht den besten Weg finden, dieses Problem zu lösen. Abgesehen davon, dass diese ENIs regelmäßig manuell gelöscht werden, gibt es einen besseren Weg?
Wie Mark vorgeschlagen hat, war das Problem, dass AWS Lambda nicht das DeleteNetworkInterface Aktion, die in der Rolle (Richtlinie) angegeben ist, auf die das Lambda festgelegt wurde. Durch das Geben der entsprechenden Richtlinie löst und löscht das Lambda nun das ENI, wenn es fertig ist.
%Vor% Die offizielle Zeile von AWS (über ihre Dokumente und a Support-Ticket) verwendet die von AWS verwaltete Richtlinie AWSLambdaVPCAccessExecutionRole
.
Auszug aus einem privaten Support-Ticket:
Die Rolle, die Sie in Ihrer Lambda-Funktion verwenden, hat eine angehängte Richtlinie "AWSLambdaVPCAccessExecutionRole", die eine von AWS verwaltete Richtlinie für VPC-fähige Lambda-Funktionen ist. Diese Richtlinie enthält alle erforderlichen Berechtigungen und kann in Zukunft aktualisiert werden, wenn aufgrund von Aktualisierungen des Dienstes neue Berechtigungen benötigt werden.
Es ist auch erwähnenswert, dass es manchmal einige Stunden dauern kann, bis abgelöste ENIs geerntet werden.
Tags und Links amazon-web-services aws-lambda