Tiempos de ejecución de Lambda - AWS Lambda

Tiempos de ejecución de Lambda

Lambda admite múltiples idiomas a través del uso de tiempos de ejecución. Para una función definida como una imagen contenedor, se elige un tiempo de ejecución y la distribución de Linux al crear la imagen contenedor. Para cambiar el tiempo de ejecución, cree una nueva imagen contenedor.

Cuando se utiliza un archivo de archivo .zip para el paquete de implementación, se elige un tiempo de ejecución al crear la función. Para cambiar el tiempo de ejecución, puede actualizar la configuración de su función. El tiempo de ejecución está emparejado con una de las distribuciones de Amazon Linux. El entorno de ejecución subyacente ofrece variables de entorno y bibliotecas adicionales a las que puede acceder desde el código de función.

Amazon Linux 2

  • Imagen: personalizada

  • Kernel de Linux: 4.14

Amazon Linux

Lambda invoca la función en un entorno de ejecución. El entorno de ejecución proporciona un entorno en tiempo de ejecución seguro y aislado que administra los recursos necesarios para ejecutar la función. Lambda reutiliza el entorno de ejecución de una invocación previa, si la hay, o puede crear un nuevo entorno de ejecución.

Un tiempo de ejecución es compatible con una sola versión de un idioma, múltiples versiones de un idioma o múltiples idiomas. Los tiempos de ejecución específicos de un idioma o versión de marco de trabajo están restringidas cuando la versión alcanza el fin de su vida útil.

Para utilizar otros lenguajes en Lambda, puede implementar un tiempo de ejecución personalizado. El entorno de ejecución de Lambda proporciona una interfaz de tiempo de ejecución para obtener eventos de invocación y enviar respuestas. Puede implementar un tiempo de ejecución personalizado junto con su código de función, o en una capa.

nota

Para las nuevas regiones, Lambda no admitirá tiempos de ejecución que queden obsoletos en los próximos seis meses.

Tiempos de ejecución admitidos
Nombre Identifier SDK Sistema operativo Arquitecturas Obsolescencia

Node.js 16

nodejs16.x

2.1083.0

Amazon Linux 2

x86_64, arm64

Node.js 14

nodejs14.x

2.1055.0

Amazon Linux 2

x86_64, arm64

Node.js 12

nodejs12.x

2.1055.0

Amazon Linux 2

x86_64, arm64

14 de noviembre de 2022

Python 3.9

python3.9

boto3-1.20.32 botocore-1.23.32

Amazon Linux 2

x86_64, arm64

Python 3.8

python3.8

boto3-1.20.32 botocore-1.23.32

Amazon Linux 2

x86_64, arm64

Python 3.7

python3.7

boto3-1.20.32 botocore-1.23.32

Amazon Linux

x86_64

Java 11

java11

Amazon Linux 2

x86_64, arm64

Java 8

java8.al2

Amazon Linux 2

x86_64, arm64

Java 8

java8

Amazon Linux

x86_64

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

x86_64, arm64

20 de enero de 2023

.NET 6

dotnet6

Amazon Linux 2

x86_64, arm64

.NET 5

dotnet5.0

Amazon Linux 2

x86_64

Go 1.x

go1.x

Amazon Linux

x86_64

Ruby 2.7

ruby2.7

3.1.0

Amazon Linux 2

x86_64, arm64

Tiempo de ejecución personalizado

provided.al2

Amazon Linux 2

x86_64, arm64

Tiempo de ejecución personalizado

provided

Amazon Linux

x86_64

Política de obsolescencia del tiempo de ejecución

Tiempos de ejecución de Lambda para archivos .zip se crean en torno a una combinación de bibliotecas de sistemas operativos, lenguaje de programación y software que están sujetos a actualizaciones de mantenimiento y seguridad. Cuando las actualizaciones de seguridad ya no están disponibles para un componente de un tiempo de ejecución, Lambda da de baja al tiempo de ejecución.

El dar de baja (fin del soporte) un tiempo de ejecución se produce en dos fases.

Fase 1: Lambda ya no aplica revisiones de seguridad u otras actualizaciones al tiempo de ejecución. Ya no se pueden crear funciones que utilicen el tiempo de ejecución, pero se pueden continuar actualizando las funciones existentes. Esto incluye actualizar la versión del tiempo de ejecución y volver a la versión de tiempo de ejecución anterior. Tenga en cuenta que las funciones existentes que utilizan un tiempo de ejecución obsoleto ya no son aptas para soporte técnico.

Fase 2: ya no se pueden crear ni actualizar funciones que utilicen el tiempo de ejecución. Para actualizar una función, debe migrarla a una versión de tiempo de ejecución compatible. Después de migrar la función a una versión de tiempo de ejecución compatible, no puede revertir la función al tiempo de ejecución anterior. La fase 2 se inicia al menos 30 días después del inicio de la fase 1.

Lambda no bloquea las invocaciones de funciones que utilizan versiones de tiempo de ejecución obsoleta. Las invocaciones de funciones continúan indefinidamente después de que la versión de tiempo de ejecución alcanza el fin del soporte. Sin embargo, AWS recomienda migrar funciones a una versión de tiempo de ejecución compatible para que continúe recibiendo parches de seguridad y sigan siendo elegibles para soporte técnico.

En la siguiente tabla, cada fase se inicia a medianoche (zona horaria del Pacífico) en la fecha especificada. Los siguientes tiempos de ejecución han quedado obsoletos:

Tiempos de ejecución obsoletos
Nombre Identifier Sistema operativo Fase 1 de obsolescencia Fase 2 de obsolescencia

Python 3.6

python3.6

Amazon Linux

18 de julio de 2022

17 de agosto de 2022

Python 2.7

python2.7

Amazon Linux

15 de julio de 2021

30 de mayo de 2022

.NET Core 2.1

dotnetcore2.1

Amazon Linux

5 de enero de 2022

13 de abril de 2022

Ruby 2.5

ruby2.5

Amazon Linux

30 de julio de 2021

31 de marzo de 2022

Node.js 10

nodejs10.x

Amazon Linux 2

30 de julio de 2021

14 de febrero de 2022

Node.js 8.10

nodejs8.10

Amazon Linux

6 de marzo de 2020

Node.js 4.3

nodejs4.3

Amazon Linux

5 de marzo de 2020

Node.js 6.10

nodejs6.10

Amazon Linux

12 de agosto de 2019

.NET Core 1.0

dotnetcore1.0

Amazon Linux

30 de julio de 2019

.NET Core 2.0

dotnetcore2.0

Amazon Linux

30 de mayo de 2019

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux

30 de abril de 2019

Node.js 0.10

nodejs

Amazon Linux

31 de octubre de 2016

En casi todos los casos, la fecha de fin de vida útil de una versión de un lenguaje o un sistema operativo se conoce con mucha antelación. Lambda notifica por email si tiene funciones que utilizan un tiempo de ejecución que está programado para finalizar el soporte en los próximos 60 días. En algunos casos, puede que no sea posible notificar con antelación el fin del soporte. Por ejemplo: problemas de seguridad que requieren una actualización incompatible con versiones anteriores o un componente de tiempo de ejecución que no proporciona una programación de soporte a largo plazo (LTS).

Políticas de soporte de lenguajes y marcos