AWS Lambda Layers - Verschiedene AWS-Ebenen mit ihren Konfigurationen

Inhaltsverzeichnis:

Anonim

Was ist AWS Lambda Layers?

AWS Lambda ist ein von Amazon im Rahmen von Amazon Web Service (AWS) angebotener Rechendienst , mit dem Sie Backend-Codes ohne Serververwaltung und -bereitstellung ausführen können. Lediglich die benötigte Rechenzeit wird in Rechnung gestellt, Sie müssen nicht bezahlen, während Ihr Code ausgeführt wird. AWS Lambda kann so konfiguriert werden, dass zusätzlicher Code und Inhalt in Form verschiedener Ebenen enthalten sind. Ein Layer ist ein ZIP-Archiv, das alle Bibliotheken, eine benutzerdefinierte Laufzeit oder andere Abhängigkeiten enthält. Mit Layern können Sie Bibliotheken in Ihren Funktionen verwenden, ohne sie tatsächlich in Ihr Bereitstellungspaket aufzunehmen, was Ihre Entwicklung erheblich vereinfacht.

AWS Lambda-Schichten

AWS Lambda Partners bietet seinen AWS-Kunden eigene Layer für Sicherheit, Überwachung und Anwendungsverwaltung.

1. Sicherheitsschichten

Cloud-Sicherheit hat bei AWS die höchste Priorität. Sie und AWS sind gemeinsam für die Sicherheit der Cloud und die Sicherheit in der Cloud verantwortlich.

  • Sicherheit der Cloud: AWS ist für die AWS-Service-Infrastrukturen verantwortlich und stellt sicher, dass die Services sicher verwendet werden.
  • Sicherheit in der Cloud: Der von Ihnen verwendete AWS-Service bestimmt Ihre Verantwortung. Zu den Faktoren, für die Sie verantwortlich sind, gehören die Vertraulichkeit Ihrer Daten, die Anforderungen Ihres Unternehmens und andere geltende Vorschriften und Gesetze.

Beispiele für Sicherheitsebenen von APN-Partnern sind:

  • Protego bietet das Protego Function Self Protection (FSP) -Modul an.
  • PureSec hilft dabei, bewährte Methoden für die serverlose Sicherheit zu verwalten und durchzusetzen.
  • Twistlock bietet Sicherheitskontrollen mit seinen Defender-Layern.

2. Layer überwachen

Alle Lambda-Funktionen werden von AWS Lambda automatisch überwacht und die Messdaten werden über CloudWatch gemeldet. Lambda verfolgt automatisch die Anzahl der Anfragen, die Anzahl der Anfragen, die zu Fehlern führen, und die Ausführungsdauer pro Anfrage. Die AWS Lambda-Konsole, die CloudWatch-Konsole und andere AWS-Ressourcen zeigen die Anforderungs- und Fehlerraten Ihrer Lambda-Funktionen an. Beispiele für Überwachungsebenen von APN-Partnern sind:

  • Datadog bietet eine Instrumentationsebene für Python
  • Epsagon bietet eine Ebene, die die verteilte Verfolgung von Epsagon ermöglicht.
  • IOpipe bietet konfigurierbare und mehrdimensionale Warnmeldungen.
  • NodeSource bietet eine Überwachung mit geringen Auswirkungen für Node.js.

3. Anwendungsverwaltungsebenen

Mit der AWS-Konsole können Sie Lambda-Anwendungen überwachen und verwalten. Die AWS CloudFormation-Stapel werden im Anwendungsmenü mit Lambda-Funktionen aufgelistet. Die folgenden Informationen zu Ihrer Bewerbung werden angezeigt:

  • SAM-Vorlage oder AWS CLoudFormation-Vorlage - Diese Vorlage definiert Ihre Anwendung.
  • Ressourcen - Die in der Vorlage Ihrer Anwendung definierten AWS-Ressourcen. Wählen Sie einen Funktionsnamen aus der Liste, um die Lambda-Funktionen der Anwendung zu verwalten.

Beispiele für Anwendungsverwaltungsebenen von APN-Partnern sind:

  • Mit Serverless Framework können Entwickler serverlose Anwendungen bereitstellen.
  • Stackery zeigt Ihnen eine Liste aller Ebenen in Ihrem Konto an, die Sie auf Ihre Funktion anwenden können.

AWS Lambda Runtime API-Partner

Mit der Lambda Runtime-API können Sie beim Erstellen oder Aktualisieren einer Funktion eine benutzerdefinierte Laufzeit auswählen. Sie können Ihre eigenen Laufzeiten veröffentlichen oder die Laufzeiten anderer verwenden. Beispiele für APN-Partner, die Unterstützung für neue Laufzeiten bereitgestellt haben, sind:

  • Alert Logic bietet Laufzeitbibliotheken für Erlang und
  • BluAge bietet Unterstützung für
  • Stackery bietet eine PHP-Laufzeitschicht.

Konfigurationen

Sie können der Konfiguration Ihrer Funktion während oder nach der Funktionserstellung bis zu 5 Ebenen hinzufügen. Ebenenversionen können angegeben und später in der Funktionskonfiguration aktualisiert werden.

Hinzufügen einer Ebene zu einer Funktion

  • Befehl:

  • Beispiel

  • Sie können mehrere Ebenen aus demselben Konto wie die Funktion oder aus einem anderen Konto hinzufügen, indem Sie den Pfad angeben.
  • Versionen jeder Ebene können angegeben werden, indem die vollständige ARN der Ebenenversion angegeben wird.
  • Vorherige Ebenen werden überschrieben, wenn Sie der gleichen Funktion neue Ebenen hinzufügen.
  • Geben Sie eine leere Liste an, um alle Ebenen zu entfernen.

  • Funktionen greifen während der Ausführung im / opt auf Ebenen zu
  • Die Version in der zuletzt angewendeten Ebene wird verwendet, wenn dieselbe Datei in mehreren Ebenen angezeigt wird.
  • Wenn eine Ebene von ihrem Ersteller gelöscht wird, wird die Funktion so lange ausgeführt, wie die Version der Ebene vorhanden ist.

Erstellung einer Ebene

  • Befehl:

  • Zusammen mit dem Befehl werden Name, Beschreibung, ZIP-Archiv und eine Liste optionaler Laufzeiten verwendet, die mit dem Layer kompatibel sind.
  • Beispiel

  • Eine neue Version wird erstellt, wenn die Publish-Layer-Version jedes Mal aufgerufen wird.
  • Der Befehl, kompatible Layer mit der Laufzeit Ihrer Funktion zu finden, lautet:

  • Der Befehl zum Anzeigen aller Versionen einer Ebene lautet:

  • Der Befehl, um weitere Details zu einer Version abzurufen, lautet:

  • Der Befehl zum Löschen einer Ebenenversion lautet:

  • Funktionen können nicht für die Verwendung von Ebenenversionen konfiguriert werden, nachdem Sie sie gelöscht haben.

Einschließen von Bibliotheken in eine Ebene

Platzieren Sie die Bibliotheken in von der Laufzeit unterstützten Ordnern, um sie in eine Ebene aufzunehmen.

  • Java:

  • Python:

  • Rubin:

  • Alle:

Ebenenberechtigungen

  • Zum Konfigurieren einer Funktion in einer Ebene oder zum Verwenden einer Ebene in einem anderen Konto sind Benutzerrichtlinienberechtigungen des Eigentümers erforderlich.
  • Der Befehl zum Hinzufügen solcher Berechtigungen lautet:

  • Berechtigungen gelten für eine einzelne Version der Ebene.
  • Berechtigungen sollten jedes Mal erteilt werden, wenn Sie eine neue Ebenenversion erstellen.

Fazit

AWS Lambda bietet eine Cloud-native Plattform für ereignisgesteuerte Anwendungen mit kurzer Laufzeit und ohne Statusberechnung. Mit AWS Lambda-Layern können Sie Ihr Bereitstellungspaket klein halten und die Entwicklung vereinfachen. Außerdem hilft es, eine regelbasierte selbstverwaltete Infrastruktur mit weniger Fehlern und weniger Zeitaufwand aufzubauen.

Empfohlene Artikel

Dies ist eine Anleitung zu den AWS Lambda-Layern. Hier werden die verschiedenen Schichten von AWS Lambda erläutert, einschließlich Sicherheitsschichten, Überwachungsschichten und Anwendungsverwaltungsebenen sowie deren Konfigurationen. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Was ist AWS RedShift?
  2. AWS Kinesis
  3. AWS-Dienste
  4. Was ist AWS CloudFront?
  5. Die 9 nützlichsten Vergleiche von Erlang vs Haskell
  6. Wettbewerber von AWS mit Features