Configuración del acceso a Amazon S3 Files
Amazon S3 Files brinda un sistema de archivos compartidos que conecta cualquier recurso de computación de AWS directamente con los datos de Amazon S3. Amazon S3 Files ofrece acceso a los objetos de Amazon S3 como archivos mediante operaciones estándar del sistema de archivos, como leer y escribir en la ruta de montaje local. Más información sobre Amazon S3 Files.
Secciones
Requisitos previos y configuración
Antes de configurar Amazon S3 Files con la función de Lambda, asegúrese de tener lo siguiente:
-
Un sistema de archivos de Amazon S3 y destinos de montaje en el estado disponible en la misma cuenta y Región de AWS como su función de Lambda.
-
Una función de Lambda en la misma VPC que el destino de montaje. Cada subred en la que se implemente la función debe tener un destino de montaje.
-
Grupos de seguridad que permitan el tráfico NFS (puerto 2049) entre la función de Lambda y los destinos de montaje. Más información sobre la configuración de los grupos de seguridad.
Para obtener más información, consulte los siguientes temas en la Guía del usuario de Amazon S3.
Permisos de usuario y rol de ejecución
Para acceder a un sistema de archivos de Amazon S3 Files, el rol de ejecución de la función debe poseer los siguientes permisos:
Permisos de rol de ejecución
-
s3files:ClientMount: necesario para montar el sistema de archivos.
-
s3Files:ClientWrite: necesario para el acceso de lectura y escritura. No se necesita para conexiones de solo lectura.
Estos permisos se incluyen en la política administrada AmazonS3FilesClientReadWriteAccess. Además, el rol de ejecución debe tener los permisos necesarios para conectarse a la VPC del sistema de archivos.
nota
Amazon S3 Files optimiza el rendimiento al acceder directamente a Amazon S3. Las lecturas directas desde Amazon S3 solo son compatibles con funciones que tienen una memoria configurada de 512 MB o más.
La función necesita los siguientes permisos para leer directamente desde Amazon S3:
-
s3:GetObject
-
s3:GetObjectVersion
Para obtener más información sobre los permisos necesarios, consulte los permisos de IAM para Amazon S3 Files en la Guía del usuario de Amazon S3.
Cuando configura un sistema de archivos en la consola, Lambda utiliza sus permisos para verificar los destinos de montaje y puntos de acceso. Para configurar una función para conectarse a un sistema de archivos, el usuario necesita los siguientes permisos:
Permisos de usuario
-
s3files:ListFileSystems
-
s3files:ListAccessPoints
-
s3files:GetFileSystem
-
s3files:GetAccessPoint
-
s3files:CreateAccessPoint: se necesita para conectar el sistema de archivos a la función desde la consola.
El siguiente ejemplo de política concede permisos al rol de ejecución de la función para montar un sistema de archivos de Amazon S3 con acceso de lectura y escritura, y para leer directamente desde 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": "*" } ] }
Conexión a un sistema de archivos (consola)
Una función se conecta a un sistema de archivos a través de la red local en una VPC. Las subredes a las que se conecta la función pueden ser las mismas subredes que contienen puntos de montaje para el sistema de archivos, o subredes en la misma zona de disponibilidad que pueden enrutar el tráfico NFS (puerto 2049) al sistema de archivos.
nota
Si la función aún no está conectada a una VPC, consulte Otorgamiento a las funciones de Lambda de acceso a los recursos de una Amazon VPC.
Cómo configurar el acceso a S3 Files
Abra la página de Funciones
en la consola de Lambda. -
Elija una función.
-
Seleccione Configuración y, a continuación, elija Sistemas de archivos.
-
Seleccione Agregar sistema de archivos (o Editar para modificar una configuración existente).
-
Seleccione S3 Files.
-
Configure las siguientes propiedades:
-
Sistema de archivos de S3: elija un sistema de archivos del menú desplegable.
-
Punto de acceso (opcional): elija un punto de acceso. Si el sistema de archivos no tiene puntos de acceso, Lambda crea uno automáticamente al guardar (UID/GID 1000:1000, directorio raíz
/lambda, permisos 755). En caso de haber puntos de acceso, debe seleccionar uno. -
Ruta de montaje local: la ubicación en la que se monta el sistema de archivos en la función de Lambda, empezando por
/mnt/.
-
-
Seleccione Save.
El sistema de archivos se agregará la próxima vez que se invoque la función de Lambda.