AWS Germany – Amazon Web Services in Deutschland
Einführung von verwalteten AWS-Lambda-Instanzen: Serverlose Einfachheit mit EC2-Flexibilität
|
Author: Micah Walter, Übersetzung: Philip Gutberlet
|
Heute kündigen wir die Einführung verwalteter AWS-Lambda-Instanzen an, eine neue Funktion, mit der Sie AWS-Lambda-Funktionen auf der Rechenkapazität Ihrer Amazon Elastic Compute Cloud (Amazon EC2) ausführen können, während Sie die operative Einfachheit von Serverless beibehalten. Diese Erweiterung adressiert ein wichtiges Kundenbedürfnis: Zugriff auf spezialisierte Rechenleistungs-Optionen und Kostenoptimierung für Workloads mit stetiger Auslastung, ohne auf die serverlose Entwicklungserfahrung verzichten zu müssen, die Sie kennen und lieben.
Obwohl Lambda das Infrastrukturmanagement eliminiert, erfordern einige Workloads spezialisierte Hardware, wie spezifische CPU-Architekturen, oder Kostenoptimierungen durch Amazon-EC2-Abnahmeverpflichtungen. Diese Spannung zwingt viele Teams dazu, die Infrastruktur selbst zu verwalten und die serverlosen Vorteile von Lambda nur aufzugeben, um Zugriff auf die benötigten Rechenoptionen oder Preismodelle zu erhalten. Dies führt oft zu einer erheblichen architektonischen Verschiebung und größerer operativer Verantwortung.
Verwaltete Lambda-Instanzen
Sie können verwaltete Lambda-Instanzen verwenden, um zu definieren, wie Ihre Lambda-Funktionen auf EC2-Instanzen ausgeführt werden sollen. Amazon Web Services (AWS) übernimmt die Einrichtung und Verwaltung dieser Instanzen in Ihrem Konto. Sie erhalten Zugriff auf die neueste Generation von Amazon EC2-Instanzen, und AWS übernimmt die gesamte operative Komplexität: Instanz-Lebenszyklusverwaltung, Betriebssystem-Patching, Lastverteilung und automatische Skalierung. Das bedeutet, Sie können Rechenleistungs-Profile auswählen, die für Ihre spezifischen Workload-Anforderungen optimiert sind, wie Netzwerke mit hoher Bandbreite für datenintensive Anwendungen, ohne die operative Last der Verwaltung von Amazon EC2-Infrastruktur zu übernehmen.
Jede Ausführungsumgebung kann mehrere parallele Anfragen verarbeiten, anstatt nur eine Anfrage gleichzeitig. Dies kann den Rechenverbrauch erheblich reduzieren, da Ihr Code Ressourcen effizient über parallele Anfragen hinweg teilen kann, anstatt separate Ausführungsumgebungen für jeden Aufruf zu starten. Verwaltete Lambda-Instanzen bieten Zugriff auf Amazon EC2 mit der Verwendung von verpflichtungsbasierten Preismodelle wie Compute Savings Plans und Reserved Instances, die bis zu 72% Rabatt gegenüber den Preisen von Amazon EC2 On-Demand bieten können. Dies bietet erhebliche Kosteneinsparungen für Workloads mit stetiger Last, bei Beibehaltung des vertrauten Lambda-Programmiermodells.
Probieren wir es aus
Um verwaltete Lambda-Instanzen auszuprobieren, muss ich zunächst einen Kapazitätsanbieter erstellen. Wie in der folgenden Abbildung gezeigt, gibt es einen neuen Reiter zum Erstellen des Kapazitätsanbieter im Navigationsbereich unter Zusätzliche Ressourcen.
Beim Erstellen eines Kapazitätsanbieters gebe ich die Virtual Private Cloud (VPC), die Subnetzkonfiguration und die Sicherheitsgruppen an. Mit einer Kapazitätsanbieter-Konfiguration kann ich Lambda auch mitteilen, wo die Instanzen bereitgestellt und verwaltet werden sollen.
Ich kann auch die EC2-Instanztypen angeben, die ich einbeziehen oder ausschließen möchte, oder ich kann wählen, alle Instanztypen einzubeziehen um eine hohe Diversität zu erreichen. Zusätzlich kann ich einige Einstellungen im Zusammenhang mit der automatischen Skalierung angeben, einschließlich der maximalen vCPU-Anzahl und ob ich automatische Skalierung verwenden oder eine CPU-Richtlinie verwenden möchte.
Nachdem ich meinen Kapazitätsanbieter konfiguriert habe, kann ich ihn über seinen Amazon Resource Name (ARN) auswählen, wenn ich eine neue Lambda-Funktion erstelle. Hier kann ich auch die gewünschte Speicherzuweisung zusammen mit einem Speicher-zu-vCPU-Verhältnis auswählen.
Arbeiten mit verwalteten Lambda-Instanzen
Nachdem wir die grundlegende Einrichtung gesehen haben, lassen Sie uns untersuchen, wie verwatlete Lambda-Instanzen im Detail funktionieren. Die Funktion organisiert EC2-Instanzen in Kapazitätsanbietern, die Sie über die Lambda-Konsole, das AWS Command Line Interface (AWS CLI) oder Infrastructure-as-Code (IaC)-Tools wie AWS CloudFormation, AWS Serverless Application Model (AWS SAM), AWS Cloud Development Kit (AWS CDK) und Terraform[EN] konfigurieren. Jeder Kapazitätsanbieter definiert die Recheneigenschaften, die Sie benötigen, einschließlich Instanztyp, Netzwerkkonfiguration und Skalierungsparameter.
Beim Erstellen eines Kapazitätsanbieters können Sie aus der neuesten Generation von EC2-Instanzen wählen, um Ihre Workload-Anforderungen zu erfüllen. Für kostenoptimierte Allzweck-Rechenleistung könnten Sie AWS Graviton4-basierte Instanzen wählen, die ein hervorragendes Preis-Leistungs-Verhältnis bieten. Wenn Sie nicht sicher sind, welchen Instanztyp Sie auswählen sollen, bietet AWS Lambda optimierte Standardwerte, die Leistung und Kosten basierend auf Ihrer Funktionskonfiguration ausbalancieren.
Nach dem Erstellen eines Kapazitätsanbieters fügen Sie Ihre Lambda-Funktionen durch eine einfache Konfigurationsänderung hinzu. Bevor Sie eine Funktion anhängen, sollten Sie Ihren Code auf Programmiermuster überprüfen, die in Umgebungen mit mehreren gleichzeitigen Prozessen Probleme verursachen können, wie das Schreiben in oder Lesen von Dateipfaden, die nicht einzigartig pro Anfrage sind, oder die Verwendung gemeinsamer Speicherbereiche und Variablen über mehrere Aufrufe hinweg.
Lambda leitet Anfragen automatisch an im Vorraus bereitgestellte Ausführungsumgebungen auf den Instanzen weiter und eliminiert Kaltstarts, die die Latenz der ersten Anfrage beeinträchtigen können. Jede Ausführungsumgebung kann mehrere gleichzeitige Anfragen über die Multiparallelitätsfunktion verarbeiten und maximiert so die Ressourcennutzung über Ihre Funktionen hinweg. Wenn während Auslastungsspitzen zusätzliche Kapazität benötigt wird, startet AWS automatisch neue Instanzen innerhalb von Sekunden und fügt sie Ihrem Kapazitätsanbieter hinzu. Der Kapazitätsanbieter kann standardmäßig Auslastungsspitzen von bis zu 50% absorbieren, ohne skalieren zu müssen, aber integrierte Schutzschalter schützen Ihre Rechenressourcen während extremer Auslastungsspitzen, indem sie Anfragen vorübergehend mit 429-Statuscodes drosseln, wenn der Kapazitätsanbieter die maximal bereitgestellte Kapazität erreicht und zusätzliche Kapazität noch hochgefahren wird.
Das operative und architektonische Modell bleibt während dieses Prozesses serverlos. AWS übernimmt die Instanzbereitstellung, das Betriebssystem-Patching, Sicherheitsupdates, die Lastverteilung über Instanzen hinweg und die automatische Skalierung basierend auf der Nachfrage. AWS macht automatisch Sicherheitspatches und Fehlerbehebungen auf Betriebssystem- und Laufzeitkomponenten, oft ohne laufende Anwendungen zu unterbrechen. Zusätzlich haben Instanzen eine maximale Lebensdauer von 14 Tagen, um sich an Sicherheits- und Compliance-Industriestandards anzupassen. Sie müssen keine automatischen Skalierungsrichtlinien implementieren, Load Balancer konfigurieren oder den Instanz-Lebenszyklus selbst verwalten. Ihr Funktionscode, Event-Source-Integrationen, AWS Identity and Access Management (AWS IAM)-Berechtigungen und Amazon CloudWatch-Überwachung bleiben unverändert.
Jetzt verfügbar
Sie können verwaltete Lambda Instanzen ab heute über die Lambda-Konsole, AWS CLI oder AWS SDKs verwenden. Die Funktion ist in den Regionen US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Tokyo) und Europe (Ireland) verfügbar. Für regionale Verfügbarkeit und zukünftige Roadmap besuchen Sie die AWS Capabilities by Region. Erfahren Sie mehr darüber in der AWS Lambda-Dokumentation.
Die Preisgestaltung für Lambda Managed Instances besteht aus drei Komponenten. Erstens zahlen Sie die standardmäßigen Lambda-Anforderungsgebühren von 0,20 USD pro Million Aufrufe. Zweitens zahlen Sie die standardmäßigen Amazon-EC2-Instanzgebühren für die bereitgestellte Rechenkapazität. Ihre bestehenden Amazon EC2-Preisvereinbarungen, einschließlich Compute Savings Plans und Reserved Instances, können auf diese Instanzgebühren angewendet werden, um die Kosten für Workloads mit stetiger Auslastung zu senken. Drittens zahlen Sie eine Rechenleistungsverwaltungsgebühr von 15%, die auf Basis des EC2-On-Demand-Instanzpreises berechnet wird, um die operative Verwaltung Ihrer Instanzen durch AWS abzudecken. Beachten Sie, dass Sie im Gegensatz zu herkömmlichen Lambda-Funktionen nicht separat für die Ausführungsdauer pro Anfrage berechnet werden. Die Multiparallelitätsfunktion hilft, die Kosten weiter zu optimieren, indem sie die gesamte Rechenzeit reduziert, die zur Verarbeitung Ihrer Anfragen erforderlich ist.
Die erste Version unterstützt die neuesten Versionen von Node.js-, Java-, .NET- und Python-Laufzeiten, wobei die Unterstützung für andere Sprachen in Kürze folgt. Die Funktion integriert sich in bestehende Lambda-Workflows, einschließlich Funktionsversionierung, Aliase, AWS CloudWatch Lambda Insights, AWS AppConfig-Erweiterungen und Bereitstellungstools wie AWS SAM und AWS CDK. Sie können bestehende Lambda-Funktionen zu verwalteten Lambda-Instanzen migrieren, ohne Ihren Funktionscode zu ändern (solange er für Multi-Parallelität als thread-sicher validiert wurde), was es einfach macht, diese Funktion für Workloads zu übernehmen, die von spezialisierter Rechenleistung oder Kostenoptimierung profitieren würden.
Die Einführung der verwalteten Lambda-Instanzen stellt eine bedeutende Erweiterung der Fähigkeiten von Lambda dar, das Sie nun eine breitere Palette von Workloads ausführen können, während Sie das serverlose operative Modell beibehalten. Ob Sie Kosten für Anwendungen mit hohem Datenverkehr optimieren oder auf die neuesten Prozessorarchitekturen wie Graviton4 zugreifen – diese neue Funktion bietet die Flexibilität, die Sie benötigen, ohne die operative Komplexität. Wir sind gespannt darauf, was Sie in Zukunft mit den verwalteten Lambda-Instanzen erstellen werden.
Dieser Inhalt wurde aus dem ursprünglichen Blogbeitrag übersetzt, der hier zu finden ist.



