Come Utilizzare AWS API Gateway come Frontend per le Funzioni Lambda

0
200

API Gateway è un servizio completamente gestito per la costruzione, il collaudo e l’hosting di produzione di Api. Piuttosto che affittare un server EC2 e gestione del sistema di API server, Gateway API in grado di gestire per voi e ottimizzare l’intero processo.

Qual È il Gateway API?

API Gateway è essenzialmente un reverse proxy, il recupero dei dati da altri servizi e il ritorno in modo strutturato. Piuttosto che correre da soli, però, l’onere di gestire il traffico e l’infrastruttura è passati al AWS, che può avere fatto per molto meno.

Questo permette, in pratica, Gateway API di agire come una “porta di ingresso” per un sacco di altri servizi AWS. Per esempio, collegandolo ad AWS Lambda, si può costruire un backend di microservices senza l’utilizzo di alcun server EC2. La funzione Lambda può essere impostato per la connessione.

API Gateway fa un grande lavoro di base frontend per general purpose HTTP Api, ma è anche molto utile per la gestione complessiva della struttura e dello schema di Api REST. Quando la costruzione di Api REST, sei in grado di ben definire tutti i percorsi e metodi, e il collegamento a qualsiasi AWS servizio che si desidera.

API GateWay può anche essere utilizzato per gestire i WebSocket Api, che sono utilizzati per una rapida comunicazione in tempo reale con l’apertura di un collegamento diretto dal server al client.

Quanto costa il Gateway API di Costo?

Per generico HTTP Api, API Gateway semplicemente i costi di $1,00 per milioni di richieste, dopo che si superano i primi milioni di euro che vengono con il servizio Gratuito di Livello.

Per il RESTO le Api, il prezzo è superiore a $3,50 per milioni di richieste. Facoltativamente, è possibile anche scegliere di attivare la memorizzazione nella cache per il RESTO API, che permetterà di migliorare le prestazioni a costo di una tariffa oraria in base alla dimensione della cache.

Per WebSocket Api, il prezzo è un po ‘ diverso. Perché sono destinati a brevi messaggi dal server al client, sei solo costo di $1 per miliardi di richieste, 1000 è a buon mercato, a richiesta, come gli altri due. Tuttavia, è limitato a 128 KB payload, e siete accusati di $0,25 per milioni di connessione minuti. Se si hanno costantemente molti client connessi al WebSocket API, dovrete pagare per ciascuno di essi.

Una cosa da notare, però, è che, mentre non vi è alcuna tassa specifica per il trasferimento dei dati, HTTP Api sono misurati in 512 KB incrementi. Per esempio, una singola richiesta di API che ha restituito un 1.5 MB risposta sarebbe classificato come tre richieste di API. WebSocket Api sono fatturati in incrementi di 32 KB. Questo può facilmente raddoppiare il vostro Gateway API di costi se il payload sono particolarmente grandi.

Naturalmente, se si esegue la connessione a un altro AWS servizio, dovrete pagare tutti i costi associati con i servizi (come ad esempio le spese per la funzione Lambda invocazioni), così come i dati trasferimento di oneri per lo spostamento dei dati da AWS.

Impostazione di un HTTP API per la Connessione a Lambda

Mentre le Api REST di offrire più strumenti organizzativi per la gestione delle API stessa, sono molto più complicate, e costano un po ‘ di più per l’avvio. Invece, useremo la base, HTTP Api, che sono più facili da creare e gancio fino a Lambda.

Scegliere di costruire una “HTTP API” dal menu di creazione. La prima cosa che dovrete configurare è il tuo integrazioni; HTTP Api supportano HTTP endpoint e le funzioni Lambda. È possibile aggiungere più integrazioni, che può essere utile se si desidera avere un separato Lambda function handle ogni percorso di API.

A quel punto, potrai configurare i percorsi per le API. Questi possono essere messi in sub-Url del tipo /utenti, e chiamare diversi di integrazione degli obiettivi in base al metodo di un client si connette con. Per esempio, OTTENERE /messaggi potrebbe restituire un elenco di messaggi, ma il POST /messaggi possono caricare un nuovo messaggio.

Probabilmente si vorrà un modo per distinguere tra lo sviluppo e la produzione di Api. Sei in grado di creare più ambienti in forma di “Fasi”, che servono a questo scopo. Per impostazione predefinita, il $ambiente di default è automaticamente aggiornato con le eventuali modifiche e serve come la fase di sviluppo. Probabilmente si vorrà creare una “Produzione” stage che si possono usare per spingere le modifiche da $impostazione predefinita.

Dopo di che, l’API deve essere impostato e pronto per l’uso. In “Fasi” troverai l’invocazione URL per le API. Questo è legato alle API fase di distribuzione in sé, e rimane statico. Dovrebbe essere qualcosa come il seguente:

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

Se si desidera utilizzare questo con un nome di dominio personalizzato, dovrete generare un ACM certificato per il collegamento del Gateway API saldamente al vostro dominio e modificare la configurazione DNS per puntare il Gateway stesso. Se si utilizza Route 53, questo processo è semplificato un po’.

Sotto la “Autorizzazione” scheda, troverete le impostazioni per la configurazione delle API con JWT di autenticazione. Questo è attualmente l’unico metodo supportato con HTTP Api.