Configurar o acesso ao sistema de arquivos para funções do Lambda - AWS Lambda

Configurar o acesso ao sistema de arquivos para funções do Lambda

É possível configurar uma função para montar um sistema de arquivos Amazon Elastic File System (Amazon EFS) em um diretório local. Com o Amazon EFS, o código da função pode acessar e modificar os recursos compartilhados de forma segura e com alta simultaneidade.

Função de execução e permissões de usuário

Se o sistema de arquivos não tiver uma política do AWS Identity and Access Management (IAM) configurada pelo usuário, o EFS usará uma política padrão, que concede acesso total a qualquer cliente que possa se conectar ao sistema de arquivos usando um destino de montagem do sistema de arquivos. Se o sistema de arquivos tiver uma política do IAM configurada pelo usuário, a função de execução da função precisa ter permissões elasticfilesystem.

Permissões da função de execução
  • elasticfilesystem:ClientMount

  • elasticfilesystem:ClientWrite (não obrigatório para conexões somente leitura)

Essas permissões estão incluídas na política gerenciada AmazonElasticFileSystemClientReadWriteAccess. Além disso, a função de execução deve ter as permissões necessárias para conectar à VPC do sistema de arquivos.

Quando você configura um sistema de arquivos, o Lambda usa as suas permissões para verificar os destinos de montagem. 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
  • elasticfilesystem:DescribeMountTargets

Configurar um sistema de arquivos e ponto de acesso

Crie um sistema de arquivos no Amazon EFS com um destino de montagem em cada zona de disponibilidade à qual a função se conecta. Para performance e resiliência, use pelo menos duas zonas de disponibilidade. Por exemplo, em uma configuração simples, é possível ter uma VPC com duas sub-redes privadas em zonas de disponibilidade separadas. A função se conecta às duas sub-redes e um destino de montagem está disponível em cada uma delas. Verifique se o tráfego de NFS (porta 2049) é permitido pelos grupos de segurança usados pela função e pelos destinos de montagem.

nota

Ao criar um arquivo de sistemas, você escolhe um modo de performance que não pode ser alterado posteriormente. O modo Uso geral possui menor latência e o modo Máx. E/S oferece suporte a um throughput e IOPS máximo mais alto. Para obter ajuda na escolha, consulte Performance do Amazon EFS no Manual do usuário do Amazon Elastic File System.

Um ponto de acesso conecta cada instância da função ao destino de montagem correto para a zona de disponibilidade à qual ele se conecta. Para obter a melhor performance, crie um ponto de acesso com um caminho não raiz e limite o número de arquivos criados em cada diretório. O exemplo a seguir cria um diretório chamado my-function no sistema de arquivos e define o ID do proprietário como 1001 com permissões de diretório padrão (755).

exemplo configuração do ponto de acesso
  • Nome: files

  • ID do usuário: 1001

  • ID do grupo: 1001

  • Caminho: /my-function

  • Permissões: 755

  • ID de usuário do proprietário: 1001

  • ID de usuário do grupo: 1001

Quando uma função usa o ponto de acesso, ele recebe o ID de usuário 1001 e tem acesso total ao diretório.

Para obter mais informações, consulte os seguintes tópicos no Manual do usuário do Amazon Elastic File System:

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.

Como configurar o acesso ao sistema de arquivos
  1. Abra a página Funções do console do Lambda.

  2. Escolha uma função.

  3. Escolha Configuration (Configuração) e Files systems (Sistemas de arquivos).

  4. Em Sistema de arquivos, escolha Adicionar sistema de arquivos.

  5. Configure as seguintes propriedades:

    • Sistema de arquivos do EFS: o ponto de acesso de um sistema de arquivos na mesma VPC.

    • Caminho de montagem local: o local onde o sistema de arquivos está montado na função do Lambda, começando com /mnt/.

Definição de preço

O Amazon EFS cobra pelo armazenamento e pelo throughput, com taxas que variam de acordo com a classe de armazenamento. Para obter mais detalhes, consulte .Preço do Amazon EFS.

O Lambda cobra pela transferência de dados entre VPCs. Isso se aplica somente se a VPC da função for emparelhada com outra VPC em um sistema de arquivos. As taxas são as mesmas para a transferência de dados do Amazon EC2 entre VPCs na mesma região. Para obter detalhes, consulte Preço do Lambda.

Para obter mais informações sobre integração do Lambda com o Amazon EFS, consulteUso do Amazon EFS com o Lambda.