Runtimes do Lambda
O Lambda oferece suporte a vários idiomas por meio do uso de runtimes. Um runtime fornece um ambiente específico da linguagem que retransmite eventos de invocação, informações de contexto e respostas entre o Lambda e a função. Você pode usar runtimes fornecidos pelo Lambda ou criar seus próprios.
Cada versão principal da linguagem de programação lançada tem um runtime separado, com um identificador de runtime exclusivo, como nodejs20.x
ou python3.12
. Para alterar uma função com a finalidade de usar uma nova versão principal da linguagem, é necessário alterar o identificador de runtime. Como o AWS Lambda não pode garantir a compatibilidade com versões anteriores entre as versões principais, essa é uma operação direcionada ao cliente.
Em uma função definida como uma imagem de contêiner, você escolhe um runtime e a distribuição Linux ao criar a imagem de contêiner. Para alterar o runtime, crie uma nova imagem de contêiner.
Quando você usa um arquivo .zip para o pacote de implantação, escolhe um runtime ao criar a função. Para alterar o runtime, você pode atualizar a configuração da sua função. O runtime é emparelhado com uma das distribuições do Amazon Linux. O ambiente de execução subjacente fornece bibliotecas e variáveis de ambiente adicionais que podem ser acessadas no código de sua função.
O Lambda invoca sua função em um ambiente de execução. Um ambiente de execução fornece um ambiente de runtime isolado e seguro, que gerencia os recursos necessários para executar a função. O Lambda reutiliza o ambiente de execução de uma invocação anterior, caso haja alguma disponível, ou pode criar um novo ambiente de execução.
Para usar outras linguagens no Lambda, como Go ou Rust, use um runtime somente para sistema operacional. O ambiente de execução do Lambda fornece uma interface de runtime para obter eventos de invocação e enviar respostas. Você pode implantar outras linguagens implementando um runtime personalizado junto com o código da função ou em uma camada.
Tempos de execução compatíveis
A tabela a seguir lista os runtimes do Lambda compatíveis e as datas de descontinuação projetadas. Depois que um runtime for descontinuado, você ainda poderá criar e atualizar funções por um período limitado. Para ter mais informações, consulte Uso do runtime após a descontinuação. A tabela fornece as datas atualmente previstas para a descontinuação do runtime. Essas datas são fornecidas para fins de planejamento e estão sujeitas a alterações.
Nome | Identificador | Sistema operacional | Data da substituição | Bloquear a criação de funções | Bloquear a atualização de funções |
---|---|---|---|---|---|
Node.js 20 |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
Node.js 18 |
|
Amazon Linux 2 |
31 de julho de 2025 |
1.º de setembro de 2025 |
1.º de outubro de 2025 |
Python 3.12 |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
Python 3.11 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Python 3.10 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Python 3.9 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Java 21 |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
Java 17 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Java 11 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Java 8 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
.NET 8 |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
.NET 6 |
|
Amazon Linux 2 |
20 de dezembro de 2024 |
28 de fevereiro de 2025 |
31 de março de 2025 |
Ruby 3.3 |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
Ruby 3.2 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Runtime somente para sistema operacional |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
Runtime somente para sistema operacional |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
nota
Para novas regiões, o Lambda não oferecerá suporte a runtimes que deverão ser descontinuados nos próximos seis meses.
O Lambda mantém os runtimes gerenciados e suas imagens base de contêiner correspondentes atualizados com patches e suporte para lançamentos de versões menores. Para obter mais informações, consulte Atualizações de runtime do Lambda.
O Lambda continua oferecendo suporte à linguagem de programação Go após a descontinuação do runtime Go 1.x. Para obter mais informações, consulte Migrating AWS Lambda functions from the Go1.x runtime to the custom runtime on Amazon Linux 2
Todos os runtimes do Lambda compatíveis oferecem suporte às arquiteturas x86_64 e arm64.
Novas versões de runtime
O Lambda só fornece runtimes gerenciados para novas versões de linguagem quando a versão atinge a fase de suporte de longo prazo (LTS) do ciclo de lançamento da linguagem. Por exemplo, para o ciclo de lançamento do Node.js
Antes de a versão atingir a fase de suporte de longo prazo, permanece em desenvolvimento e ainda pode estar sujeita a alterações significativas. O Lambda aplica atualizações de runtime automaticamente por padrão. Portanto, alterações significativas na versão de um runtime podem impedir que as funções funcionem conforme o esperado.
O Lambda não fornece runtimes gerenciados para versões de linguagem que não estão programadas para a fase de LTS.
A lista a seguir mostra o mês de lançamento previsto para os próximos runtimes do Lambda. Essas datas são apenas indicativas e estão sujeitas a alterações.
-
Python 3.13: novembro de 2024
-
Node.js 22: novembro de 2024
-
Ruby 3.4: março de 2025
-
Java 25: outubro de 2025
-
Python 3.14: novembro de 2025
-
Node.js 24: novembro de 2025
-
.NET 10: dezembro de 2025
Política de descontinuação de runtime
Os Runtimes do Lambda para arquivos .zip se baseiam em uma combinação de sistema operacional, linguagem de programação e bibliotecas de software que estão sujeitos a manutenção e atualizações de segurança. A política de descontinuação padrão do Lambda é descontinuar um runtime quando qualquer um de seus componentes importantes chegar ao fim do suporte de longo prazo (LTS) da comunidade e as atualizações de segurança não estiverem mais disponíveis. Geralmente, isso ocorre para runtimes de linguagens, mas, em alguns casos, um runtime pode ser descontinuado porque o sistema operacional (SO) chegou ao fim do LTS.
Depois que um runtime é descontinuado, o AWS pode não aplicar mais patches de segurança a ele, e as funções que o utilizam não são mais elegíveis para suporte técnico. Esses runtimes descontinuados são fornecidos “como estão”, sem nenhuma garantia, e podem conter bugs, erros, defeitos ou outras vulnerabilidades.
Para saber mais sobre como gerenciar atualizações e descontinuações de runtime, consulte as seções a seguir e Managing AWS Lambda runtime upgrades
Importante
Ocasionalmente, o Lambda atrasa a descontinuação de um runtime do Lambda por um período limitado além da data de término do suporte da versão da linguagem compatível com o runtime. Durante esse período, o Lambda aplica apenas patches de segurança ao sistema operacional do runtime. O Lambda não aplica patches de segurança aos runtimes de linguagem de programação depois que eles atingem a data de término do suporte.
Modelo de responsabilidade compartilhada
O Lambda é responsável por selecionar e publicar atualizações de segurança para todos os runtimes gerenciados e imagens de base de contêiner compatíveis. Por padrão, o Lambda aplicará essas atualizações automaticamente às funções que usam runtimes gerenciados. Se a configuração padrão de atualização automática de runtime foi alterada, consulte o modelo de responsabilidade compartilhada dos controles de gerenciamento de runtime. Em funções implantadas usando imagens de contêiner, você é responsável por recompilar a imagem de contêiner da função a partir da imagem de base mais recente e por implantá-la novamente.
Quando um runtime é descontinuado, cessa a responsabilidade do Lambda de atualizar o runtime gerenciado e as imagens de base de contêiner. Você é responsável por atualizar suas funções para usar um runtime ou imagem de base compatível.
Em todos os casos, você é responsável por aplicar as atualizações ao código de função, incluindo suas dependências. Suas responsabilidades no modelo de responsabilidade compartilhada estão resumidas na tabela a seguir.
Fase do ciclo de vida do runtime | Responsabilidades do Lambda | Suas responsabilidades |
---|---|---|
Runtime gerenciado compatível |
Fornecer atualizações de runtime periódicas com patches de segurança e outras atualizações. Aplicar automaticamente as atualizações de runtime por padrão, (consulte Modos de atualização de runtime para ver os comportamentos não padrão). |
Atualizar seu código de função, incluindo dependências, para resolver qualquer vulnerabilidade de segurança. |
Imagem de contêiner compatível | Fornecer atualizações regulares de imagens de base de contêiner com patches de segurança e outras atualizações,. |
Atualizar seu código de função, incluindo dependências, para resolver qualquer vulnerabilidade de segurança. Recompilar e reimplantar regularmente sua imagem de contêiner usando a imagem de base mais recente. |
Runtime gerenciado prestes a ser descontinuado |
Notifique os clientes por meio da documentação, AWS Health Dashboard, e-mail e Trusted Advisor antes de descontinuar um runtime. A responsabilidade por atualizações do runtime termina quando ele é descontinuado. |
Monitore a documentação do Lambda, AWS Health Dashboard, e-mail ou Trusted Advisor para obter informações sobre a descontinuação de runtimes. Atualize as funções para um runtime compatível antes que o runtime anterior seja descontinuado. |
Imagem de contêiner prestes a ser descontinuada |
Notificações de descontinuação não disponíveis para funções que usam imagens de contêiner. A responsabilidade pelas atualizações de imagens de base de contêiner termina quando elas são descontinuadas. |
Preste atenção aos cronogramas de descontinuação e atualize as funções para uma imagem de base compatível antes que a imagem anterior seja descontinuada. |
Uso do runtime após a descontinuação
Depois que um runtime é descontinuado, o AWS pode não aplicar mais patches de segurança a ele, e as funções que o utilizam não são mais elegíveis para suporte técnico. Esses runtimes descontinuados são fornecidos “como estão”, sem nenhuma garantia, e podem conter bugs, erros, defeitos ou outras vulnerabilidades. As funções que usam um runtime descontinuado também podem apresentar degradação de performance ou outros problemas, como a expiração de um certificado, que podem fazer com que elas deixem de funcionar bem.
Por pelo menos 30 dias após a descontinuação de um runtime, você ainda poderá criar novas funções do Lambda usando esse runtime. A partir de 30 dias após a descontinuação, o Lambda começa a bloquear a criação de novas funções.
Por pelo menos 60 dias após a descontinuação de um runtime, você ainda pode atualizar o código de função e a configuração das funções existentes. A partir de 60 dias após a descontinuação, o Lambda começa a bloquear a atualização de código de função e configuração para as funções existentes.
nota
Para alguns runtimes, a AWS está atrasando as datas de block-function-create e block-function-update além dos habituais 30 e 60 dias após a descontinuação. A AWS fez essa alteração em resposta ao feedback dos clientes, a fim de proporcionar mais tempo para você atualizar suas funções. Consulte as tabelas em Tempos de execução compatíveis e Runtimes defasados para ver as datas do seu runtime.
Você pode atualizar uma função para usar uma versão de runtime compatível mais recente indefinidamente após um runtime ser descontinuado. Você deve testar se a função funciona com o novo runtime antes de aplicar uma alteração do runtime em ambientes de produção, pois não é possível reverter para o runtime descontinuado após o período de 60 dias. Recomendamos o uso de versões e aliases de função para permitir uma implantação segura com reversão.
Observe que o período exato pelo qual você pode continuar criando e atualizando funções não é fixo. Esse período pode variar para cada descontinuação e para diferentes Regiões da AWS. As datas nominais para o bloqueio de criações e atualizações de funções são fornecidas na tabela Runtimes compatíveis na primeira seção desta página. O Lambda não iniciará o bloqueio de criações ou atualizações de funções antes das datas indicadas nessa tabela.
Você poderá continuar a invocar suas funções indefinidamente depois que o runtime for descontinuado. No entanto, a AWS recomenda enfaticamente que você migre as funções para um runtime compatível para que as funções continuem a receber patches de segurança e permaneçam elegíveis para receber suporte técnico.
Receber notificações de descontinuação de runtime
Quando um runtime se aproxima da data de descontinuação, o Lambda envia um alerta por e-mail se alguma função da sua Conta da AWS usa esse runtime. As notificações também são exibidas no AWS Health Dashboard e no AWS Trusted Advisor.
-
Receber notificações por e-mail:
O Lambda envia um alerta por e-mail pelo menos 180 dias antes da descontinuação de um runtime. Este e-mail lista as versões $LATEST de todas as funções que usam o runtime. Para ver uma lista completa das versões de funções afetadas, use o Trusted Advisor ou consulte Recuperar dados sobre as funções do Lambda que usam um runtime obsoleto.
O Lambda envia uma notificação por e-mail ao contato principal da sua Conta da AWS. Para obter informações sobre como visualizar ou atualizar os endereços de e-mail em sua conta, consulte Updating contact information na Referência geral da AWS.
-
Receber notificações por meio do AWS Health Dashboard:
O AWS Health Dashboard exibe uma notificação pelo menos 180 dias antes da descontinuação do runtime. As notificações aparecem na página Integridade da sua conta, em Outras notificações
. A guia Recursos afetados da notificação lista as versões $LATEST de todas as funções que usam o runtime. nota
Para ver uma lista completa e atualizada das versões de funções afetadas, use o Trusted Advisor ou consulte Recuperar dados sobre as funções do Lambda que usam um runtime obsoleto.
As notificações do AWS Health Dashboard expiram 90 dias após a descontinuação do runtime.
-
Utilizar o AWS Trusted Advisor
O Trusted Advisor exibe uma notificação pelo menos 180 dias antes da descontinuação do runtime. As notificações são exibidas na página Segurança
. Uma lista das funções afetadas é exibida em AWS Lambda Functions Using Deprecated Runtimes. Essa lista de funções mostra versões $LATEST e publicadas, e é atualizada automaticamente para refletir o status atual das funções. Você pode ativar notificações semanais por e-mail no Trusted Advisor na página Preferências
do console do Trusted Advisor.
Runtimes defasados
Os seguintes runtimes atingiram o fim do suporte:
Nome | Identificador | Sistema operacional | Data da substituição | Bloquear a criação de funções | Bloquear a atualização de funções |
---|---|---|---|---|---|
Python 3.8 |
python3.8
|
Amazon Linux 2 |
14 de outubro de 2024 |
28 de fevereiro de 2025 |
31 de março de 2025 |
Node.js 16 |
nodejs16.x
|
Amazon Linux 2 |
12 de junho de 2024 |
28 de fevereiro de 2025 |
31 de março de 2025 |
.NET 7 (somente contêiner) |
dotnet7
|
Amazon Linux 2 |
14 de maio de 2024 |
N/D |
N/D |
Java 8 |
java8
|
Amazon Linux |
8 de janeiro de 2024 |
8 de fevereiro de 2024 |
28 de fevereiro de 2025 |
Go 1.x |
go1.x
|
Amazon Linux |
8 de janeiro de 2024 |
8 de fevereiro de 2024 |
28 de fevereiro de 2025 |
Runtime somente para sistema operacional |
provided
|
Amazon Linux |
8 de janeiro de 2024 |
8 de fevereiro de 2024 |
28 de fevereiro de 2025 |
Ruby 2.7 |
ruby2.7
|
Amazon Linux 2 |
7 de dezembro de 2023 |
9 de janeiro de 2024 |
28 de fevereiro de 2025 |
Node.js 14 |
nodejs14.x
|
Amazon Linux 2 |
4 de dezembro de 2023 |
9 de janeiro de 2024 |
28 de fevereiro de 2025 |
Python 3.7 |
python3.7
|
Amazon Linux |
4 de dezembro de 2023 |
9 de janeiro de 2024 |
28 de fevereiro de 2025 |
.NET Core 3.1 |
dotnetcore3.1
|
Amazon Linux 2 |
3 de abril de 2023 |
3 de abril de 2023 |
3 de maio de 2023 |
Node.js 12 |
nodejs12.x
|
Amazon Linux 2 |
31 de março de 2023 |
31 de março de 2023 |
30 de abril de 2023 |
Python 3.6 |
python3.6
|
Amazon Linux |
18 de julho de 2022 |
18 de julho de 2022 |
29 de agosto de 2022 |
.NET 5 (somente contêiner) |
dotnet5.0
|
Amazon Linux 2 |
10 de maio de 2022 |
N/D |
N/D |
.NET Core 2.1 |
dotnetcore2.1
|
Amazon Linux |
5 de janeiro de 2022 |
5 de janeiro de 2022 |
13 de abril de 2022 |
Node.js 10 |
nodejs10.x
|
Amazon Linux 2 |
30 de julho de 2021 |
30 de julho de 2021 |
14 de fevereiro de 2022 |
Ruby 2.5 |
ruby2.5
|
Amazon Linux |
30 de julho de 2021 |
30 de julho de 2021 |
31 de março de 2022 |
Python 2.7 |
python2.7
|
Amazon Linux |
15 de julho de 2021 |
15 de julho de 2021 |
30 de maio de 2022 |
Node.js 8.10 |
nodejs8.10
|
Amazon Linux |
6 de março de 2020 |
N/D |
6 de março de 2020 |
Node.js 4.3 |
nodejs4.3
|
Amazon Linux |
5 de março de 2020 |
N/D |
5 de março de 2020 |
Borda do Node.js 4.3 |
nodejs4.3-edge
|
Amazon Linux |
5 de março de 2020 |
N/D |
30 de abril de 2019 |
Node.js 6.10 |
nodejs6.10
|
Amazon Linux |
12 de agosto de 2019 |
12 de agosto de 2019 |
N/D |
.NET Core 1.0 |
dotnetcore1.0
|
Amazon Linux |
27 de junho de 2019 |
N/D |
30 de julho de 2019 |
.NET Core 2.0 |
dotnetcore2.0
|
Amazon Linux |
30 de maio de 2019 |
N/D |
30 de maio de 2019 |
Node.js 0.10 |
nodejs
|
Amazon Linux |
N/D |
N/D |
31 de outubro de 2016 |
Em quase todos os casos, a data do fim da vida útil de uma versão da linguagem ou de um sistema operacional é conhecida com antecedência. Os links a seguir fornecem programações relacionadas com o fim da vida útil para cada linguagem compatível com o Lambda como um runtime gerenciado.
Políticas de suporte de framework e linguagem
-
Node.js: github.com
-
Python: devguide.python.org
-
Ruby: www.ruby-lang.org
-
Go: golang.org
-
.NET: dotnet.microsoft.com