Amazon API Gateway è un servizio completamente gestito che semplifica agli sviluppatori la pubblicazione, la manutenzione, il monitoraggio, la protezione e l'esecuzione delle API su qualsiasi scala. Si tratta di un servizio con tariffazione basata sull'uso effettivo che si prende carico delle onerose attività generiche correlate all'esecuzione di API sicure e affidabili su larga scala.

Con l'enorme diffusione di dispositivi mobili e la nascita dell'Internet of Things (IoT), è diventato sempre più comune rendere i dati e i sistemi back-end accessibili alle applicazioni tramite le API. Inoltre, poiché moltissime applicazioni utilizzano le API e le community di sviluppatori vi fanno sempre più affidamento, lo sviluppo e la gestione delle API sono diventate attività molto frequenti. Per rendere ancora più semplice l'uso di queste API, API Gateway può generare SDK client per diversi linguaggi, inclusi JavaScript, iOS e Android.

Supporto per le API RESTful e WebSocket

Con API Gateway, è possibile creare API RESTful utilizzando API HTTP o API REST. Le API HTTP sono il modo migliore per creare API che non richiedono funzioni di gestione delle API. Le API HTTP sono ottimizzate per carichi di lavoro serverless e backend HTTP: offrono fino al 71% dei risparmi e il 60% di riduzione della latenza rispetto alle API REST dal gateway API. Per i carichi di lavoro che richiedono funzionalità proxy API e funzioni di gestione delle API in una sola soluzione, come piani di utilizzo e chiavi API, il gateway API offre API REST. Per vedere una comparazione delle funzionalità supportate per API HTTP e API REST, consulta la nostra documentazione. Per creare applicazioni di comunicazione bidirezionale in tempo reale, ad esempio app per chat e dashboard di streaming, utilizza le API WebSocket. Per ulteriori informazioni sulle API RESTful e WebSocket di API Gateway, consulta la nostra pagina delle domande frequenti.

Integrazioni private con AWS ELB e AWS Cloud Map

Con API Gateway, puoi instradare le richieste verso risorse private nel tuo VPC. Con le API HTTP puoi creare API per servizi che fungono da base per gli ALB privati, i NLB privati e i servizi basati sull'indirizzo IP registrati su AWS Cloud Map, come le attività ECS.

Resilienza

API Gateway aiuta a gestire il traffico verso i sistemi back-end consentendo l'impostazione di regole di throttling basate sul numero di richieste al secondo per ciascun metodo HTTP nelle API. API Gateway è in grado di gestire qualsiasi livello di traffico ricevuto da un'API, permettendoti di concentrarti su servizi e logica di business invece di doverti preoccupare della manutenzione dell'infrastruttura. Se si utilizzano delle API REST, è possibile inoltre impostare una cache con chiavi personalizzabili e scadenze nell'ordine di secondi per i dati delle API, in modo che non appesantiscano i servizi di back-end a ogni richiesta.

Semplice creazione e distribuzione di API

Con API Gateway è possibile creare un'API personalizzata per il codice in esecuzione su AWS Lambda in modo semplice e veloce, per poi effettuare la chiamata al codice Lambda dall'API. API Gateway è in grado di eseguire il codice AWS Lambda nel tuo account, avviare macchine a stati di AWS Step Functions ed effettuare chiamate ad AWS Elastic Beanstalk, Amazon EC2 o altri servizi Web esterni ad AWS tramite endpoint HTTP accessibili pubblicamente. Tramite la console di API Gateway, puoi definire le API REST con le risorse e i metodi associati, gestire il ciclo di vita delle API, generare SDK client e visualizzare i parametri delle API.

Monitoraggio delle attività delle API

Dopo che un'API viene distribuita e utilizzata, API Gateway fornisce un pannello di controllo per monitorare visivamente le chiamate ai servizi. La console di API Gateway è integrata con Amazon CloudWatch, che consente di ottenere i parametri di prestazione del back-end quali chiamate API, latenza e percentuali di errore. Poiché API Gateway usa CloudWatch per salvare le informazioni di monitoraggio, potrai anche impostare allarmi personalizzati sulle API di API Gateway. Per facilitare la correzione degli errori, infine, API Gateway può registrare gli errori di esecuzione delle API in CloudWatch Logs.

Autorizzazione AWS

Per autorizzare e verificare le richieste API ai servizi AWS, API Gateway consente di sfruttare la versione 4 per API REST e WebSocket. Con l'autenticazione tramite protocollo di firma versione 4, potrai usare AWS Identity and Access Management (IAM) e modificare le policy in modo da autorizzare l'accesso alle API e a tutte le altre risorse AWS. È anche possibile verificare e autorizzare token di connessione quali token JWT o asserzioni SAML utilizzando funzioni AWS Lambda.

Chiavi API per sviluppatori di terze parti

Se utilizzi delle API REST, API Gateway ti consente di gestire un ecosistema di sviluppatori di terze parti a cui è consentito accedere alle tue API. È possibile creare chiavi API su API Gateway, impostare autorizzazioni di accesso granulari su ciascuna chiave e distribuirle agli sviluppatori di terze parti in modo che accedano alle API. Inoltre, è possibile definire piani che applichino limitazioni e quote massime di richieste per ciascuna chiave API. L'uso delle chiavi API è facoltativo e deve essere abilitato a livello di metodo.

Generazione di kit SDK

Se si utilizzano API REST, API Gateway consente di generare kit SDK client per una serie di piattaforme, da usare per eseguire il testing di nuove API dalle applicazioni e da distribuire agli sviluppatori di terze parti. I kit SDK generati possono impiegare chiavi API e richieste di firma tramite le credenziali AWS. API Gateway può generare SDK client per Java, JavaScript, Java per Android, Objective-C o Swift per iOS e Ruby. Puoi usare AWS CLI per generare e scaricare un SDK di un'API per una piattaforma supportata con il comando get-sdk.

Gestione del ciclo di vita delle API

Se si utilizzano API REST, API Gateway consente di eseguire simultaneamente diverse versioni della stessa API, così le applicazioni potranno continuare a effettuare richieste per le versioni precedenti anche dopo la pubblicazione di versioni più recenti. API Gateway aiuta inoltre a gestire le diverse fasi di rilascio di ciascuna versione dell'API, ad esempio alfa, beta e produzione. Ciascuna fase di un'API può essere configurata in modo da interagire con diversi endpoint del back-end in base all'impostazione dell'API. Le singole fasi e versioni di un'API possono essere associate a un nome di dominio personalizzato e gestite tramite API Gateway. La gestione di fasi e versioni consente di eseguire il testing di nuove versioni dell'API in modo semplice, aggiungendo nuove funzionalità o migliorando quelle esistenti, e assicura la retrocompatibilità anche durante la transizione all'adozione della versione più recente da parte della community.