Konfigurieren des Dateisystemzugriffs für Lambda-Funktionen - AWS Lambda

Konfigurieren des Dateisystemzugriffs für Lambda-Funktionen

Sie können eine Funktion konfigurieren, um eine Bindungsbereitstellung für ein Amazon-Elastic-File-System-(Amazon-EFS)-Dateisystem in einem lokalen Verzeichnis zu erstellen. Mit Amazon EFS kann Ihr Funktionscode auf freigegebene Ressourcen sicher und mit hoher Nebenläufigkeit zugreifen und diese ändern.

Ausführungsrolle und Benutzerberechtigungen

Wenn das Dateisystem keine benutzerkonfigurierte AWS Identity and Access Management (IAM)-Richtlinie hat, verwendet EFS eine Standardrichtlinie, die jedem Client, der über ein Dateisystem-Mounting-Ziel eine Verbindung zum Dateisystem herstellen kann, vollen Zugriff gewährt. Wenn das Dateisystem eine benutzerkonfigurierte IAM-Richtlinie hat, muss die Ausführungsrolle Ihrer Funktion die richtigen elasticfilesystem-Berechtigungen besitzen.

Berechtigungen für die Ausführungsrolle
  • ElasticFileSystem:ClientMount

  • ElasticFileSystem:ClientWrite (nicht für schreibgeschützte Verbindungen erforderlich)

Diese Berechtigungen sind in der verwalteten Richtlinie AmazonElasticFileSystemClientReadWriteAccess enthalten. Darüber hinaus muss Ihre Ausführungsrolle die Berechtigungen, die für die Verbindung mit der VPC des Dateisystems erforderlich sind, besitzen.

Wenn Sie ein Dateisystem konfigurieren, werden Ihre Berechtigungen von Lambda verwendet, um Bindungsbereitstellung-Ziele zu überprüfen. Um eine Funktion für die Herstellung von Verbindungen mit einer VPC zu konfigurieren, benötigt Ihr Benutzer die folgenden Berechtigungen:

Benutzerberechtigungen
  • ElasticFileSystem:DescribeMountTargets

Konfigurieren eines Dateisystems und eines Zugriffspunkts

Erstellen Sie ein Dateisystem in Amazon EFS mit einem Bindungsbereitstellung-Ziel in jeder Availability Zone, zu der Ihre Funktion eine Verbindung herstellt. Verwenden Sie für Leistung und Ausfallsicherheit mindestens zwei Availability Zones. In einer einfachen Konfiguration könnten Sie beispielsweise eine VPC mit zwei privaten Subnetzen in separaten Availability Zones haben. Die Funktion verbindet sich mit beiden Subnetzen und ein Mount-Ziel ist in jedem verfügbar. Stellen Sie sicher, dass NFS-Datenverkehr (Port 2049) von den Sicherheitsgruppen erlaubt ist, die von den Funktionen und Mount-Zielen verwendet werden.

Anmerkung

Wenn Sie ein Dateisystem erstellen, wählen Sie einen Leistungsmodus, der später nicht geändert werden kann. Der Allzweckmodus hat eine geringere Latenz, und der Max I/O-Modus unterstützt einen höheren maximalen Durchsatz und IOPS. Hilfe bei der Auswahl finden Sie unter Amazon-EFS-Leistung im Amazon-Elastic-File-System-Benutzerhandbuch.

Ein Zugriffspunkt verbindet jede Instance der Funktion mit dem richtigen Mount-Ziel für die Availability Zone, mit der sie eine Verbindung herstellt. Um eine optimale Leistung zu erzielen, erstellen Sie einen Zugriffspunkt mit einem Nicht-Stammpfad und beschränken Sie die Anzahl der Dateien, die Sie in jedem Verzeichnis erstellen. Im folgenden Beispiel wird ein Verzeichnis mit dem Namen my-function auf dem Dateisystem erstellt und die Besitzer-ID auf 1001 mit Standardverzeichnisberechtigungen (755) festgelegt.

Beispiel Konfiguration von Zugriffspunkten
  • Name (Namefiles

  • Benutzer-ID1001

  • Gruppen-ID1001

  • Pfad/my-function

  • Berechtigungen755

  • Benutzer-ID des Eigentümers 1001

  • Gruppen-Benutzer-ID 1001

Wenn eine Funktion den Zugriffspunkt verwendet, erhält sie die Benutzer-ID 1001 und hat vollen Zugriff auf das Verzeichnis.

Weitere Informationen finden Sie in den folgenden Themen im Amazon-Elastic-File-System-Benutzerhandbuch:

Herstellen einer Verbindung mit einem Dateisystem (Konsole)

Eine Funktion stellt eine Verbindung mit einem Dateisystem über das lokale Netzwerk in einer VPC her. Die Subnetze, mit denen Ihre Funktion eine Verbindung herstellt, können dieselben Subnetze sein, die Mounting-Punkte für Ihr Dateisystem enthalten, oder Subnetze in derselben Availability Zone, die NFS-Datenverkehr (Port 2049) an das Dateisystem weiterleiten kann.

Anmerkung

Wenn Ihre Funktion noch nicht mit einer VPC verbunden ist, finden Sie weitere Informationen unter Lambda-Funktionen Zugriff auf Ressourcen in einer Amazon VPC gewähren.

So konfigurieren Sie den Zugriff auf Dateisysteme
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie eine Funktion aus.

  3. Wählen Sie Konfiguration und dann Dateisysteme.

  4. Wählen Sie unter Dateisystem die Option Dateisystem hinzufügen.

  5. Konfigurieren Sie die folgenden Eigenschaften:

    • EFS-Dateisystem – Der Zugriffspunkt für ein Dateisystem in derselben VPC.

    • Lokaler Bindungsbereitstellungspfad – Der Speicherort, an dem das Dateisystem für die Lambda-Funktion gemountet ist, beginnend mit /mnt/.

Preisgestaltung

Amazon EFS erhebt Gebühren für Speicher und Durchsatz, mit Raten, die je nach Speicherklasse variieren. Details dazu finden Sie unter Amazon-EFS-Preise.

Lambda erhebt Gebühren für die Datenübertragung zwischen VPCs. Dies gilt nur, wenn die VPC Ihrer Funktion auf eine andere VPC mit einem Dateisystem gepeered wird. Die Preise sind die gleichen wie für die Amazon-EC2-Datenübertragung zwischen VPCs in derselben Region. Einzelheiten finden Sie unter Lambda – Preise.