Bereitstellen von Lambda-Funktionen - 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.

Bereitstellen von Lambda-Funktionen

Sie können Code für Ihre Lambda-Funktion bereitstellen, indem Sie ein ZIP-Dateiarchiv hochladen oder ein Container-Image erstellen und hochladen.

ZIP-Dateiarchive

Ein ZIP-Dateiarchiv enthält Ihren Anwendungscode und seine Abhängigkeiten. Wenn Sie Funktionen mit der Lambda-Konsole oder einem Toolkit erstellen, erstellt Lambda automatisch ein ZIP-Dateiarchiv Ihres Codes.

Wenn Sie Funktionen mit der Lambda-API, Befehlszeilentools oder den AWS SDKs erstellen, müssen Sie ein Bereitstellungspaket erstellen. Sie müssen außerdem ein Bereitstellungspaket erstellen, wenn Ihre Funktion eine kompilierte Sprache verwendet oder Ihrer Funktion Abhängigkeiten hinzufügt. Um den Code Ihrer Funktion bereitzustellen, laden Sie das Bereitstellungspaket von Amazon Simple Storage Service (Amazon S3) oder Ihrem lokalen Computer hoch.

Sie können mit der Lambda-Konsole AWS Command Line Interface (AWS CLI) eine ZIP-Datei als Bereitstellungspaket oder in einen Amazon Simple Storage Service (Amazon S3) -Bucket hochladen.

Berechtigungen für Bereitstellungspaketdateien

Die Lambda-Laufzeit benötigt die Berechtigung zum Lesen der Dateien in Ihrem Bereitstellungspaket. In der oktalen Linux-Notation der Berechtigungen benötigt Lambda 644 Berechtigungen für nicht ausführbare Dateien (rw-r--r--) und 755 Berechtigungen (rwxr-xr-x) für Verzeichnisse und ausführbare Dateien.

Verwenden Sie unter Linux und MacOS den chmod-Befehl, um Dateiberechtigungen für Dateien und Verzeichnisse in Ihrem Bereitstellungspaket zu ändern. Führen Sie beispielsweise den folgenden Befehl aus, um einer ausführbaren Datei die richtigen Berechtigungen zu gewähren.

chmod 755 <filepath>

Informationen zum Ändern von Dateiberechtigungen in Windows finden Sie unter Festlegen, Anzeigen, Ändern oder Entfernen von Berechtigungen für ein Objekt in der Microsoft-Windows-Dokumentation.

Container-Images

Sie können Ihren Code und Ihre Abhängigkeiten als Container-Image mit Tools wie der Command Line Interface (CLI) verpacken. Sie können das Image dann in Ihre Container-Registry uploaden, die auf Amazon Elastic Container Registry (Amazon ECR) gehostet wird.

Wenn Sie die Funktion aufrufen, stellt Lambda das Container-Image in einer Ausführungsumgebung bereit. Lambda initialisiert alle Erweiterungen und führt dann den Initialisierungscode der Funktion aus (der Code außerhalb des Haupt-Handlers). Beachten Sie, dass die Dauer der Funktionsinitialisierung in der abgerechneten Ausführungszeit enthalten ist.

Lambda führt dann die Funktion aus, indem es den in der Funktionskonfiguration angegebenen Codeeingabepunkt aufruft (die ENTRYPOINT - und CMD-Container-Image-Einstellungen).

AWS stellt eine Reihe von Open-Source-Basis-Images bereit, mit denen Sie das Container-Image für Ihren Funktionscode erstellen können. Sie können auch alternative Basis-Images aus anderen Container-Registern verwenden. AWS bietet auch einen Open-Source-Runtime-Client, den Sie zu Ihrem alternativen Basis-Image hinzufügen, um es mit dem Lambda-Service kompatibel zu machen.

Darüber hinaus AWS bietet es einen Runtime-Schnittstellen-Emulator, mit dem Sie Ihre Funktionen lokal mit Tools wie der Docker-CLI testen können.

Anmerkung

Sie erstellen jedes Container-Image, um mit einer der von Lambda unterstützten Befehlssatz-Architekturen kompatibel zu sein. Lambda stellt Basis-Images für jede der Befehlssatzarchitekturen bereit und Lambda bietet auch Basis-Images, die beide Architekturen unterstützen.

Das Image, das Sie für Ihre Funktion erstellen, muss nur auf eine der Architekturen abzielen.

Für die Paketierung und Bereitstellung von Funktionen als Container-Images fallen keine zusätzlichen Kosten an. Wenn eine Funktion aufgerufen wird, die als Container-Image bereitgestellt wird, zahlen Sie für Aufrufanforderungen und die Ausführungsdauer. Es fallen Gebühren für die Speicherung Ihrer Container-Images in Amazon ECR an. Weitere Informationen finden Sie unter Amazon ECR-Preise.

Image-Sicherheit

Wenn Lambda das Container-Image zum ersten Mal von seiner ursprünglichen Quelle (Amazon ECR) herunterlädt, wird das Container-Image mit authentifizierten konvergenten Verschlüsselungsmethoden optimiert, verschlüsselt und gespeichert. Alle Schlüssel, die zur Entschlüsselung von Kundendaten erforderlich sind, werden durch vom AWS KMS Kunden verwaltete Schlüssel geschützt. Um die Nutzung der von Kunden verwalteten Schlüssel von Lambda zu verfolgen und zu prüfen, können Sie die AWS CloudTrail -Protokolle anzeigen.