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.

Cada versión principal del lenguaje de programación tiene un tiempo de ejecución independiente, con un identificador de tiempo de ejecución único, como python3.9 o nodejs18.x. Para cambiar una función de manera que utilice una nueva versión principal del lenguaje, debe cambiar el identificador del tiempo de ejecución. Como AWS Lambda no puede garantizar la compatibilidad con versiones anteriores entre las versiones principales, esta es una operación que depende del cliente.

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.

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 (Fase 1)

Node.js 18

nodejs18.x

3.188.0

Amazon Linux 2

x86_64, arm64

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

31 de marzo de 2023

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

3 de abril 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

Lambda mantiene los tiempos de ejecución administrados actualizados con parches y compatibilidad con lanzamientos de versiones menores. Para obtener más información, consulte Actualizaciones de tiempo de ejecución de Lambda.

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 el tiempo de ejecución y volver a utilizar el 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 un tiempo de ejecución compatible. Después de migrar la función a un 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 tiempos de ejecución obsoletos. Las invocaciones de funciones continúan indefinidamente después de que el tiempo de ejecución alcanza el vencimiento de la asistencia. Sin embargo, AWS recomienda migrar las funciones a un tiempo de ejecución compatible para que continúe recibiendo parches de seguridad y siga siendo elegible para asistencia técnica.

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

29 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. Los enlaces que aparecen a continuación indican los cronogramas de fin de vida útil de cada lenguaje que Lambda admite como tiempo de ejecución administrado. Además, Trusted Advisor incluye una comprobación que brinda una notificación con 120 días de antelación al próximo vencimiento de la asistencia de Lambda. Lambda también le notifica por correo electrónico si tiene funciones que utilizan un tiempo de ejecución cuya asistencia se acabará en los próximos 60 días.

Políticas de soporte de lenguajes y marcos

Temas