Verstehen, wie Lambda Runtime-Versionsupdates verwaltet - 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.

Verstehen, wie Lambda Runtime-Versionsupdates verwaltet

Lambda hält jede verwaltete Laufzeit mit Sicherheitsupdates, Fehlerbehebungen, neuen Funktionen, Leistungsverbesserungen und Unterstützung für Nebenversionen auf dem neuesten Stand. Diese Laufzeitaktualisierungen werden als Laufzeitversionen veröffentlicht. Lambda wendet Laufzeitaktualisierungen auf Funktionen an, indem es die Funktion von einer früheren Laufzeitversion auf eine neue Laufzeitversion migriert.

Für Funktionen, die verwaltete Laufzeiten verwenden, wendet Lambda Laufzeitaktualisierungen standardmäßig automatisch an. Mit automatischen Laufzeitaktualisierungen übernimmt Lambda den operativen Aufwand für das Patchen der Laufzeitversionen. Für die meisten Kunden sind automatische Aktualisierungen die richtige Wahl. Sie können dieses Standardverhalten ändern, indem Sie die Runtime-Management-Einstellungen konfigurieren.

Lambda veröffentlicht auch jede neue Laufzeitversion als Container-Image. Um Laufzeitversionen für Container-basierte Funktionen zu aktualisieren, müssen Sie ein neues Container-Image aus dem aktualisierten Basis-Image erstellen und Ihre Funktion erneut bereitstellen.

Jede Runtime-Version ist mit einer Versionsnummer und einem ARN (Amazon-Ressourcennamen) verknüpft. Laufzeitversionsnummern verwenden ein von Lambda definiertes Nummerierungsschema, unabhängig von den Versionsnummern, die die Programmiersprache verwendet. Die Runtime-Version ARN ist eine eindeutige Kennung für jede Runtime-Version. Sie können die aktuelle Laufzeitversion ARN Ihrer Funktion in der Lambda-Konsole oder in der INIT_START Zeile Ihrer Funktionsprotokolle einsehen.

Laufzeitversionen sollten nicht mit Laufzeitkennungen verwechselt werden. Jede Laufzeit hat eine eindeutige Laufzeitkennung, z. B. python3.12 oder nodejs20.x. Diese entsprechen den jeweiligen Hauptversionen der Programmiersprachen. Laufzeitversionen beschreiben die Patch-Version einer einzelnen Laufzeit.

Anmerkung

Die Versionsnummer ARN für dieselbe Laufzeit kann je nach CPU Architektur variieren AWS-Regionen .

Modi zur Laufzeitaktualisierung

Lambda ist bestrebt, Laufzeitaktualisierungen bereitzustellen, die mit vorhandenen Funktionen abwärtskompatibel sind. Wie beim Software-Patching gibt es jedoch seltene Fälle, in denen sich eine Laufzeitaktualisierung negativ auf eine vorhandene Funktion auswirken kann. Beispielsweise können Sicherheits-Patches ein zugrunde liegendes Problem mit einer vorhandenen Funktion aufdecken, das vom vorherigen, unsicheren Verhalten abhängt. Lambda-Laufzeitverwaltungskontrollen tragen dazu bei, das Risiko von Auswirkungen auf Ihre Workloads im seltenen Fall einer Inkompatibilität einer Laufzeitversion zu verringern. Für jede Funktionsversion ($LATEST oder veröffentlichte Version) können Sie einen der folgenden Laufzeitaktualisierungsmodi wählen:

  • Automatisch (Standard) – Automatische Aktualisierung auf die neueste und sicherste Laufzeitversion mit Zweiphasiges Rollout der Laufzeitversion. Diesen Modus empfehlen wir den meisten Kunden, damit Sie immer von Laufzeitaktualisierungen profitieren.

  • Funktion aktualisieren – Aktualisieren Sie die Laufzeit Ihrer Funktion auf die neueste und sicherste Laufzeitversion. Wenn Sie Ihre Funktion aktualisieren, aktualisiert Lambda die Laufzeit Ihrer Funktion auf die neueste und sicherste Laufzeitversion. Dieser Ansatz synchronisiert Laufzeitaktualisierungen mit Funktionsbereitstellungen, sodass Sie die Kontrolle darüber haben, wann Lambda Laufzeitaktualisierungen anwendet. In diesem Modus können Sie seltene Inkompatibilitäten bei Laufzeitaktualisierungen frühzeitig erkennen und beheben. Wenn Sie diesen Modus verwenden, müssen Sie Ihre Funktionen regelmäßig aktualisieren, um deren Laufzeit auf dem neuesten Stand zu halten.

  • Manuell – Aktualisieren Sie Ihre Laufzeitversion manuell. Sie geben in Ihrer Funktionskonfiguration eine Laufzeitversion an. Die Funktion verwendet diese Laufzeitversion unbegrenzt. In dem seltenen Fall, dass eine neue Laufzeitversion mit einer vorhandenen Funktion nicht kompatibel ist, können Sie diesen Modus verwenden, um Ihre Funktion auf eine frühere Laufzeitversion zurückzusetzen. Wir raten davon ab, den Modus Manual (Manuell) zu verwenden, um Laufzeitkonsistenz über Bereitstellungen hinweg zu erreichen. Weitere Informationen finden Sie unter Eine Lambda-Laufzeitversion zurücksetzen.

Die Verantwortung für das Anwenden von Laufzeitaktualisierungen auf Ihre Funktionen hängt davon ab, welchen Laufzeitaktualisierungsmodus Sie auswählen. Weitere Informationen finden Sie unter Das Modell der gemeinsamen Verantwortung für das Lambda-Laufzeitmanagement verstehen.

Zweiphasiges Rollout der Laufzeitversion

Lambda führt neue Laufzeitversionen in der folgenden Reihenfolge ein:

  1. In der ersten Phase wendet Lambda die neue Laufzeitversion an, sobald Sie eine Funktion erstellen oder aktualisieren. Eine Funktion wird aktualisiert, wenn Sie die UpdateFunctionConfigurationAPIOperationen UpdateFunctionCodeoder aufrufen.

  2. In der zweiten Phase aktualisiert Lambda alle Funktionen, die den Auto (Automatischen) Laufzeitaktualisierungsmodus verwenden und die noch nicht auf die neue Laufzeitversion aktualisiert wurden.

Die Gesamtdauer des Rollout-Prozesses hängt von mehreren Faktoren ab, einschließlich des Schweregrads von Sicherheits-Patches, die in der Laufzeitaktualisierung enthalten sind.

Wenn Sie Ihre Funktionen aktiv entwickeln und bereitstellen, werden Sie höchstwahrscheinlich in der ersten Phase neue Laufzeitversionen abrufen. Dadurch werden Laufzeitaktualisierungen mit Funktionsaktualisierungen synchronisiert. In dem seltenen Fall, dass die neueste Laufzeitversion Ihre Anwendung negativ beeinflusst, können Sie mit diesem Ansatz, umgehend Korrekturmaßnahmen ergreifen. Funktionen, die sich nicht in der aktiven Entwicklung befinden, erhalten auch in der zweiten Phase den operativen Nutzen von automatischen Laufzeitaktualisierungen.

Dieser Ansatz wirkt sich nicht auf Funktionen aus, die auf Function update (Funktionsaktualisierung) oder Manual (Manuell) festgelegt sind. Funktionen, die den Modus Function update (Funktionsaktualisierung) verwenden, erhalten die neuesten Laufzeitaktualisierungen nur, wenn Sie sie erstellen oder aktualisieren. Funktionen, die den Modus Manual (Manuell) verwenden, erhalten keine Laufzeitaktualisierungen.

Lambda veröffentlicht neue Laufzeitversionen schrittweise und fortlaufend in allen AWS-Regionen. Wenn Ihre Funktionen auf die Modi Auto (Automatisch) oder Function update (Funktionsaktualisierung) festgelegt sind, ist es möglich, dass Funktionen, die zur gleichen Zeit in verschiedenen Regionen oder zu verschiedenen Zeiten in derselben Region eingesetzt werden, unterschiedliche Laufzeitversionen abrufen. Kunden, die eine garantierte Konsistenz der Laufzeitversionen in ihren Umgebungen benötigen, sollten Container-Images verwenden, um ihre Lambda-Funktionen bereitzustellen. Der Modus Manuell ist als vorübergehende Gegenmaßnahme gedacht, um im seltenen Fall eines Laufzeitzeitproblems ein Laufzeit-Rollback zu ermöglichen, dass eine Laufzeitversion nicht mit Ihrer Funktion kompatibel ist.