Lambda-Laufzeiten - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Lambda-Laufzeiten

Lambda unterstützt mehrere Sprachen durch die Verwendung von Laufzeiten. Eine Laufzeit bietet eine sprachspezifische Umgebung, die Aufrufereignisse, Kontextinformationen und Antworten zwischen Lambda und der Funktion weiterleitet. Sie können von Lambda bereitgestellte Laufzeiten verwenden oder Ihre eigenen erstellen.

Jede größere Programmiersprachenversion verfügt über eine separate Laufzeit mit einer eindeutigen Laufzeitkennung, z. B. nodejs20.x oder python3.12. Um eine Funktion für die Verwendung einer neuen Hauptsprachversion zu konfigurieren, müssen Sie die Laufzeitkennung ändern. Da die Abwärtskompatibilität zwischen Hauptversionen AWS Lambda nicht garantiert werden kann, handelt es sich um einen kundenorientierten Vorgang.

Bei einer Funktion, die als Container-Image definiert ist, wählen Sie beim Erstellen des Container-Images eine Laufzeit und die Linux-Distribution aus. Um die Laufzeit zu ändern, erstellen Sie ein neues Container-Image.

Wenn Sie ein ZIP-Dateiarchiv für das Bereitstellungspaket verwenden, wählen Sie beim Erstellen der Funktion eine Laufzeit aus. Um die Laufzeit zu ändern, können Sie die Konfiguration Ihrer Funktion aktualisieren. Die Laufzeit ist mit einer der Amazon Linux-Distributionen gepaart. Die zugrunde liegende Ausführungsumgebung bietet zusätzliche Bibliotheken und Umgebungsvariablen, auf die Sie über Ihren Funktionscode zugreifen können.

Lambda ruft Ihre Funktion in einer Ausführungsumgebung auf. Die Ausführungsumgebung bietet eine sichere und isolierte Laufzeitumgebung, die die zum Ausführen Ihrer Funktion erforderlichen Ressourcen verwaltet. Lambda verwendet die Ausführungsumgebung eines vorherigen Aufrufs wieder, sofern vorhanden, oder kann eine neue Ausführungsumgebung erstellen.

Um andere Sprachen in Lambda zu verwenden, wie Go oder Rust, verwenden Sie eine reine OS-Laufzeit. Die Lambda-Ausführungsumgebung bietet eine Laufzeitschnittstelle zum Abrufen von Aufrufereignissen und Senden von Antworten. Sie können andere Sprachen bereitstellen, indem Sie zusammen mit Ihrem Funktionscode oder in einem Layer eine benutzerdefinierte Laufzeit implementieren.

Unterstützte Laufzeiten

In der folgenden Tabelle sind die unterstützten Lambda-Laufzeiten und ihre voraussichtlichen Ablauftermine aufgeführt. Wenn eine Laufzeit als veraltet gilt, können Sie für einen begrenzten Zeitraum weiterhin Funktionen erstellen und aktualisieren. Weitere Informationen finden Sie unter Verwendung zur Laufzeit nach Ablauf der Version. Die Tabelle enthält die aktuell angenommenen Ablaufdaten für die Laufzeit. Diese Daten dienen zu Planungszwecken und können sich ändern.

Unterstützte Laufzeitumgebungen
Name ID Betriebssystem Datum der Veraltung Blockfunktion erstellen Blockfunktion aktualisieren

Node.js 20

nodejs20.x

Amazon Linux 2023

Node.js 18

nodejs18.x

Amazon Linux 2

Node.js 16

nodejs16.x

Amazon Linux 2

12. Juni 2024

28. Februar 2025

31. März 2025

Python 3.12

python3.12

Amazon Linux 2023

Python 3.11

python3.11

Amazon Linux 2

Python 3.10

python3.10

Amazon Linux 2

Python 3.9

python3.9

Amazon Linux 2

Python 3.8

python3.8

Amazon Linux 2

14. Oktober 2024

28. Februar 2025

31. März 2025

Java 21

java21

Amazon Linux 2023

Java 17

java17

Amazon Linux 2

Java 11

java11

Amazon Linux 2

Java 8

java8.al2

Amazon Linux 2

.NET 8

dotnet8

Amazon Linux 2023

.NET 6

dotnet6

Amazon Linux 2

12. November 2024

28. Februar 2025

31. März 2025

Rubin 3.3

ruby3.3

Amazon Linux 2023

Ruby 3.2

ruby3.2

Amazon Linux 2

Reine OS-Laufzeit

provided.al2023

Amazon Linux 2023

Reine OS-Laufzeit

provided.al2

Amazon Linux 2

Anmerkung

Für neue Regionen wird Lambda keine Laufzeiten unterstützen, die innerhalb der nächsten sechs Monate veraltet sein werden.

Lambda hält verwaltete Laufzeiten und ihre entsprechenden Container-Basis-Images mit Patches und Unterstützung für kleinere Versionen auf dem neuesten Stand. Weitere Informationen finden Sie unter Lambda-Laufzeitaktualisierungen.

Lambda unterstützt weiterhin die Programmiersprache Go, auch nachdem die Go 1.x-Laufzeit veraltet ist. Weitere Informationen finden Sie im Compute-Blog unter AWS Lambda Funktionen von der GO1.x-Laufzeit zur benutzerdefinierten Laufzeit auf Amazon Linux 2 migrieren.AWS

Alle unterstützten Lambda-Laufzeiten unterstützen sowohl x86_64- als auch arm64-Architekturen.

Neue Laufzeit-Versionen

Lambda stellt verwaltete Laufzeiten für neue Sprachversionen nur dann zur Verfügung, wenn die Version die LTS-Phase (Long-Term Support) des Veröffentlichungszyklus der Sprache erreicht. Zum Beispiel für den Node.js-Veröffentlichungszyklus, wenn die Version die Active LTS-Phase erreicht.

Bevor die Version die LTS-Phase erreicht, befindet sie sich noch in der Entwicklung und kann noch grundlegenden Änderungen unterliegen. Lambda wendet Laufzeit-Updates standardmäßig automatisch an. Wenn Sie also Änderungen an einer Laufzeitversion vornehmen, funktionieren Ihre Funktionen möglicherweise nicht mehr wie erwartet.

Lambda bietet keine verwalteten Laufzeiten für Sprachversionen, die nicht für die LTS-Veröffentlichung geplant sind.

Im Folgenden ist der geplante Startmonat für die kommenden Lambda-Laufzeiten aufgeführt. Diese Termine sind nur Richtwerte und können sich ändern.

  • Python 3.13 – November 2024

  • Node.js 22 – November 2024

Richtlinie für den Laufzeitablauf

Lambda-Laufzeiten für ZIP-Dateiarchive werden um eine Kombination aus Betriebssystem, Programmiersprache und Softwarebibliotheken aufgebaut, die Wartungen und Sicherheits-Updates erfordern. Die Standardrichtlinie von Lambda sieht vor, dass eine Laufzeit als veraltet eingestuft wird, wenn für eine wichtige Komponente der Laufzeit der Community Long-Term Support (LTS) ausläuft und keine Sicherheitsupdates mehr verfügbar sind. In den meisten Fällen handelt es sich dabei um die Sprachlaufzeit. In einigen Fällen kann eine Laufzeit jedoch als veraltet gelten, weil das Betriebssystem das LTS-Ende erreicht.

Wenn eine Runtime veraltet ist, AWS darf sie keine Sicherheitspatches oder Updates mehr auf diese Runtime anwenden und Funktionen, die diese Runtime verwenden, haben keinen Anspruch mehr auf technischen Support. Solche veralteten Laufzeiten werden „wie sie sind“ ohne jegliche Gewährleistung bereitgestellt und können Bugs, Fehler, Defekte oder andere Sicherheitslücken enthalten.

Weitere Informationen zur Verwaltung von Runtime-Upgrades und veralteten Versionen finden Sie in den folgenden Abschnitten und unter AWS Lambda Runtime-Upgrades verwalten im Compute-Blog.AWS

Wichtig

Lambda verzögert gelegentlich die Einstellung einer Lambda-Laufzeit für einen begrenzten Zeitraum über das Ende der Unterstützung der Sprachversion hinaus, die von der Laufzeit unterstützt wird. Während dieses Zeitraums wendet Lambda nur Sicherheits-Patches auf das Laufzeit-Betriebssystem an. Lambda wendet keine Sicherheits-Patches auf Laufzeiten von Programmiersprachen an, nachdem diese das Ende der Unterstützung erreicht haben.

Veraltete Laufzeit für Node.js 16

Als Reaktion auf Kundenfeedback verschiebt AWS sich die Einstellung der Laufzeit von Node.js 16 bis 9 Monate nach dem Ende von Community-LTS. Die Laufzeit für Node.js 16 wird an dem Datum eingestellt, das in der Tabelle „Unterstützte Laufzeitumgebungen“ angegeben ist. Wie in der vorherigen Anmerkung erwähnt, wird Lambda zwischen dem Ende der LTS am 11. September 2023 und dem Einstellungsdatum nur Betriebssystem-Patches auf die Laufzeit anwenden. In diesem Zeitraum werden keine Sicherheits-Patches für die Sprachlaufzeit angewendet.

Durch die Verzögerung der Einstellung von Node.js 16 haben Kunden, die diese Laufzeit verwenden, die Möglichkeit, ihre Funktionen direkt auf Node.js 20 zu migrieren und Node.js 18 zu überspringen.

Modell der geteilten Verantwortung

Lambda ist verantwortlich für die Kuratierung und Veröffentlichung von Sicherheitsupdates für alle unterstützten verwalteten Laufzeiten und Container-Basis-Images. Standardmäßig wendet Lambda diese Updates automatisch auf Funktionen an, die verwaltete Laufzeiten verwenden. Wenn die Standardeinstellung für automatische Laufzeitaktualisierungen geändert wurde, finden Sie weitere Informationen im Modell der gemeinsamen Verantwortung von Runtime Management Controls. Bei Funktionen, die mithilfe von Container-Images bereitgestellt werden, sind Sie dafür verantwortlich, das Container-Image Ihrer Funktion aus dem neuesten Basis-Image neu zu erstellen und das Container-Image erneut bereitzustellen.

Wenn eine Laufzeit veraltet ist, entfällt die Verantwortung von Lambda für die Aktualisierung der verwalteten Laufzeit- und Container-Basis-Images. Sie sind dafür verantwortlich, Ihre Funktionen so zu aktualisieren, dass sie ein unterstütztes Laufzeit- oder Basis-Image verwenden.

In allen Fällen sind Sie dafür verantwortlich, Aktualisierungen an Ihrem Funktionscode, einschließlich seiner Abhängigkeiten, vorzunehmen. Ihre Verantwortlichkeiten im Rahmen des Modells der gemeinsamen Verantwortung sind in der folgenden Tabelle zusammengefasst.

Phase des Lebenszyklus der Laufzeit Die Aufgaben von Lambda Ihre Aufgaben
Unterstützte verwaltete Laufzeit

Stellen Sie regelmäßige Runtime-Updates mit Sicherheitspatches und anderen Updates bereit.

Wenden Sie Runtime-Updates standardmäßig automatisch an (Informationen zu nicht standardmäßigen Verhaltensweisen finden Sie unterKontrollen der Laufzeitverwaltung).

Aktualisieren Sie Ihren Funktionscode, einschließlich der Abhängigkeiten, um Sicherheitslücken zu schließen.
Unterstütztes Container-Image Stellen Sie regelmäßige Updates für das Container-Basisimage mit Sicherheitspatches und anderen Updates bereit.

Aktualisieren Sie Ihren Funktionscode, einschließlich der Abhängigkeiten, um Sicherheitslücken zu schließen.

Erstellen Sie Ihr Container-Image regelmäßig neu und stellen Sie es erneut bereit, indem Sie das neueste Basis-Image verwenden.

Verwaltete Laufzeit nähert sich dem Verfall

Informieren Sie Kunden per Dokumentation, E-Mail und, AWS Health Dashboard bevor Runtime nicht mehr unterstützt wird. Trusted Advisor

Die Verantwortung für Runtime-Updates endet, wenn sie veraltet sind.

Überwachen Sie die Lambda-Dokumentation AWS Health Dashboard, E-Mails oder Informationen Trusted Advisor zu veralteten Laufzeiten.

Führen Sie ein Upgrade von Funktionen auf eine unterstützte Laufzeit durch, bevor die vorherige Laufzeit veraltet ist.

Container-Image wird bald veraltet

Benachrichtigungen über veraltete Versionen sind für Funktionen, die Container-Images verwenden, nicht verfügbar.

Die Verantwortung für die Aktualisierung von Container-Basis-Images endet mit dem Zeitpunkt ihrer Veröffentlichung.

Beachten Sie die Zeitpläne für veraltete Versionen und aktualisieren Sie Funktionen auf ein unterstütztes Basis-Image, bevor das vorherige Image veraltet ist.

Verwendung zur Laufzeit nach Ablauf der Version

Wenn eine Runtime als veraltet gilt, AWS darf sie keine Sicherheitspatches oder Updates mehr auf diese Runtime anwenden, und Funktionen, die diese Runtime verwenden, sind nicht mehr für technischen Support berechtigt. Solche veralteten Laufzeiten werden „wie sie sind“ ohne jegliche Gewährleistung bereitgestellt und können Bugs, Fehler, Defekte oder andere Sicherheitslücken enthalten. Bei Funktionen, die eine veraltete Runtime verwenden, kann es auch zu Leistungseinbußen oder anderen Problemen kommen, z. B. wenn das Zertifikat abläuft, die dazu führen können, dass sie nicht mehr richtig funktionieren.

Mindestens 30 Tage, nachdem eine Laufzeit als veraltet gilt, können Sie noch neue Lambda-Funktionen mit dieser Laufzeit erstellen. 30 Tage nach Ende der Unterstützung beginnt Lambda, die Erstellung neuer Funktionen zu blockieren.

Sie können den Funktionscode und die Konfiguration vorhandener Funktionen noch mindestens 60 Tage lang aktualisieren, nachdem eine Runtime veraltet ist. Ab 60 Tagen nach der Deprecation beginnt Lambda, die Aktualisierung von Funktionscode und Konfiguration für bestehende Funktionen zu blockieren.

Anmerkung

Bei einigen Laufzeiten werden die AWS block-function-update Enddaten über die üblichen 30 block-function-create und 60 Tage nach der Deprecation hinaus verschoben. AWS hat diese Änderung als Reaktion auf Kundenfeedback vorgenommen, damit Sie mehr Zeit haben, Ihre Funktionen zu aktualisieren. Die Daten für Ihre Laufzeit finden Veraltete Laufzeitumgebungen Sie in den Tabellen unter Unterstützte Laufzeiten und.

Sie können eine Funktion so aktualisieren, dass sie auf unbestimmte Zeit eine neuere unterstützte Laufzeit verwendet, nachdem eine Laufzeit veraltet ist. Sie sollten testen, ob Ihre Funktion mit der neuen Laufzeit funktioniert, bevor Sie die Laufzeitänderung in Produktionsumgebungen anwenden, da Sie nach Ablauf der 60-Tage-Frist nicht mehr zur veralteten Laufzeit zurückkehren können. Wir empfehlen die Verwendung von Funktionsversionen und Aliasnamen, um eine sichere Bereitstellung mit Rollback zu ermöglichen.

Beachten Sie, dass die genaue Dauer, für die Sie weiterhin Funktionen erstellen und aktualisieren können, nicht festgelegt ist. Dieser Zeitraum kann für jede veraltete Version und für verschiedene Versionen unterschiedlich sein. AWS-Regionen Nominelle Termine für die Blockierung von Funktionserstellungen und -aktualisierungen finden Sie in der Tabelle „Unterstützte Laufzeiten“ im ersten Abschnitt dieser Seite. Lambda beginnt nicht vor den in dieser Tabelle angegebenen Terminen mit dem Blockieren von Funktionserstellungen oder -aktualisierungen.

Sie können Ihre Funktionen auf unbestimmte Zeit weiter aufrufen, auch wenn die Laufzeit veraltet ist. Es wird jedoch AWS dringend empfohlen, Funktionen auf eine unterstützte Runtime zu migrieren, damit Ihre Funktionen weiterhin Sicherheitspatches erhalten und weiterhin Anspruch auf technischen Support haben.

Empfangen von Benachrichtigungen über veraltete Laufzeitversionen

Wenn sich eine Laufzeit ihrem Verfallsdatum nähert, sendet Lambda Ihnen eine E-Mail-Benachrichtigung, falls Funktionen in Ihrer Umgebung diese Laufzeit AWS-Konto verwenden. Benachrichtigungen werden auch in und in angezeigt. AWS Health Dashboard AWS Trusted Advisor

  • Empfangen von E-Mail-Benachrichtigungen:

    Lambda sendet Ihnen mindestens 180 Tage, bevor eine Laufzeit veraltet ist, eine E-Mail-Warnung. In dieser E-Mail sind die $LATEST-Versionen aller Funktionen aufgeführt, die die Laufzeit verwenden. Eine vollständige Liste der betroffenen Funktionsversionen finden Sie unter Trusted Advisor oderListet Funktionen auf, die eine veraltete Runtime verwenden.

    Lambda sendet eine E-Mail-Benachrichtigung an Ihren AWS-Konto primären Kontokontakt. Informationen zum Anzeigen oder Aktualisieren der E-Mail-Adressen in Ihrem Konto finden Sie in der allgemeinen AWS -Referenz unter Updating contact information.

  • Empfangen von Benachrichtigungen über: AWS Health Dashboard

    AWS Health Dashboard Zeigt mindestens 180 Tage, bevor eine Laufzeit veraltet ist, eine Benachrichtigung an. Benachrichtigungen werden auf der Seite Ihr Kontostatus unter Andere Benachrichtigungen angezeigt. Auf der Registerkarte Betroffene Ressourcen in der Benachrichtigung sind die $LATEST-Versionen aller Funktionen aufgeführt, die die Laufzeit verwenden.

    Anmerkung

    Eine vollständige up-to-date Liste der betroffenen Funktionsversionen finden Sie unter Trusted Advisor oder. Listet Funktionen auf, die eine veraltete Runtime verwenden

    AWS Health Dashboard Benachrichtigungen laufen 90 Tage ab, nachdem die betroffene Runtime veraltet ist.

  • Verwenden AWS Trusted Advisor

    Trusted Advisor zeigt 180 Tage, bevor eine Laufzeit veraltet ist, eine Benachrichtigung an. Benachrichtigungen werden auf der Seite Sicherheit angezeigt. Eine Liste der betroffenen Funktionen wird unter AWS Lambda -Funktionen, die veraltete Laufzeiten verwenden angezeigt. Diese Liste von Funktionen zeigt sowohl die $LATEST als auch veröffentlichte Versionen und wird automatisch aktualisiert, um den aktuellen Status Ihrer Funktionen widerzuspiegeln.

    Sie können wöchentliche E-Mail-Benachrichtigungen auf der Trusted Advisor Seite „Einstellungen“ der Trusted Advisor Konsole aktivieren.

Listet Funktionen auf, die eine veraltete Runtime verwenden

Sie können nicht nur eine Live-Liste der Funktionen anzeigen, die von geplanten Laufzeitveraltungen betroffen sind, sondern auch das AWS Command Line Interface (AWS CLI) oder eines der AWS SDKs verwenden, um all Ihre Funktionsversionen aufzulisten, die eine bestimmte Laufzeit verwenden. Trusted Advisor

Führen Sie den folgenden Befehl aus AWS CLI, um diese Liste mit dem zu generieren. RUNTIME_IDENTIFIERErsetzen Sie es durch den Namen der Laufzeit, die veraltet ist, und wählen Sie Ihren eigenen aus. AWS-Region Um nur die $LATEST-Funktionsversionen aufzulisten, lassen Sie --function-version ALL im Befehl weg.

aws lambda list-functions --function-version ALL --region us-east-1 --output text --query "Functions[?Runtime=='RUNTIME_IDENTIFIER'].FunctionArn"
Tipp

Der Beispielbefehl listet Funktionen in der us-east-1 Region für eine bestimmte Region auf. AWS-Konto Sie müssen diesen Befehl für jede Region wiederholen, in der Ihr Konto Funktionen hat, und für jede Ihrer Regionen. AWS-Konten

Weitere Informationen zur Verwendung eines AWS SDK zum Auflisten Ihrer Funktionen, die die ListFunctionsAktion verwenden, finden Sie in der SDK-Dokumentation für Ihre bevorzugte Programmiersprache. Sie können auch eines der AWS SDKs verwenden, um mithilfe der API-Aktionen DescribeLogStreams und GetMetric Statistics Statistiken Statistiken über Ihre am häufigsten aufgerufenen most-recently-invoked Funktionen zu sammeln.

Sie können auch die Funktion für AWS Config erweiterte Abfragen verwenden, um all Ihre Funktionen aufzulisten, die eine betroffene Laufzeit verwenden. Diese Abfrage gibt nur die Versionen der Funktion $LATEST zurück, aber Sie können Abfragen aggregieren, um Funktionen für alle Regionen und mehrere Regionen AWS-Konten mit einem einzigen Befehl aufzulisten. Weitere Informationen finden Sie unter Abfragen des aktuellen Konfigurationsstatus von AWS Auto Scaling Ressourcen im AWS Config Entwicklerhandbuch.

Veraltete Laufzeitumgebungen

Die folgenden Laufzeiten haben das Ende der Unterstützung erreicht:

Veraltete Laufzeitumgebungen
Name ID Betriebssystem Datum der Veraltung Blockfunktion erstellen Blockfunktion aktualisieren

.NET 7 (nur Container)

dotnet7

Amazon Linux 2

14. Mai 2024

Java 8

java8

Amazon Linux

8. Januar 2024

8. Februar 2024

28. Februar 2025

Go 1.x

go1.x

Amazon Linux

8. Januar 2024

8. Februar 2024

28. Februar 2025

Reine OS-Laufzeit

provided

Amazon Linux

8. Januar 2024

8. Februar 2024

28. Februar 2025

Ruby 2.7

ruby2.7

Amazon Linux 2

7. Dezember 2023

9. Januar 2024

28. Februar 2025

Node.js 14

nodejs14.x

Amazon Linux 2

4. Dezember 2023

9. Januar 2024

28. Februar 2025

Python 3.7

python3.7

Amazon Linux

4. Dezember 2023

9. Januar 2024

28. Februar 2025

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

3. Apr 2023

3. Apr 2023

3. Mai 2023

Node.js 12

nodejs12.x

Amazon Linux 2

31. März 2023

31. März 2023

30. Apr 2023

Python 3.6

python3.6

Amazon Linux

18. Juli 2022

18. Juli 2022

29. August 2022

.NET 5 (nur Container)

dotnet5.0

Amazon Linux 2

10. Mai 2022

.NET Core 2.1

dotnetcore2.1

Amazon Linux

5. Januar 2022

5. Januar 2022

13. Apr 2022

Node.js 10

nodejs10.x

Amazon Linux 2

30. Juli 2021

30. Juli 2021

14. Februar 2022

Ruby 2.5

ruby2.5

Amazon Linux

30. Juli 2021

30. Juli 2021

31. März 2022

Python 2.7

python2.7

Amazon Linux

15. Juli 2021

15. Juli 2021

30. Mai 2022

Node.js 8.10

nodejs8.10

Amazon Linux

6. März 2020

6. März 2020

Node.js 4.3

nodejs4.3

Amazon Linux

5. März 2020

5. März 2020

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux

5. März 2020

30. Apr 2019

Node.js 6.10

nodejs6.10

Amazon Linux

12. August 2019

12. August 2019

.NET Core 1.0

dotnetcore1.0

Amazon Linux

27. Juni 2019

30. Juli 2019

.NET Core 2.0

dotnetcore2.0

Amazon Linux

30. Mai 2019

30. Mai 2019

Node.js 0.10

nodejs

Amazon Linux

31. Oktober 2016

In fast allen Fällen ist das end-of-life Datum einer Sprachversion oder eines Betriebssystems weit im Voraus bekannt. Die folgenden Links enthalten end-of-life Zeitpläne für jede Sprache, die Lambda als verwaltete Laufzeit unterstützt.

Richtlinien für die Unterstützung von Sprache und Framework-Bedingungen