AWS Lambda
Guia do desenvolvedor

Reservar simultaneidade para uma função do Lambda

Você pode configurar uma função com simultaneidade reservada para garantir que ela sempre possa atingir um determinado nível de simultaneidade. Reservar simultaneidade também limita a simultaneidade máxima para a função.

Para reservar simultaneidade para uma função

  1. Abra a página Functions (Funções) do console do Lambda.

  2. Escolha uma função.

  3. Em Concurrency (Simultaneidade), escolha Reserve concurrency (Reservar simultaneidade).

  4. Insira a quantidade de simultaneidade para reservar para a função.

  5. Escolha Salvar.

Você pode reservar até o valor mostrado de Unreserved account concurrency (Simultaneidade da conta não reservada), menos simultaneidade 100 para funções que não têm simultaneidade reservada. Defina simultaneidade reservada como 0 para controlar todas as invocações.

Reservar simultaneidade tem os seguintes efeitos.

  • Outras funções não podem impedir que sua função seja dimensionada – Todas as funções da sua conta na mesma região sem simultaneidade reservada compartilham o pool de simultaneidade não reservada. Sem simultaneidade reservada, outras funções podem usar toda a simultaneidade disponível, impedindo que sua função seja aumentada quando necessário.

  • Sua função não pode ser expandida para ficar fora de controle – A simultaneidade reservada também impede que sua função use simultaneidade do pool não reservado; o limite é simultaneidade máxima. Reserve simultaneidade para impedir que sua função use toda a simultaneidade disponível na região ou sobrecarregue os recursos de downstream.

Os limites de simultaneidade podem ser definidos somente no nível da função, e não em versões individuais. Todas as invocações para todas as versões e aliases de uma determinada função serão contabilizadas no limite da função.

Configuração de simultaneidade com a API do Lambda

Para configurar a simultaneidade reservada em uma função, use o comando put-function-concurrency.

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

Para remover a simultaneidade reservada, use delete-function-concurrency.

$ aws lambda delete-function-concurrency --function-name my-function

Para visualizar a simultaneidade reservada de uma função, use get-function.

$ aws lambda get-function --function-name my-function

Para visualizar os limites de simultaneidade da sua conta em uma região, use get-account-settings.

$ aws lambda get-account-settings { "AccountLimit": { "TotalCodeSize": 80530636800, "CodeSizeUnzipped": 262144000, "CodeSizeZipped": 52428800, "ConcurrentExecutions": 1000, "UnreservedConcurrentExecutions": 984 }, "AccountUsage": { "TotalCodeSize": 174913095, "FunctionCount": 52 } }

Os comandos anteriores correspondem às seguintes ações de API.

Configurar a simultaneidade por função pode afetar o pool de simultaneidade disponível para outras funções. É recomendável restringir as permissões para PutFunctionConcurrency e DeleteFunctionConcurrency a usuários administrativos, de modo que o número de usuários que podem fazer essas alterações seja limitado.