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 — Necessario 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 leggendo direttamente da Amazon S3. Le letture dirette da Amazon S3 sono supportate solo per le funzioni configurate con 512 MB o più di memoria.

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/.

  7. Scegli Save (Salva).

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