Configurar a simultaneidade reservada - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar a simultaneidade reservada

No Lambda, simultaneidade corresponde ao número de solicitações em andamento que a função está processando, no momento. Há dois tipos de controle de simultaneidade disponíveis:

  • Simultaneidade reservada: representa o número máximo de instâncias simultâneas alocadas para a função. Quando uma função tem simultaneidade reservada, nenhuma outra função pode usar essa simultaneidade. Configurar a simultaneidade reservada para uma função não acarreta cobranças adicionais.

  • Simultaneidade provisionada: é o número de ambientes de execução inicializados previamente alocados para a função. Esses ambientes de execução estão prontos para responder imediatamente às solicitações de função de entrada. A configuração da simultaneidade provisionada gera cobranças na sua Conta da AWS.

Este tópico detalha como gerenciar e configurar a simultaneidade reservada. Para uma visão geral conceitual desses dois tipos de controles de simultaneidade, consulte Simultaneidade reservada e  simultaneidade provisionada. Para obter informações, sobre a configuração da simultaneidade provisionada, consulte Configurar a simultaneidade provisionada.

nota

As funções do Lambda vinculadas a um mapeamento da origem do evento do Amazon MQ têm uma simultaneidade máxima padrão. Para o Apache Active MQ, o número máximo de instâncias simultâneas é 5. Para o Rabbit MQ, o número máximo de instâncias simultâneas é 1. Definir a simultaneidade reservada ou provisionada para a função não altera esses limites. Para solicitar um aumento na simultaneidade máxima padrão ao usar o Amazon MQ, entre em contato com AWS Support.

Configurar a simultaneidade reservada

Você pode definir configurações de simultaneidade reservada para uma função usando o console do Lambda ou a API do Lambda.

Para reservar simultaneidade para uma função (console)
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função para a qual você deseja reservar a simultaneidade.

  3. Escolha Configuration (Configuração) e escolha (Concurrency (Simultaneidade).

  4. Em Concurrency (Simultaneidade), selecione Edit (Editar).

  5. Selecione Reserve concurrency (Reservar simultaneidade). Insira a quantidade de simultaneidade para reservar para a função.

  6. Escolha Salvar.

Você pode reservar até o valor da simultaneidade da conta não reservada menos 100. As 100 unidades restantes de simultaneidade se destinam a funções que não estão usando simultaneidade reservada. Por exemplo, se sua conta tiver um limite de simultaneidade de 1 mil, você não poderá reservar todas as 1 mil unidades de simultaneidade para uma única função.


        Ocorrerá um erro se você tentar reservar simultaneidade em excesso.

Reservar simultaneidade para uma função afeta o grupo de simultaneidades disponíveis para outras funções. Por exemplo, se você reservar 100 unidades de simultaneidade para function-a, outras funções da sua conta deverão compartilhar as 900 unidades restantes de simultaneidade, mesmo que function-a não use todas as 100 unidades de simultaneidade reservadas.

Para controlar intencionalmente a utilização de uma função, defina a simultaneidade reservada como zero. Isso impede que sua função processe todos os eventos até que você remova o limite.

Para configurar a simultaneidade reservada com a API do Lambda, use as operações da API a seguir.

Por exemplo, para configurar a simultaneidade reservada com a AWS Command Line Interface (CLI), use o comando put-function-concurrency. O comando a seguir reserva 100 unidades de simultaneidade para uma função denominada my-function:

aws lambda put-function-concurrency --function-name my-function \ --reserved-concurrent-executions 100

Você observará um resultado parecido com o seguinte:

{ "ReservedConcurrentExecutions": 100 }

Configurar a simultaneidade com a API do Lambda

Se sua função está atualmente veiculando tráfego, você pode visualizar facilmente suas métricas de simultaneidade usando CloudWatch métricas. Especificamente, a métrica ConcurrentExecutions apresenta o número de invocações simultâneas para cada função em sua conta.


        Gráfico mostrando a simultaneidade de uma função ao longo do tempo.

O gráfico anterior sugere que essa função atende a uma média de cinco a dez solicitações simultâneas e atinge o pico de 20 solicitações em um dia típico. Suponha que existam muitas outras funções na sua conta.  Se essa função for essencial para sua aplicação e você não desejar descartar solicitação alguma, use um número maior ou igual a 20 como sua definição de simultaneidade reservada.

Com alternativa, lembre-se de que você também pode calcular a simultaneidade usando a fórmula a seguir:

Concurrency = (average requests per second) * (average request duration in seconds)

Multiplicar a média de solicitações por segundo pela duração média da solicitação em segundos fornece uma estimativa aproximada do quanto de simultaneidade você precisa reservar. É possível estimar a média de solicitações por segundo usando a métrica Invocation e a duração média da solicitação em segundos usando a métrica Duration. Consulte Trabalhar com métricas de funções Lambda para obter mais detalhes.