View a markdown version of this page

Configurazione dell'accesso ai file Amazon S3 - 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à.

Configurazione dell'accesso ai file Amazon S3

Amazon S3 Files offre un file system condiviso che collega qualsiasi risorsa di AWS calcolo direttamente ai tuoi dati in Amazon S3. Amazon S3 Files fornisce l'accesso ai tuoi oggetti Amazon S3 come file utilizzando operazioni di file system standard come lettura e scrittura sul percorso di montaggio locale. Scopri di più su Amazon S3 Files.

Prerequisiti e configurazione

Prima di configurare Amazon S3 Files con la funzione Lambda, assicurati di avere quanto segue:

  • Un file system Amazon S3 e obiettivi di montaggio in stato di disponibilità nello stesso account e nella funzione Regione AWS Lambda.

  • Una funzione Lambda nello stesso VPC del target di montaggio. È necessario disporre di un target di montaggio in ogni sottorete in cui è distribuita la funzione.

  • Gruppi di sicurezza che consentono il traffico NFS (porta 2049) tra la funzione Lambda e i target di montaggio. Scopri di più sulla configurazione dei gruppi di sicurezza.

Per ulteriori informazioni, consulta i seguenti argomenti nella Guida per l'utente di Amazon S3:

Autorizzazioni del ruolo di esecuzione e dell'utente

Il ruolo di esecuzione della tua funzione deve disporre delle seguenti autorizzazioni per accedere a un file system Amazon S3 Files:

Autorizzazioni del ruolo di esecuzione
  • s3files: ClientMount — Necessario per montare il file system.

  • s3files: ClientWrite — Richiesto per l'accesso in lettura/scrittura. Non necessario per le connessioni di sola lettura.

Queste autorizzazioni sono incluse nella policy gestita AmazonS3FilesClientReadWriteAccess. Inoltre, il ruolo di esecuzione deve avere le autorizzazioni necessarie per connettersi al VPC del file system.

Nota

Amazon S3 Files ottimizza il throughput trasmettendo in streaming le richieste di lettura idonee direttamente dal tuo bucket Amazon S3. Le letture dirette sono abilitate di default per le funzioni configurate con 512 MB o più di memoria. Per ulteriori informazioni, consulta Configurazione delle letture dirette.

La tua funzione richiede anche le seguenti autorizzazioni per leggere direttamente da Amazon S3:

  • s3: GetObject

  • s3: GetObjectVersion

Per ulteriori informazioni sulle autorizzazioni richieste, consulta le autorizzazioni IAM per i file Amazon S3 nella Amazon S3 User Guide.

Quando configuri un file system nella console, Lambda utilizza le tue autorizzazioni per verificare le destinazioni di montaggio e i punti di accesso. Per configurare una funzione affinché possa connettersi a un file system, l'utente deve disporre delle seguenti autorizzazioni:

Autorizzazioni degli utenti
  • file s3: ListFileSystems

  • file s3: ListAccessPoints

  • file s3: GetFileSystem

  • file s3: GetAccessPoint

  • s3files: CreateAccessPoint — Necessario se si collega il file system alla funzione dalla console.

La seguente policy di esempio concede le autorizzazioni relative al ruolo di esecuzione della funzione per montare un file system Amazon S3 con accesso in lettura/scrittura e lettura direttamente da Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3FilesLambdaAccess", "Effect": "Allow", "Action": [ "s3files:ClientMount", "s3files:ClientWrite" ], "Resource": "*" }, { "Sid": "S3DirectRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::bucket-name/*" }, { "Sid": "S3FilesConsoleSetup", "Effect": "Allow", "Action": [ "s3files:ListFileSystems", "s3files:ListAccessPoints", "s3files:GetFileSystem", "s3files:GetAccessPoint", "s3files:CreateAccessPoint" ], "Resource": "*" } ] }

Connessione a un file system (console)

Una funzione si connette a un file system tramite la rete locale in un VPC. Le sottoreti a cui si connette la funzione possono essere le stesse sottoreti che contengono punti di montaggio per il file system o sottoreti nella stessa zona di disponibilità che possono instradare il traffico NFS (porta 2049) al file system.

Nota

Se la funzione non è già connessa a un VPC, consulta Consentire alle funzioni Lambda l'accesso alle risorse in un Amazon VPC.

Per configurare l'accesso ai file S3
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere una funzione.

  3. Scegli Configurazione, quindi scegli File system.

  4. Scegli Aggiungi file system (o Modifica per modificare una configurazione esistente).

  5. Seleziona File S3.

  6. Configurare le proprietà seguenti:

    • File system S3: scegli un file system dal menu a discesa.

    • Punto di accesso (opzionale): scegli un punto di accesso. Se il file system non dispone di punti di accesso, Lambda ne crea automaticamente uno al momento del salvataggio (UID/GID 1000:1000, directory principale, permessi 755/lambda). Se esistono punti di accesso, è necessario selezionarne uno.

    • Percorso di montaggio locale: la posizione in cui il file system è montato sulla funzione Lambda, a partire da /mnt/.

    • Configurazione avanzata

      • Letture S3 dirette: controlla se Lambda è in grado di eseguire lo streaming di letture idonee direttamente dal bucket Amazon S3 per un throughput più elevato. Per ulteriori informazioni, consulta Configurazione delle letture dirette.

  7. Selezionare Salva.

Il file system viene collegato la prossima volta che richiami la funzione Lambda.

Configurazione delle letture dirette

Le letture dirette ottimizzano il throughput trasmettendo i dati direttamente dal bucket Amazon S3. Lambda utilizza letture dirette per letture di grandi dimensioni e quando lo storage ad alte prestazioni del file system non contiene i dati del file. Per ulteriori informazioni, vedi Come S3 Files offre prestazioni. Questa configurazione opzionale fa parte della FileSystemConfigs tua funzione e si applica solo ai file system Amazon S3. L'DirectS3Readimpostazione accetta i seguenti valori:

  • AUTO(impostazione predefinita): consente la lettura diretta per le funzioni configurate con 512 MB o più di memoria.

  • ENABLED— Consente la lettura diretta per la funzione, incluse le funzioni con meno di 512 MB di memoria.

  • DISABLED— Instrada tutte le letture attraverso l'archiviazione ad alte prestazioni del file system.

Nota

Se una lettura diretta ha esito negativo, Lambda torna automaticamente alla lettura del file system.

Per utilizzare le letture dirette, il ruolo di esecuzione della funzione deve disporre delle autorizzazioni richieste. Per ulteriori informazioni, consulta le politiche sui prerequisiti di Amazon S3 Files.