View a markdown version of this page

Configuration de l'accès aux fichiers Amazon S3 - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de l'accès aux fichiers Amazon S3

Amazon S3 Files fournit un système de fichiers partagé qui connecte n'importe quelle ressource de AWS calcul directement à vos données dans Amazon S3. Amazon S3 Files permet d'accéder à vos objets Amazon S3 sous forme de fichiers à l'aide d'opérations de système de fichiers standard telles que la lecture et l'écriture sur le chemin de montage local. En savoir plus sur Amazon S3 Files.

Prérequis et configuration

Avant de configurer Amazon S3 Files avec votre fonction Lambda, assurez-vous de disposer des éléments suivants :

  • Un système de fichiers Amazon S3 et des cibles de montage à l'état disponible dans le même compte et en Région AWS tant que fonction Lambda.

  • Une fonction Lambda dans le même VPC que la cible de montage. Vous devez disposer d'une cible de montage dans chaque sous-réseau où votre fonction est déployée.

  • Groupes de sécurité qui autorisent le trafic NFS (port 2049) entre votre fonction Lambda et les cibles de montage. En savoir plus sur la configuration des groupes de sécurité.

Pour plus d'informations, consultez les rubriques suivantes dans le guide de l'utilisateur Amazon S3 :

Rôle d’exécution et autorisations utilisateur

Le rôle d'exécution de votre fonction doit disposer des autorisations suivantes pour accéder à un système de fichiers Amazon S3 Files :

Autorisations du rôle d’exécution
  • s3files : ClientMount — Nécessaire pour monter le système de fichiers.

  • s3files : ClientWrite — Nécessaire pour l'accès en lecture-écriture. Non nécessaire pour les connexions en lecture seule.

Ces autorisations sont incluses dans la politique FilesClientReadWriteAccess gérée d'AmazonS3. En outre, votre rôle d'exécution doit posséder leautorisations requises pour se connecter au VPC du système de fichiers.

Note

Amazon S3 Files optimise le débit en lisant directement depuis Amazon S3. Les lectures directes depuis Amazon S3 ne sont prises en charge que pour les fonctions configurées avec 512 Mo de mémoire ou plus.

Votre fonction a également besoin des autorisations suivantes pour lire directement depuis Amazon S3 :

  • s3 : GetObject

  • s3 : GetObjectVersion

Pour plus d'informations sur les autorisations requises, consultez la section Autorisations IAM pour les fichiers Amazon S3 dans le guide de l'utilisateur Amazon S3.

Lorsque vous configurez un système de fichiers dans la console, Lambda utilise vos autorisations pour vérifier les cibles de montage et les points d'accès. Pour configurer une fonction pour vous connecter à un système de fichiers, votre utilisateur a besoin des autorisations suivantes :

Autorisations des utilisateurs
  • Fichiers S3 : ListFileSystems

  • Fichiers S3 : ListAccessPoints

  • Fichiers S3 : GetFileSystem

  • Fichiers S3 : GetAccessPoint

  • s3files : CreateAccessPoint — Nécessaire si vous associez le système de fichiers à la fonction depuis la console.

L'exemple de politique suivant accorde à votre fonction des autorisations de rôle d'exécution lui permettant de monter un système de fichiers Amazon S3 avec un accès en lecture-écriture et en lecture directement depuis 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": "*" } ] }

Connexion à un système de fichiers (console)

Une fonction se connecte à un système de fichiers sur le réseau local dans un VPC. Les sous-réseaux auquel votre fonction se connecte peuvent être les mêmes sous-réseaux qui contiennent des points de montage pour votre système de fichiers, ou des sous-réseaux de la même zone de disponibilité qui peuvent acheminer le trafic NFS (port 2049) vers le système de fichiers.

Note

Si votre fonction n'est pas déjà connectée à un VPC, veuillez consulter Octroi aux fonctions Lambda d’un accès aux ressources d’un Amazon VPC.

Pour configurer l'accès aux fichiers S3
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez une fonction.

  3. Choisissez Configuration, puis Systèmes de fichiers.

  4. Choisissez Ajouter un système de fichiers (ou Modifier pour modifier une configuration existante).

  5. Sélectionnez S3 Files.

  6. Configurez les propriétés suivantes :

    • Système de fichiers S3 — Choisissez un système de fichiers dans la liste déroulante.

    • Point d'accès (facultatif) — Choisissez un point d'accès. Si le système de fichiers ne possède aucun point d'accès, Lambda en crée un automatiquement lors de l'enregistrement (UID/GID 1000:1000, répertoire racine, autorisations 755). /lambda Si des points d'accès existent, vous devez en sélectionner un.

    • Chemin de montage local – Emplacement où le système de fichiers est monté sur la fonction Lambda, commençant par /mnt/.

  7. Choisissez Enregistrer.

Votre système de fichiers sera attaché la prochaine fois que vous appellerez votre fonction Lambda.