Hur man Använder AWS API-Gateway som används av Lambda-Funktioner

0
371

API Gateway är en fullständigt hanterad tjänst för att bygga, testa och hosting produktion Api: er. Snarare än att hyra en EC2-server och hantera din API-server själv, API Gateway kan hantera det för dig och effektivisera hela processen.

Vad Är API-Gateway?

API-Gateway är i huvudsak en reverse proxy för att hämta data från andra tjänster och tillbaka på ett strukturerat sätt. I stället för att köra det själv men, bördan av att hantera den trafik och infrastruktur som skickas iväg till AWS, som kan få det gjort för mycket billigare.

Detta ger grunden API-Gateway att agera som en “dörr” för en massa andra AWS tjänster. Till exempel, genom att ansluta den till AWS Lambda, du kan bygga en backend av microservices utan att använda någon EC2 servrar. Lambda-funktionen kan ställas in för anslutning.

API Gateway gör ett bra jobb som en grundläggande skal för allmänna ändamål, HTTP-Api: er, men det är också mycket användbart för att hantera den övergripande struktur och schema för RESTEN Api: er. När byggnaden REST Api: er kan du snyggt definiera alla vägar och metoder, och anslut dem till någon AWS service du önskar.

API-Porten kan också användas för att hantera WebSocket-Api: er som används för snabb kommunikation i realtid genom att öppna en direkt anslutning från server till klient.

Hur Mycket kostar API-Gateway Kostnad?

För generiska HTTP Programmeringsgränssnitt, API Gateway helt enkelt kostar $1.00 per miljon förfrågningar, efter att du överskrider den första miljoner på att komma med Gratis Nivå.

För REST Api: er, priset är högre på $3,50 per miljoner förfrågningar. Du kan även välja att aktivera cachning för din REST API, vilket kommer att förbättra prestanda på bekostnad av en timavgift baserat på storleken av din cache.

För WebSocket-Api: er, priset är lite olika. Eftersom de är avsedda för korta meddelanden från server till klient, du betalar endast $1 per miljarder förfrågningar, 1000 är billiga per begäran som de andra två. Dock, så är du begränsad till 128 KB nyttolast, och du är också ansvarig för $0,25 per miljoner anslutning minuter. Om du konsekvent har många klienter som är anslutna till WebSocket API, kommer du att betala för var och en av dem.

En sak att notera är dock att medan det finns inga särskilda avgifter för dataöverföring, HTTP-Api: er är uppmätt i 512 KB steg. Till exempel, ett enda API-förfrågan som returnerar en 1,5 MB svar skulle faktureras tre API-förfrågningar. WebSocket-Api: er faktureras i steg om 32 KB. Detta kan lätt dubbla din API-Gateway-kostnader om lasten är särskilt stor.

Naturligtvis, om du ansluter till en annan AWS service, du måste betala alla kostnader i samband med att tjänster (såsom avgifter för Lambda funktion åkallelse) samt avgifter för dataöverföring för att flytta data från AWS.

Att sätta Upp en HTTP-API för att Ansluta till Lambda

Medan RESTEN Api: er erbjuder mer organisatoriska verktyg för att hantera API sig själv, de är mycket mer komplicerat, och de kostar en hel del mer för att starta. I stället ska vi använda grundläggande HTTP-Api: er, vilket är lättare att skapa och krok upp till Lambda.

Väljer att bygga en “HTTP-API” från skapa-menyn. Det första du måste konfigurera din integrationer; HTTP Api har stöd för HTTP-slutpunkter och Lambda-funktioner. Du kan lägga till flera integrationer, vilket kan vara användbart om du vill ha en separat Lambda-funktionen hanterar varje rutt i din API.

Nästa, du kommer att konfigurera de rutter för API. Dessa kan sättas på sub-Url: er som användare och kommer att ringa olika integration mål som baseras på den metod som en kund kommer i kontakt med. Till exempel, FÅ /meddelanden kan returnera en lista med meddelanden, men INLÄGG /meddelanden kan ladda upp ett nytt meddelande.

Du vill förmodligen ett sätt att skilja mellan utveckling och produktion Api: er. Du kan skapa flera miljöer i form av “Steg”, som kommer att tjäna detta syfte. Som standard, $standard miljön är automatiskt uppdaterad med eventuella ändringar och fungerar som en utvecklings-stadium. Du vill förmodligen för att skapa en “Produktion” – steget som du kan använda för att driva förändringar från $standard.

Efter att din API bör ställas upp och är klar för användning. Under “Steg” kan du hitta åkallan URL för din API. Detta är knutna till API distribution av scenen själv, och kommer att förbli statisk. Det bör se ut ungefär som följande:

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

Om du vill använda den här med ett eget domännamn, kommer du att generera en ACM certifikat för att länka API Gateway säkert att din domän, och redigera dina DNS-konfiguration för att peka till den Gateway själv. Om du använder Route 53, här processen effektiviseras en hel del.

Under “Tillstånd” – fliken, du hittar inställningarna för att konfigurera ditt API med JWT-autentisering. Detta är för närvarande den enda metod som stöds med HTTP-Api: er.