Hoe te Gebruiken AWS API Gateway als een Frontend voor Lambda-Functies

0
180

API Gateway is een volledig beheerde dienst voor de bouw, testen, en de hosting van de productie van Api ‘ s. In plaats van huren van een EC2 server en het beheer van uw API-server zelf, API Gateway kan het voor u en stroomlijnen het hele proces.

Wat Is API Gateway?

API Gateway is in wezen een omgekeerde proxy, het ophalen van gegevens uit andere diensten en terug op een gestructureerde manier. In plaats van het zelf al, de last van de afhandeling van het verkeer en de infrastructuur is doorgegeven uit AWS, die het gedaan te krijgen voor veel minder geld.

Dit in principe kun API Gateway om te fungeren als een “voordeur” voor een heleboel andere AWS diensten. Bijvoorbeeld door het te verbinden met AWS Lambda, u kunt bouwen aan een backend van microservices zonder gebruik van een EC2-servers. De Lambda-functie kan worden ingesteld voor verbinding.

API Gateway heeft een geweldige job als een basic-frontend voor algemene doeleinden HTTP-Api ‘s, maar het is ook erg handig voor het beheer van de algemene structuur en het schema van REST Api’ s. Bij het bouwen van REST Api ‘ s, je bent in staat om netjes alle definiëren van de routes en methoden, en sluit deze tot een AWS service die u wenst.

API GateWay kan ook worden gebruikt voor het beheren van WebSocket-Api ‘ s die worden gebruikt voor een snelle real-time communicatie door het openen van een directe verbinding van de server naar de client.

Hoeveel kost API Gateway Kosten?

Voor generieke HTTP-Api ‘ s, API Gateway gewoon kosten € 1,00 per miljoen aanvragen, nadat u meer dan een miljoen met de Gratis Tier.

Voor de REST Api ‘ s, de prijs is hoger op $3,50 per miljoen aanvragen. Optioneel kunt u ook kiezen voor opslaan in cache inschakelen voor uw REST-API, die een verbetering van de prestaties op de kosten van een uurtarief gebaseerd op de grootte van de cache.

Voor WebSocket-Api ‘ s, prijzen is een beetje anders. Omdat ze zijn bedoeld voor korte berichten van de server naar de client, bent u slechts een toeslag van $1 per miljard verzoeken, 1000 is goedkoper per aanvraag als de andere twee. Echter, je bent beperkt tot 128 KB payloads, en je bent ook een toeslag van $0,25 per miljoen verbinding minuten. Als u consequent hebben veel klanten aangesloten op het WebSocket-API, zul je moeten betalen voor elk van hen.

Een ding om op te merken is echter dat hoewel er geen specifieke heffing voor data-overdracht, HTTP-Api ‘ s zijn gemeten in 512 KB stappen. Bijvoorbeeld, een enkele API verzoek die terug een 1.5 MB reactie zou zijn gefactureerd als drie API-verzoeken. WebSocket-Api ‘ s worden gefactureerd, in stappen van 32 KB. Dit kan gemakkelijk het dubbele van uw API Gateway kosten als uw payloads zijn bijzonder groot.

Natuurlijk, als je een verbinding met een andere AWS dienst, dan betaalt u alle kosten van die diensten (zoals kosten voor Lambda functie aanroepen) evenals de kosten voor gegevensoverdracht voor het verplaatsen van gegevens uit AWS.

Het opzetten van een HTTP-API om Verbinding te maken met Lambda

Terwijl de REST Api ‘ s bieden meer organisatorische hulpmiddelen voor het beheren van de API zelf, ze zijn een stuk ingewikkelder, en ze kosten een beetje meer op te starten. In plaats daarvan gebruiken we de basic HTTP-Api ‘ s, die zijn gemakkelijker te maken en hook up-to-Lambda.

Kies voor de opbouw van een “HTTP-API” van de schepping-menu. Het eerste ding dat u zult moeten configureren is uw integraties; HTTP Api ‘ s ondersteuning voor HTTP-en eindpunten van de Lambda functie. U kunt meerdere integraties, wat handig kan zijn als je wilt hebben een aparte Lambda functie handvat elke route van uw API.

De volgende stap is het configureren van de routes voor de API. Deze kan worden gelegd op sub-Url ‘ s zoals /gebruikers, en zal de oproep van verschillende integratie doelstellingen, gebaseerd op de methode een client verbinding maakt met. Bijvoorbeeld, /berichten terug zou keren een lijst van de berichten, maar POST /berichten kunnen uploaden in een nieuw bericht.

Wilt u waarschijnlijk ook een manier om onderscheid te maken tussen de ontwikkeling en de productie van Api ‘ s. Je bent in staat om meerdere omgevingen in de vorm van “Fasen”, die zal dienen dit doel. Standaard is de $standaard omgeving wordt automatisch bijgewerkt met alle wijzigingen en dient als de fase van ontwikkeling. U zult waarschijnlijk willen maken van een “Productie” – fase die u kunt gebruiken om te duwen verandert van $standaard.

Na dat, je API moet worden ingesteld en klaar voor gebruik. Onder “Fasen” vind je de URL aanroep voor uw API. Dit is gebonden aan de API implementatie fase, en wordt statisch blijven. Het moet er als volgt uitzien:

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

Als u gebruik wilt maken met een aangepaste domeinnaam, moet u het genereren van een ACM-certificaat te koppelen API Gateway stevig aan uw domein en bewerken van uw DNS-configuratie om te verwijzen naar de Gateway zelf. Als u de Route 53, dit proces is gestroomlijnd wel een beetje.

Onder de “Vergunning” tab, u vindt instellingen voor het configureren van uw API met JWT verificatie. Dit is momenteel de enige methode die wordt ondersteund met HTTP-Api ‘ s.