Lambda-Aufrufmodi - Übersicht über die Sicherheit von AWS Lambda

Lambda-Aufrufmodi

Die Aufruf-API kann in zwei Modi aufgerufen werden: Ereignismodus und Request-Response-Modus.

  • Im Ereignismodus wird die Nutzlast für einen asynchronen Aufruf in die Warteschlange gestellt.

  • Der Request-Response-Modus ruft die Funktion synchron mit der bereitgestellten Nutzlast auf und gibt sofort eine Antwort zurück.

In beiden Fällen wird die Funktionsausführung immer in einer Lambda-Ausführungsumgebung ausgeführt, aber die Nutzlast nimmt unterschiedliche Pfade. Weitere Informationen finden Sie unter „Lambda-Ausführungsumgebungen“ in diesem Dokument.

Sie können auch andere AWS-Services verwenden, die in Ihrem Namen Aufrufe ausführen. Welcher Aufrufmodus verwendet wird, hängt davon ab, welchen AWS-Service Sie verwenden und wie er konfiguriert ist. Weitere Informationen zur Integration anderer AWS-Services in Lambda finden Sie unter Verwenden von AWS Lambda mit anderen Services.

Wenn Lambda einen Request-Response-Aufruf erhält, wird er direkt an den Aufrufservice übergeben. Wenn der Aufrufservice nicht verfügbar ist, können Aufrufende die Nutzlast vorübergehend clientseitig in eine Warteschlange stellen, um den Aufruf eine festgelegte Anzahl von Malen zu wiederholen. Wenn der Aufrufservice die Nutzlast empfängt, versucht der Dienst dann, eine verfügbare Ausführungsumgebung für die Anforderung zu identifizieren, und übergibt die Nutzlast an diese Ausführungsumgebung, um den Aufruf abzuschließen. Wenn keine vorhandenen oder geeigneten Ausführungsumgebungen vorhanden sind, wird eine dynamisch als Antwort auf die Anforderung erstellt. Während der Übertragung werden an den Aufrufservice gesendete Aufrufnutzlasten mit TLS 1.2+ gesichert. Der Datenverkehr innerhalb des Lambda-Service (von der Lastenverteilung abwärts) durchläuft eine isolierte interne virtuelle private Cloud (VPC), die dem Lambda-Service gehört, innerhalb der AWS-Region, an die die Anforderung gesendet wurde.

Ein Diagramm, das das Aufrufmodell für AWS LambdaRequest-Response zeigt.

Abbildung 2 – Aufrufmodell für AWS LambdaRequest-Response.

Nutzlasten des Ereignisaufruf-Modus werden vor dem Aufruf immer zur Verarbeitung in die Warteschlange gestellt. Alle Nutzlasten werden für die Verarbeitung von Amazon Simple Queue Service (Amazon SQS) in die Warteschlange gestellt. Ereignisse in der Warteschlange sind während der Übertragung immer mit TLS 1.2+ gesichert, aber sie werden derzeit im Speicher nicht verschlüsselt. Die von Lambda verwendeten Amazon SQS-Warteschlangen werden vom Lambda-Service verwaltet und sind für Sie als Kunde nicht sichtbar. Ereignisse in der Warteschlange können in einer gemeinsam genutzten Warteschlange gespeichert werden, können jedoch migriert oder dedizierten Warteschlangen zugewiesen werden, abhängig von einer Reihe von Faktoren, die nicht direkt von Kunden gesteuert werden können (z. B. Aufrufrate, Ereignisgröße usw.).

Ereignisse in der Warteschlange werden von der Poller-Flotte von Lambda stapelweise abgerufen. Die Poller-Flotte ist eine Gruppe von EC2-Instances, deren Zweck es ist, Ereignisaufrufe in der Warteschlange zu verarbeiten, die noch nicht verarbeitet wurden. Wenn die Poller-Flotte ein Ereignis aus der Warteschlange abruft, das sie verarbeiten muss, übergibt sie es an den Aufrufservice, genau wie ein Kunde es in einem Request-Response-Modus aufrufen würde.

Wenn der Aufruf nicht ausgeführt werden kann, speichert die Poller-Flotte das Ereignis vorübergehend im Speicher auf dem Host, bis sie entweder die Ausführung erfolgreich abschließen kann oder bis die Anzahl der Wiederholungsversuche überschritten wurde. In der Nutzlastflotte selbst werden niemals Nutzdaten auf die Festplatte geschrieben. Die Abfrageflotte kann über AWS-Kunden hinweg beauftragt werden, um die kürzeste Zeit bis zum Aufruf zu ermöglichen. Weitere Informationen darüber, welche Dienste den Ereignisaufrufmodus verwenden können, finden Sie unter Verwenden von AWS Lambda mit anderen Services.