View a markdown version of this page

Configuração de funções duráveis do Lambda - AWS Lambda

Configuração de funções duráveis do Lambda

As configurações de execução durável controlam por quanto tempo sua função do AWS Lambda pode ser executada, por quanto tempo o serviço retém o histórico de execuções e qual chave AWS KMS criptografa seus dados de execução. Defina essas configurações para permitir a execução durável de sua função.

Habilitação da execução durável

Configure o objeto DurableConfig ao criar sua função para definir o tempo limite de execução e a retenção do histórico. Você só pode habilitar a execução durável ao criar uma função. Não é possível habilitá-la em funções existentes.

AWS CLI
aws lambda create-function \ --function-name my-durable-function \ --runtime nodejs24.x \ --role arn:aws:iam::123456789012:role/my-durable-role \ --handler index.handler \ --zip-file fileb://function.zip \ --durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 30, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"}'
CloudFormation
Resources: MyDurableFunction: Type: AWS::Lambda::Function Properties: FunctionName: my-durable-function Runtime: nodejs24.x Handler: index.handler Code: ZipFile: | // Your durable function code DurableConfig: ExecutionTimeout: 3600 RetentionPeriodInDays: 30 KMSKeyArn: "arn:aws:kms:us-east-1:111122223333:key/key-id"

Parâmetros de configuração:

  • ExecutionTimeout — O tempo máximo em segundos que uma execução durável pode ser executada antes que o Lambda interrompa a execução. Esse tempo limite se aplica a toda a execução durável, e não às invocações de funções individuais. Intervalo válido: de 1 a 31622400.

  • RetentionPeriodInDays — O número de dias para reter o histórico de execução após a conclusão de uma execução duradoura. Após esse período, o histórico de execução não estará mais disponível por meio da API GetDurableExecutionHistory. Intervalo válido: de 1 a 90.

  • KMSKeyArn: opcional. O ARN de uma chave gerenciada pelo cliente para criptografar os dados de execução duráveis. Para obter mais informações, consulte Criptografar dados de execução duráveis do Lambda.

Para ver a referência completa da API, vejaDurableConfig na Referência da API Lambda.

Práticas recomendadas para configuração

Siga estas práticas recomendadas ao configurar funções duráveis para uso em produção:

  • Defina tempos limite de execução adequados: configure ExecutionTimeout com base na duração máxima esperada do seu fluxo de trabalho. Não defina prazos desnecessariamente longos, pois eles afetam a alocação de custos e recursos.

  • Equilibre a retenção com os custos de armazenamento: defina RetentionPeriodInDays com base em seus requisitos de depuração e auditoria. Períodos de retenção mais longos aumentam os custos de armazenamento.

  • Monitore o tamanho do estado: objetos de estado grandes aumentam os custos de armazenamento e podem afetar a performance. Mantenha o estado mínimo e use armazenamento externo para grandes volumes de dados.

  • Configure o registro em log apropriado: habilite o registro em log detalhado para solucionar problemas de fluxos de trabalho de longa duração, mas considere o impacto no volume de registros e nos custos.

  • Criptografe com sua própria chave AWS KMS: configure KMSKeyArn como uma chave gerenciada pelo cliente para controlar a rotação de chaves, auditar o acesso e atender aos requisitos de conformidade. Consulte Criptografia de dados de execução durável do AWS Lambda.

Exemplo de configuração de produção:

{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id" }

Este exemplo define um tempo limite de execução de 24 horas (86.400 segundos), um período de retenção de 7 dias e uma chave gerenciada pelo cliente para criptografia.