Utilizzo di Amazon EFS con Lambda - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di Amazon EFS con Lambda

Lambda si integra con Amazon Elastic File System (Amazon EFS) per supportare l'accesso sicuro e condiviso al file system per le applicazioni Lambda. È possibile configurare le funzioni per montare un file system durante l'inizializzazione con il protocollo NFS sulla rete locale all'interno di un VPC. Lambda gestisce la connessione e crittografa tutto il traffico da e verso il file system.

Il file system e la funzione Lambda devono trovarsi nella stessa regione. Una funzione Lambda in un account può montare un file system in un account diverso. Per questo scenario, è possibile configurare il peering VPC tra il VPC della funzione e il VPC del file system.

Nota

Per configurare una funzione per la connessione a un file system, consulta Configurazione dell'accesso al file system per le funzioni Lambda.

Amazon EFS supporta il blocco dei file per prevenire il danneggiamento se più funzioni tentano di scrivere nello stesso file system contemporaneamente. Il blocco in Amazon EFS segue il protocollo NFS v4.1 per ottenere l'advisory locking e permette alle applicazioni di impiegare sia blocchi di file completi sia blocchi di intervalli di byte.

Amazon EFS offre opzioni per personalizzare il file system in base alla necessità dell'applicazione di mantenere elevate prestazioni su larga scala. Ci sono tre fattori principali da considerare: il numero di connessioni, il throughput (in MiB al secondo) e IOPS.

Quote

Per ulteriori informazioni sulle quote e sui limiti del file system, consulta l'argomento relativo alle quote per i file system di Amazon EFS nell'Amazon Elastic File System User Guide.

Per evitare problemi di scalabilità, throughput e IOPS, monitora i parametri che Amazon EFS invia ad Amazon. CloudWatch Per una panoramica del monitoraggio in Amazon EFS, consulta Monitoraggio Amazon EFS nell'Amazon Elastic File System User Guide.

Connessioni

Amazon EFS supporta fino a 25.000 connessioni per file system. Durante l'inizializzazione, ogni istanza di una funzione crea una singola connessione al proprio file system che persiste tra le chiamate. Ciò significa che è possibile raggiungere la simultaneità 25.000 attraverso una o più funzioni collegate a un file system. Per limitare il numero di connessioni create da una funzione, utilizzare la simultaneità riservata.

Tuttavia, quando si apportano modifiche al codice o alla configurazione della funzione scalabile, si verifica un aumento temporaneo del numero di istanze della funzione oltre la simultaneità corrente. Lambda effettua il provisioning di nuove istanze per gestire le nuove richieste e si verifica qualche ritardo prima che le vecchie istanze chiudano le loro connessioni al file system. Per evitare di raggiungere il limite massimo di connessioni durante una distribuzione, utilizzare le distribuzioni in sequenza. Con le distribuzioni in sequenza, si sposta gradualmente il traffico alla nuova versione ogni volta che si apporta una modifica.

Se ci si connette allo stesso file system da altri servizi, ad esempio Amazon EC2, è necessario essere consapevoli del comportamento di dimensionamento delle connessioni in Amazon EFS. Un file system supporta la creazione di un massimo di 3.000 connessioni in un burst, dopodiché supporta 500 nuove connessioni al minuto.

Per monitorare e attivare un allarme sulle connessioni, utilizzare il parametro ClientConnections.

Prestazioni

Su scala, è anche possibile superare il throughput massimo per un file system. In modalità Bursting (impostazione predefinita), un file system ha un throughput di base ridotto che viene dimensionato in modo lineare in base alle dimensioni. Per consentire picchi di attività, al file system vengono concessi crediti di burst che consentono di utilizzare 100 MIb/s o più di throughput. I crediti si accumulano continuamente e vengono spesi con ogni operazione di lettura e scrittura. Se il file system esaurisce i crediti, limita le operazioni di lettura e scrittura oltre il throughput di base, il che può causare il timeout delle chiamate.

Nota

Se si utilizza la simultaneità fornita, la funzione può consumare crediti di burst anche quando è inattiva. Con la simultaneità fornita, Lambda inizializza le istanze della funzione prima che venga richiamata e ricicla le istanze ogni poche ore. Se durante l'inizializzazione si utilizzano file in un file system collegato, questa attività può utilizzare tutti i crediti di burst.

Per monitorare e attivare un allarme sul throughput, utilizzare il parametro BurstCreditBalance. Dovrebbe aumentare quando la simultaneità della funzione è bassa e diminuire quando è alta. Se diminuisce sempre o non accumula abbastanza durante l'attività meno intensa per coprire il picco di traffico, potrebbe essere necessario limitare la simultaneità della funzione o abilitare il throughput assegnato.

IOPS

Operazioni di input/output al secondo (IOPS) è una misurazione del numero di operazioni di lettura e scrittura elaborate dal file system. In modalità per uso generico, IOPS è limitato a favore di una latenza più bassa, il che è vantaggioso per la maggior parte delle applicazioni.

Per il monitoraggio e per gli allarmi su IOPS in modalità generica, utilizzare il parametro PercentIOLimit. Se questa parametro raggiunge il 100%, la funzione può andare in timeout in attesa del completamento delle operazioni di lettura e scrittura.