Isolamento de locatários - AWS Lambda

Isolamento de locatários

Use o modo de isolamento de locatários quando precisar de processamento de solicitações isoladas para usuários finais individuais ou locatários que invocam uma função do Lambda. Esse recurso simplifica a criação de aplicações multilocatárias que processem códigos ou dados específicos do locatário, como plataformas SaaS para automação de fluxo de trabalho ou execução de código, eliminando a necessidade de gerenciar recursos de função específicos do locatário e a lógica de roteamento de solicitações.

As aplicações multilocatárias têm requisitos rígidos de isolamento ao executar código ou processar dados para locatários ou usuários finais individuais. Com o modo de isolamento de locatário, o Lambda usa um identificador de locatário especificado pelo cliente para rotear solicitações para ambientes de execução de funções subjacentes, garantindo que os ambientes de execução de uma função sejam usados apenas para atender invocações do usuário final ou locatário especificado. Os ambientes de execução de funções do Lambda utilizam a virtualização do Firecracker para fornecer isolamento de workload.

Quando uma função que use o modo de isolamento de locatário recebe uma invocação com um identificador de locatário, o Lambda primeiro tenta localizar um ambiente de execução disponível associado a esse identificador de locatário. Se não houver ambientes de execução, o Lambda cria e atribui um novo ambiente de execução a esse locatário. À medida que as invocações de funções com o identificador de locatário especificado aumentam, o Lambda localiza ou cria novos ambientes de execução conforme necessário.

Quando usar o modo de isolamento de locatários

Use o modo de isolamento de locatários quando precisar atender a vários usuários finais ou locatários usando uma única função do Lambda, garantindo que os ambientes de execução usados para processar invocações para locatário individuais permaneçam isolados uns dos outros. Esse isolamento estrito dos ambientes de execução é necessário para aplicações multilocatárias que:

  • Executem o código fornecido pelo usuário final: manter ambientes de execução separados para locatários individuais pode limitar o impacto da execução do código fornecido pelo usuário, que pode estar incorreto ou ser malicioso.

  • Processem dados específicos do locatário: manter ambientes de execução separados para locatários individuais pode evitar a exposição de dados confidenciais específicos do locatário a outros locatários.

Várias solicitações de invocação do mesmo locatário podem reutilizar o mesmo ambiente de execução de funções, reduzindo as inicializações a frio e melhorando os tempos de resposta para aplicações sensíveis à latência.

Recursos compatíveis e limitações

Não há suporte para o modo de isolamento de locatários em funções que usem URLs de funções, simultaneidade provisionada ou SnapStart. É possível enviar solicitações para uma função isolada de locatário usando invocações síncronas, invocações assíncronas ou usando o Amazon API Gateway como acionador de eventos.

Compatível com Regiões da AWS

Há suporte para o modo de isolamento de locatários em todas as regiões comerciais, exceto Ásia-Pacífico (Nova Zelândia).

Considerações

Ao usar o isolamento de locatários com suas funções do Lambda, tenha em mente os pontos a seguir:

  • Configuração imutável: o isolamento de locatário é uma propriedade de função imutável. Ele só pode ser habilitado durante a criação de uma função.

  • Parâmetro de identificação de locatário obrigatório: funções que usem o modo de isolamento de locatário devem ser invocadas com um parâmetro tenant-id. A omissão desse parâmetro fará com que as invocações da função falhem.

  • O perfil de execução se aplica a todos os locatário: as invocações de todos os locatário usam as permissões definidas no perfil de execução da sua função do Lambda.

  • Simultaneidade: não há alterações na simultaneidade ou no comportamento de escalabilidade da sua função ao usar o isolamento de locatários. O Lambda impõe um limite de 2.500 ambientes de execução isolados por locatários (ativos ou ociosos) para cada 1.000 execuções simultâneas configuradas para sua função do Lambda.

Preços

Você é cobrado quando o Lambda cria um novo ambiente de execução isolado para locatários. O preço depende da quantidade de memória que você aloca para sua função e a arquitetura de CPU usada. Para obter mais informações, consulte Preços do AWS Lambda.

Modo de isolamento

A tabela a seguir descreve as diferenças entre as funções do Lambda com e sem isolamento de locatários.

Recurso Com isolamento de locatários Sem isolamento de locatários
Tipo de isolamento Isolamento em nível de locatário Isolamento em nível de função
Reutilização de ambiente Ambientes de execução nunca são reutilizados em diferentes locatários Ambientes de execução podem ser reutilizados em invocações da mesma função
Isolamento de dados Os dados de outros locatários não são acessíveis Os dados de invocações anteriores da mesma versão da função podem estar acessíveis
Inicializações a frio Mais inicializações a frio devido aos ambientes específicos do locatário Menos inicializações a frio devido à reutilização do ambiente
Preços Cobrança adicional além do preço padrão do Lambda Definição de preços padrão do Lambda