Como configurar o acesso aos arquivos do Amazon S3
O Amazon S3 Files fornece um sistema de arquivos compartilhado que conecta qualquer recurso computacional AWS diretamente com seus dados no Amazon S3. O Amazon S3 Files fornece acesso aos seus objetos do Amazon S3 como arquivos usando operações padrão do sistema de arquivos, como leitura e gravação no caminho de montagem local. Saiba mais sobre o Amazon S3 Files.
Seções
Pré-requisitos e configuração
Antes de configurar os arquivos do Amazon S3 com sua função do Lambda, você deve atender aos seguintes pré-requisitos:
-
Um sistema de arquivos Amazon S3 e alvos de montagem no estado disponível na mesma conta e Região da AWS como sua função do Lambda.
-
Uma função do Lambda na mesma VPC que o destino de montagem. Você deve ter um destino de montagem em cada sub-rede em que sua função está implantada.
-
Grupos de segurança que permitam o tráfego NFS (porta 2049) entre sua função do Lambda e os destinos de montagem. Saiba mais sobre como configurar grupos de segurança.
Para obter mais informações, consulte os tópicos a seguir no Guia do usuário da Amazon S3.
Função de execução e permissões de usuário
O perfil de execução da função precisa ter as seguintes permissões para acessar um sistema de arquivos do Amazon S3 Files:
Permissões da função de execução
-
s3Files:ClientMount — Necessário para montar o sistema de arquivos.
-
S3Files:ClientWrite — Necessário para acesso de leitura e gravação. Não é necessário para conexões somente para leitura.
Essas permissões estão incluídas na política gerenciada AmazonS3FilesClientReadWriteAccess. Além disso, a função de execução deve ter as permissões necessárias para conectar à VPC do sistema de arquivos.
nota
O Amazon S3 Files otimiza o throughput lendo diretamente do Amazon S3. As leituras diretas do Amazon S3 são suportadas somente para funções configuradas com 512 MB de memória ou mais.
Sua função precisa das seguintes permissões para ler diretamente do Amazon S3:
-
s3:GetObject
-
s3:GetObjectVersion
Para obter mais informações sobre as permissões necessárias, consulte Permissões do IAM para o Amazon S3 Files no Guia do usuário do Amazon S3.
Quando você configura um sistema de arquivos no console, o Lambda usa as suas permissões para verificar os destinos de montagem e os pontos de acesso. Para configurar uma função para se conectar a um sistema de arquivos, seu usuário precisa das permissões a seguir:
Permissões de usuário
-
s3files:ListFileSystems
-
s3files:ListAccessPoints
-
s3files:GetFileSystem
-
s3files:GetAccessPoint
-
s3files:CreateAccessPoint — Necessário ao conectar o sistema de arquivos à função a partir do console.
O seguinte exemplo de política concede permissões à função de execução de sua função para montar um sistema de arquivos Amazon S3 com acesso de leitura e gravação e leitura diretamente do 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": "*" } ] }
Como conectar-se a um sistema de arquivos (console)
Uma função se conecta a um sistema de arquivos pela rede local em uma VPC. As sub-redes às quais a função se conecta podem ser as mesmas sub-redes que contêm pontos de montagem para o sistema e arquivos, ou sub-redes na mesma zona de disponibilidade que pode rotear o tráfego de NFS (porta 2049) para o sistema de arquivos.
nota
Se a função ainda não estiver conectada a uma VPC, consulte Conceder acesso a funções do Lambda para recursos em uma Amazon VPC.
Para configurar o acesso aos arquivos S3
Abra a página Funções
do console do Lambda. -
Escolha uma função.
-
Escolha Configuração e Sistemas de arquivos.
-
SelecioneAdicionar sistema de arquivos (ou Editar para modificar uma configuração existente).
-
Selecione S3 Files.
-
Configure as seguintes propriedades:
-
Sistema de arquivos S3 — Selecione um sistema de arquivos na lista suspensa.
-
Ponto de acesso (opcional) — Selecione um ponto de acesso. Se o sistema de arquivos não tiver pontos de acesso, o Lambda cria automaticamente um quando você salva (UID/GID 1000:1000,
/lambdadiretório raiz, permissões 755). Se existirem pontos de acesso, você deve selecionar um. -
Caminho de montagem local: o local onde o sistema de arquivos está montado na função do Lambda, começando com
/mnt/.
-
-
Escolha Salvar.
Seu sistema de arquivos será anexado na próxima vez que você invocar sua função do Lambda.