Erstellen Sie eine Routing-Konfiguration für einen Lambda-Alias - 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.

Erstellen Sie eine Routing-Konfiguration für einen Lambda-Alias

Verwenden Sie eine Routing-Konfiguration für einen Alias, um einen Teil des Datenverkehrs an eine zweite Funktionsversion zu senden. Beispielsweise können Sie das Risiko der Bereitstellung einer neuen Version verringern, indem Sie den Alias so konfigurieren, dass der größte Teil des Datenverkehrs an die vorhandene Version gesendet wird, und nur ein geringer Prozentsatz des Datenverkehrs an die neue Version.

Lambda verwendet ein einfaches probabilistisches Modell, um den Datenverkehr zwischen den beiden Funktionsversionen zu verteilen. Bei niedrigem Datenverkehr sehen Sie möglicherweise eine hohe Abweichung zwischen dem konfigurierten und dem tatsächlichen Prozentsatz des Datenverkehrs für jede Version. Wenn Ihre Funktion bereitgestellte Parallelität verwendet, können Sie Überlaufaufrufe durch Konfigurieren einer höheren Anzahl von bereitgestellten Parallelitätsinstances während des aktiven Alias-Routings vermeiden.

Sie können ein Alias auf maximal zwei Lambda-Funktionsversionen verweisen lassen. Die Versionen müssen folgende Kriterien erfüllen:

Console
Um das Routing für einen Alias mithilfe der Konsole zu konfigurieren
Anmerkung

Stellen Sie sicher, dass die Funktion über mindestens zwei veröffentlichte Versionen verfügt. Um weitere Versionen zu erstellen, folgen Sie den Anweisungen unter Lambda-Funktionsversionen verwalten.

  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie eine Funktion aus.

  3. Wählen Sie Aliasse und dann Alias erstellen aus.

  4. Führen Sie auf der Seite Alias erstellen die folgenden Schritte aus:

    1. Machen Sie für den Alias eine Angabe unter Name.

    2. (Optional) Geben Sie eine Beschreibung für den Alias ein.

    3. Wählen Sie unter Version die erste Funktionsversion aus, auf die der Alias verweisen soll.

    4. Erweitern Sie Gewichteter Alias.

    5. Wählen Sie unter Zusätzliche Version die zweite Funktionsversion aus, auf die der Alias verweisen soll.

    6. Geben Sie unter Gewicht (%) einen Gewichtungswert für die Funktion ein. Die Gewichtung ist der Prozentsatz des Datenverkehrs, der beim Aufruf des Alias dieser Version zugewiesen wird. Die erste Version erhält den Datenverkehr mit der verbleibenden Gewichtung. Wenn Sie beispielsweise 10 Prozent für die Additional version (Zusätzliche Version) angeben, werden der ersten Version automatisch 90 Prozent zugewiesen.

    7. Wählen Sie Save (Speichern) aus.

AWS CLI

Verwenden Sie die AWS CLI Befehle create-alias und update-alias, um die Datenverkehrsgewichte zwischen zwei Funktionsversionen zu konfigurieren. Wenn Sie den Alias erstellen oder aktualisieren, geben Sie die Datenverkehrsgewichtung im routing-config-Parameter an.

Im folgenden Beispiel wird ein Lambda-Funktionsalias namens routing-alias erstellt, der auf Version 1 der Funktion verweist. Version 2 der Funktion erhält 3 Prozent des Datenverkehrs. Die verbleibenden 97 Prozent des Datenverkehrs werden zu Version 1 weitergeleitet.

aws lambda create-alias \ --name routing-alias \ --function-name my-function \ --function-version 1 \ --routing-config AdditionalVersionWeights={"2"=0.03}

Verwenden Sie den update-alias-Befehl, um den Prozentsatz des eingehenden Datenverkehrs an Version 2 zu erhöhen. Im folgenden Beispiel erhöhen Sie den Datenverkehr auf 5 Prozent.

aws lambda update-alias \ --name routing-alias \ --function-name my-function \ --routing-config AdditionalVersionWeights={"2"=0.05}

Um den gesamten Datenverkehr an Version 2 weiterzuleiten, ändern Sie den Befehl update-alias, um die Eigenschaft function-version so zu ändern, dass der Alias auf Version 2 verweist. Der Befehl setzt auch die Weiterleitungskonfiguration zurück.

aws lambda update-alias \ --name routing-alias \ --function-name my-function \ --function-version 2 \ --routing-config AdditionalVersionWeights={}

Die AWS CLI Befehle in den vorherigen Schritten entsprechen den folgenden API Lambda-Operationen:

Ermitteln, welche Version aufgerufen wurde

Wenn Sie Datenverkehrsgewichtungen zwischen zwei Funktionsversionen konfigurieren, gibt es zwei Möglichkeiten, die aufgerufene Lambda-Funktionsversion zu bestimmen:

  • CloudWatch Logs — Lambda gibt bei jedem Funktionsaufruf automatisch einen START Protokolleintrag, der die aufgerufene Versions-ID enthält, an Amazon CloudWatch Logs aus. Im Folgenden wird ein Beispiel gezeigt:

    19:44:37 START RequestId: request id Version: $version

    Für Aliasaufrufe verwendet Lambda die Dimension Executed Version zum Filtern der Metrikdaten nach aufgerufener Version. Weitere Informationen finden Sie unter Metriken für Lambda-Funktionen anzeigen.

  • Antwortnutzlast (synchrone Aufrufe) – Antworten auf synchrone Funktionsaufrufe enthalten einen x-amz-executed-version-Header, der angibt, welche Funktionsversion aufgerufen wurde.