Verwenden von Amazon EFS mit Lambda - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Amazon EFS mit Lambda

Lambda lässt sich in Amazon Elastic File System (Amazon EFS) integrieren, um sicheren, gemeinsam genutzten Dateisystemzugriff für Lambda-Anwendungen zu unterstützen. Sie können Funktionen konfigurieren, um ein Dateisystem während der Initialisierung mit dem NFS-Protokoll über das lokale Netzwerk innerhalb einer VPC zu mounten. Lambda verwaltet die Verbindung und verschlüsselt den gesamten Datenverkehr zum und vom Dateisystem.

Das Dateisystem und die Lambda-Funktion müssen sich in derselben Region befinden. Eine Lambda-Funktion in einem Konto kann ein Dateisystem in einem anderen Konto mounten. In diesem Szenario konfigurieren Sie VPC-Peering zwischen der Funktion-VPC und der Dateisystem-VPC.

Anmerkung

Informationen zum Konfigurieren einer Funktion zum Herstellen einer Verbindung mit einem Dateisystem finden Sie unter Konfigurieren des Dateisystemzugriffs für Lambda-Funktionen.

Amazon EFS unterstützt das Sperren von Dateien, um Beschädigungen zu verhindern, wenn mehrere Funktionen gleichzeitig in dasselbe Dateisystem schreiben. Sperren in Amazon EFS verwenden das NFS v4.1-Protokoll für empfohlene Sperren, das Ihren Anwendungen die Verwendung von Datei- und Byte-Bereichssperren ermöglicht.

Amazon EFS bietet Optionen zum Anpassen des Dateisystems an, basierend auf der Notwendigkeit Ihrer Anwendung, skalierbare hohe Leistung zu halten. Es sind drei Hauptfaktoren zu berücksichtigen: die Anzahl der Verbindungen, der Durchsatz (in MiB pro Sekunde) und IOPS.

Kontingente

Weitere Informationen zu Dateisystemkontingenten und -limits finden Sie unter Kontingente für Amazon-EFS-Dateisysteme im Amazon-Elastic-File-System-Benutzerhandbuch.

Um Probleme mit Skalierung, Durchsatz und IOPS zu vermeiden, überwachen Sie die Metriken, die Amazon EFS an Amazon sendet CloudWatch. Eine Übersicht über die Überwachung in Amazon EFS finden Sie unter Überwachung von Amazon EFS im Amazon-Elastic-File-System-Benutzerhandbuch.

Verbindungen

Amazon EFS unterstützt bis zu 25.000 Verbindungen pro Dateisystem. Während der Initialisierung erstellt jede Instance einer Funktion eine einzelne Verbindung zu ihrem Dateisystem, die über Aufrufe hinweg besteht. Dies bedeutet, dass Sie 25.000 Nebenläufigkeit über eine oder mehrere Funktionen erreichen können, die mit einem Dateisystem verbunden sind. Um die Anzahl der Verbindungen zu begrenzen, die eine Funktion erstellt, verwenden Sie reservierte Nebenläufigkeit.

Wenn Sie jedoch Änderungen am Code oder der Konfiguration Ihrer Funktion im Maßstab vornehmen, gibt es eine vorübergehende Erhöhung der Anzahl der Funktionsinstances über die aktuelle Nebenläufigkeit hinaus. Lambda stellt neue Instances bereit, um neue Anforderungen zu verarbeiten, und es gibt eine gewisse Verzögerung, bevor alte Instances ihre Verbindungen zum Dateisystem schließen. Verwenden Sie fortlaufende Bereitstellungenum das Maximum an Verbindungen während einer Bereitstellung zu vermeiden. Bei fortlaufender Bereitstellungen verlagern Sie den Datenverkehr bei jeder Änderung schrittweise auf die neue Version.

Wenn Sie sich von anderen Diensten wie zum Beispiel Amazon EC2 mit demselben Dateisystem verbinden, sollten Sie sich auch über das Skalierungsverhalten von Verbindungen in Amazon EFS bewusst sein. Ein Dateisystem unterstützt die Erstellung von bis zu 3.000 Verbindungen in einem Burst, woraufhin es 500 neue Verbindungen pro Minute unterstützt.

Verwenden Sie die ClientConnections-Metrik, um einen Alarm bei Verbindungen zu überwachen und auszulösen.

Durchsatz

Im Maßstab ist es auch möglich, den maximalen Durchsatz für ein Dateisystem zu überschreiten. Im Bursting-Modus (Standardeinstellung) weist ein Dateisystem einen niedrigen Basisdurchsatz auf, der linear mit seiner Größe skaliert wird. Um Aktivitätsspitzen zu ermöglichen, werden dem Dateisystem Burst-Credits gewährt, die es ermöglichen, 100 MiB/s oder mehr Durchsatz zu verwenden. Credits sammeln sich kontinuierlich an und werden mit jedem Lese- und Schreibvorgang aufgewendet. Wenn das Dateisystem keine Credits mehr hat, drosselt es Lese- und Schreibvorgänge über den Basisdurchsatz hinaus, was dazu führen kann, dass Aufrufe zeitüberschreitend sind.

Anmerkung

Wenn Sie bereitgestellte Nebenläufigkeit, verwenden, kann Ihre Funktion Burst-Credits auch im Leerlauf verbrauchen. Mit bereitgestellter Nebenläufigkeit initialisiert Lambda Instances Ihrer Funktion, bevor sie aufgerufen wird, und recycelt Instanzen alle paar Stunden. Wenn Sie während der Initialisierung Dateien auf einem angehängten Dateisystem verwenden, kann diese Aktivität alle Ihre Burst-Credits verwenden.

Verwenden Sie die BurstCreditBalance-Metrik, um den Durchsatz zu überwachen und einen Alarm auszulösen. Es sollte zunehmen, wenn die Nebenläufigkeit Ihrer Funktion niedrig ist und abnimmt, wenn sie hoch ist. Wenn es bei geringer Aktivität immer abnimmt oder nicht genug ansammelt, um den Peak-Datenverkehr abzudecken, müssen Sie möglicherweise die Nebenläufigkeit Ihrer Funktion einschränken oder den bereitgestellten Durchsatzaktivieren.

IOPS

Input/Output Operations pro Sekunde (IOPS) ist ein Maß für die Anzahl der Lese- und Schreibvorgänge, die vom Dateisystem verarbeitet werden. Im Allzweckmodus ist IOPS zugunsten einer niedrigeren Latenz begrenzt, was für die meisten Anwendungen von Vorteil ist.

Verwenden Sie die PercentIOLimit-Metrik, um IOPS im Allzweckmodus zu überwachen und einen Alarm einzurichten. Wenn diese Metrik 100 % erreicht, kann es für Ihre Funktion beim Warten auf den Abschluss von Lese- und Schreibvorgängen zu einer Zeitüberschreitung kommen.