Instâncias gerenciadas do Lambda - AWS Lambda

Instâncias gerenciadas do Lambda

As instâncias gerenciadas do Lambda permitem que você execute funções do Lambda em suas instâncias do Amazon EC2 de geração atual, incluindo Graviton4, instâncias otimizadas para rede e outras opções de computação especializadas, sem gerenciar ciclos de vida de instâncias, correções de runtimes de sistemas operacionais e linguagens, roteamento, balanceadores de carga ou políticas de escalabilidade. Com as instâncias gerenciadas do Lambda, você se beneficia das vantagens dos preços do EC2, incluindo o EC2 Savings Plans e as instâncias reservadas.

Para ver uma lista dos tipos de instância com suporte, acesse a página Preços do AWS Lambda e selecione sua Região da AWS.

Capacidades gerais

As instâncias gerenciadas do Lambda fornecem os recursos a seguir:

  • Escolha instâncias adequadas: selecione instâncias apropriadas com base nos requisitos de performance e custo, incluindo acesso às CPUs mais recentes, como a Graviton4, proporções configuráveis de memória e CPU e rede de alta largura de banda.

  • Provisionamento automático: a AWS provisiona automaticamente as instâncias adequadas e acelera os ambientes de execução de funções.

  • Escalabilidade dinâmica: as instâncias escalam dinamicamente com base nos padrões de tráfego da sua função.

  • Experiência totalmente gerenciada: a AWS lida com gerenciamento, escalabilidade, aplicação de patches e roteamento da infraestrutura, com as mesmas integrações abrangentes de origem de eventos com as quais você está familiarizado.

Quando usar instâncias gerenciadas do Lambda

Considere as instâncias gerenciadas do Lambda para os casos de uso a seguir:

  • Workloads de alto volume previsíveis: mais adequadas para workloads em estado fixo, sem picos de tráfego inesperados. Por padrão, as instâncias gerenciadas do Lambda escalam para lidar com a duplicação do tráfego em cinco minutos.

  • Aplicações essenciais para a performance: acesso às CPUs mais recentes, taxas variáveis de memória e CPU e alto throughput de rede

  • Requisitos regulatórios: necessidades granulares de governança com controle sobre posicionamento de instâncias e VPC

  • Variedade de aplicações: orientados por eventos, processamento de mídia/dados, aplicações da Web e workloads legadas migrando para a tecnologia sem servidor

Como funciona

As instâncias gerenciadas do Lambda usam provedores de capacidade como base para a execução das suas funções:

  1. Crie um provedor de capacidade: defina onde suas funções serão executadas especificando a configuração da VPC e, opcionalmente, os requisitos de instância e a configuração de escalabilidade

  2. Crie sua função: crie funções do Lambda normalmente e anexe-as a um provedor de capacidade

  3. Publique uma versão da função: as versões de funções se tornam ativas nas instâncias do provedor de capacidade depois de publicadas

Quando você publica uma versão da função com um provedor de capacidade, o Lambda executa instâncias gerenciadas em sua conta. Ele executa três instâncias por padrão para resiliência de AZ e inicia três ambientes de execução antes de marcar a versão da sua função como ATIVA. Se você anexar uma função a um provedor de capacidade existente que já esteja executando outras funções, o Lambda poderá não gerar novas instâncias caso as instâncias disponíveis já tenham capacidade para acomodar os ambientes de execução da nova função.

Modelo de simultaneidade

As instâncias gerenciadas do Lambda oferecem suporte a várias invocações simultâneas, em que um ambiente de execução pode lidar com várias invocações ao mesmo tempo. Isso difere do tipo de computação do Lambda (padrão), que fornece um único modelo de simultaneidade em que um ambiente de execução pode executar no máximo uma invocação por vez. A multissimultaneidade proporciona uma melhor utilização de suas instâncias do EC2 subjacentes e é especialmente benéfica para aplicações com alto nível de E/S, como serviços da Web ou trabalhos em lote. Essa mudança no modelo de execução significa que a segurança de thread, o gerenciamento de estado e o isolamento de contexto devem ser tratados de forma diferente, dependendo do runtime.

Locação e isolamento

O tipo de computação do Lambda (padrão) é multilocatário, fazendo uso da tecnologia Firecracker microVM para fornecer isolamento entre ambientes de execução executados em frotas compartilhadas do Lambda. As instâncias gerenciadas do Lambda são executadas em sua conta, fornecendo as mais recentes opções de hardware e preços do EC2. As instâncias gerenciadas usam contêineres executados em instâncias Nitro do EC2 para fornecer isolamento, em vez do Firecracker. Os provedores de capacidade servem como limite de segurança para as funções do Lambda. As funções são executadas em contêineres dentro das instâncias.

Noções básicas sobre instâncias gerenciadas

As funções das instâncias gerenciadas do Lambda são executadas em instâncias gerenciadas de EC2 em sua conta. Essas instâncias são totalmente gerenciadas pelo Lambda, o que significa que você tem permissões restritas sobre elas em comparação com as instâncias padrão do EC2. É possível identificar instâncias gerenciadas do Lambda em sua conta da forma a seguir:

  • A presença do campo Operator na saída DescribeInstances do EC2

  • A tag aws:lambda:capacity-provider na instância

Não é possível realizar operações padrão do EC2 diretamente nessas instâncias, como encerrá-las manualmente. Para destruir instâncias gerenciadas, exclua o provedor de capacidade associado. O Lambda então encerrará as instâncias como parte do processo de exclusão do provedor de capacidade.

Preços

As instâncias gerenciadas do Lambda usam uma definição de preços baseada em EC2 com uma taxa de gerenciamento de 15% sobre o custo da instância do EC2. Esse modelo de preços oferece suporte ao EC2 Savings Plans, instâncias reservadas e quaisquer outros descontos de preços aplicados ao seu uso do EC2. Consulte a página de definição de preços para obter detalhes adicionais: https://aws.amazon.com/lambda/pricing/

Importante: os descontos nos preços do EC2 se aplicam somente à computação subjacente do EC2, não à taxa de gerenciamento.

Como as instâncias gerenciadas do Lambda diferem do tipo de computação do Lambda (padrão)

As instâncias gerenciadas do Lambda mudam a forma como o Lambda processa solicitações em comparação com o Lambda (padrão).

Principais diferenças:

Lambda (padrão) Instâncias gerenciadas do Lambda
Modelo de simultaneidade Modelo único de simultaneidade em que um ambiente de execução pode oferecer suporte a, no máximo, uma invocação por vez Invocações multissimultâneas em que um ambiente de execução pode lidar com várias invocações simultaneamente, aumentando a taxa de transferência, especialmente para aplicações com alto volume de E/S
Locação e isolamento Multilocatário, usando a tecnologia Firecracker microVM para fornecer isolamento entre ambientes de execução executados em frotas do Lambda compartilhadas Execute em sua conta, usando o Nitro do EC2 para fornecer isolamento. Os provedores de capacidade servem como limite de segurança, com funções executadas em contêineres dentro de instâncias
Modelo de definição de preços Preços de duração por solicitação Definição de preços baseada em instâncias com modelos de preços do EC2, incluindo instâncias sob demanda e reservadas, e opções de economia, como Savings Plans para computação
Comportamento do ajuste de escala Escala quando não há ambiente de execução livre para lidar com uma invocação recebida (inicialização a frio). Escala até zero sem tráfego Escala de forma assíncrona com base somente na utilização dos recursos da CPU, sem inicializações a frio. Escala até ambientes de execução mínimos configurados sem tráfego
Mais adequado para Funções com tráfego em rajadas que podem suportar algum tempo de inicialização a frio ou aplicações sem carga sustentada que se beneficiam da escala até zero Funções com tráfego previsível de alto volume quando você deseja a flexibilidade, os planos de preços e as opções de hardware do EC2

Próximas etapas