Wie Verwenden Sie AWS-API-Gateway als Frontend für Lambda-Funktionen

0
243

API-Gateway ist ein vollständig verwalteter service für Gebäude -, Prüf -, und hosting-Herstellung von APIs. Eher als die Anmietung einer EC2-server und verwalten Sie Ihre API-server sich selbst, API-Gateway können handle es für Sie und optimieren den gesamten Prozess.

Was Ist ein API-Gateway?

API-Gateway ist im wesentlichen ein reverse-proxy, abrufen von Daten von anderen Diensten und Rückgabe in einer strukturierten Art und Weise. Anstatt läuft es sich aber, die Last der Umgang mit dem Verkehr und Infrastruktur weitergereicht zu AWS, die können es für viel billiger.

Dies betrifft vor allem das API-Gateway als “Eingangstür” für viele andere AWS-services. Zum Beispiel, indem es mit AWS Lambda können Sie bauen eine backend microservices ohne EC2 Servern. Die Lambda-Funktion kann eingestellt werden, bis für die Verbindung.

API-Gateway macht einen guten job als basic-frontend für Allgemeine HTTP-APIs, aber es ist auch sehr nützlich für die Verwaltung der gesamten Struktur und das schema der REST-APIs. Beim Bau von REST-APIs, du bist in der Lage, um sauber zu definieren, werden alle Routen und Methoden, und verbinden Sie diese zu einem beliebigen AWS-service, den Sie wünschen.

API-GateWay kann auch verwendet werden, zu verwalten WebSocket-APIs, die verwendet werden, für die schnelle Kommunikation in Echtzeit durch die Eröffnung einer direkten Verbindung vom server zum client.

Wie Viel kostet ein API-Gateway, – Kosten?

Für die generischen HTTP-APIs, API-Gateway einfach kostet $1,00 pro million Anfragen, nachdem Sie mehr als die erste million, die Sie mit dem Free Tier.

Für REST-APIs, der Preis ist höher, bei $3,50 pro million Anfragen. Optional können Sie auch wählen, um die Zwischenspeicherung zu aktivieren für Ihre REST-API, die eine bessere Leistung auf Kosten einer stündlichen Gebühr basierend auf der Größe des cache.

Für WebSocket-APIs, die Preisgestaltung ist ein wenig anders. Denn Sie sind gedacht für kurze Nachrichten vom server zum client, du bist nur in Rechnung gestellt $1 pro Milliarde Anfragen, 1000 ist Billig pro Anfrage, wie die anderen beiden. Sie sind jedoch begrenzt auf 128 KB Nutzlasten, und Sie sind auch geladen $0,25 pro Mio, Verbindung Minuten. Wenn Sie konsequent haben viele Kunden angeschlossen, um die WebSocket-API, werden Sie die Zahlung für jeden von Ihnen.

Eine Sache zu beachten, obwohl, ist, dass, während es keine speziellen Gebühren für Daten-transfer, HTTP-APIs getaktet sind in 512 KB Schritten. Zum Beispiel, eine einzelne API-Anfrage, dass wieder ein 1,5 MB Reaktion wäre, berechnet als drei API-Anfragen. WebSocket-APIs, abgerechnet wird in 32 KB-Schritten. Diese können leicht verdoppeln Sie Ihre API-Gateway, – Kosten, wenn Ihre Nutzlasten sind besonders groß.

Natürlich, wenn Sie versuchen eine Verbindung zu einem anderen AWS-service, müssen Sie zahlen alle Kosten im Zusammenhang mit, dass die Leistungen (z.B. Gebühren für die Lambda-Funktion aufrufen), als auch die Daten-transfer-Kosten für das verschieben von Daten aus AWS.

Einrichten einer HTTP-API, um die Verbindung zu Lambda

Während REST-APIs bieten mehr organisatorische Werkzeuge für die Verwaltung der API selbst, Sie sind viel komplizierter, und Sie Kosten ein bisschen mehr zu Booten. Stattdessen verwenden wir die basic-HTTP-APIs, die sind einfacher zu erstellen und zu Haken bis zu Lambda.

Wählen Sie zum erstellen einer “HTTP-API” von der Schöpfung-Menü. Die erste Sache, die Sie müssen konfigurieren Sie Ihre Integrationen; HTTP-APIs Unterstützung von HTTP-Endpunkte und Lambda-Funktionen. Sie können mehrere Integrationen, die nützlich sein können, wenn Sie wollen, um einen separaten Lambda-Funktion behandeln jede route Ihre API.

Als Nächstes werden Sie die Routen konfigurieren, die für die API. Diese kann an der sub-URLs wie ” /Benutzer, den wird Sie nennen verschiedene integration-Ziele basierend auf der Methode, die ein client verbindet sich mit. Beispiel: GET /Nachrichten zurückkehren könnte eine Liste von Nachrichten, aber die POST /Nachrichten laden Sie eine neue Nachricht.

Sie werden wahrscheinlich wollen, eine Möglichkeit zu unterscheiden zwischen der Entwicklung und der Produktion von APIs. Sie sind in der Lage, erstellen Sie mehrere Umgebungen in form von “Stufen”, die diesem Zweck dienen. Standardmäßig wird der $default-Umgebung wird automatisch aktualisiert, mit änderungen und dient der Entwicklung. Sie werden wahrscheinlich wollen, um eine “Produktion” auf die Bühne, die Sie verwenden können, um push-änderungen von $default zu.

Nach, dass Ihre API eingerichtet und bereit für den Einsatz. Unter “Stufen” finden Sie die Aufruf-URL für Ihre API. Dies ist gebunden an die API der deployment-Phase selbst und bleiben statisch. Es sollte wie folgt Aussehen:

https://api_id.execute-api.us-east-1.amazonaws.com

Wenn Sie dies nutzen wollen, mit einem benutzerdefinierten domain-Namen, müssen Sie zum generieren eines ACM-Zertifikat auf den link API-Gateway sicher auf Ihre Domäne, und Bearbeiten Sie Ihre DNS-Konfiguration Punkt-zu-Gateway selbst. Wenn Sie mit Route 53, dieser Prozess wird gestrafft, ganz ein bisschen.

Unter “Authorization” Registerkarte finden Sie Einstellungen für die Konfiguration Ihres API mit JWT-Authentifizierung. Dies ist derzeit die einzige Methode, unterstützt mit HTTP-APIs.