Domande generali

D: Cos'è Amazon API Gateway?

Amazon API Gateway è un servizio completamente gestito che semplifica agli sviluppatori la pubblicazione, la manutenzione, il monitoraggio e la protezione delle API su qualsiasi scala. Bastano pochi clic sulla Console di gestione AWS per creare un'API che agisca come porta d'entrata attraverso la quale le applicazioni possono accedere a dati, logica di business o funzionalità dei servizi di back-end, ad esempio le applicazioni in esecuzione su Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) o AWS Elastic Beanstalk, il codice in esecuzione su AWS Lambda o le applicazioni Web. Amazon API Gateway gestisce tutte le attività di accettazione ed elaborazione relative a centinaia di migliaia di chiamate API simultanee, inclusi gestione del traffico, controllo di accessi e autorizzazioni, monitoraggio e gestione delle versioni delle API. Amazon API Gateway non prevede alcuna tariffa minima né investimenti iniziali. Con le API HTTP e le API REST, vengono addebitati solo i costi delle chiamate API in ricezione e dei dati trasferiti in uscita. Per le API WebSocket, paghi solamente per i messaggi inviati e ricevuti e per il tempo in cui un utente/dispositivo è collegato all'API WebSocket.

D: Perché usare Amazon API Gateway?

Amazon API Gateway fornisce agli sviluppatori un servizio semplice, flessibile, completamente gestito e con tariffazione in base al consumo che si fa carico di tutti gli aspetti legati a creazione e funzionamento di API stabili per back-end di applicazioni. Con il gateway API puoi avviare nuovi servizi più rapidamente e con meno investimenti e quindi concentrarti maggiormente sullo sviluppo dei servizi essenziali della tua attività. API Gateway è stato creato per semplificare la creazione e la gestione di molteplici aspetti delle API:

1) Misurazione. : API Gateway aiuta a definire piani di utilizzo con cui monitorare e limitare l'accesso di sviluppatori di terze parti alle API. Puoi definire un insieme di piani di utilizzo o configurare il throttling e le quote per ogni singola chiave API. API Gateway monitora automaticamente il traffico verso le tue API e consente di estrarre dati di utilizzo per ciascuna chiave API.

2) Sicurezza. : API Gateway fornisce diversi strumenti per regolare gli accessi autorizzati alle API e controllare gli accessi alle operazioni dei servizi. API Gateway consente di sfruttare gli strumenti di sicurezza e amministrazione di AWS quali AWS Identity and Access Management (IAM) e Amazon Cognito per autorizzare gli accessi alle API. API Gateway verifica a tuo nome le chiamate API con firma utilizzando lo stesso metodo che AWS impiega per le proprie API. Utilizzando protocolli di autorizzazione personalizzati come funzioni AWS Lambda, API Gateway può anche semplificare la verifica dei token di connessione in entrata, sollevando il codice del back-end dal carico delle autorizzazioni.

3) Resilienza. Il gateway API facilita la gestione del traffico mediante il throttling, che consente ai sistemi back-end di affrontare i picchi di traffico. API Gateway, inoltre, consente di migliorare le prestazioni delle API e la latenza percepita dagli utenti finali memorizzando nella cache l'output delle chiamate API per evitare che venga contattato il back-end ogni volta.

4) Monitoraggio. : quando un'API è stata pubblicata e viene utilizzata dagli utenti, API Gateway fornisce un pannello di controllo con i parametri che consentono di monitorare le chiamate ai servizi. Il pannello di controllo di API Gateway, grazie all'interazione con Amazon CloudWatch, offre i parametri di prestazioni del back-end relativi a chiamate API, latenza e percentuali di errore. È possibile abilitare parametri per ogni metodo all'interno delle API, ottenendo anche log di errori, accessi e debug in CloudWatch Logs.

5) Gestione del ciclo di vita. : dopo la pubblicazione di un'API, spesso è necessario crearne e testarne nuove versioni in cui sono state aggiunte o migliorate determinate funzionalità. API Gateway consente di avviare diverse versioni dell'API e diverse fasi di sviluppo per ciascuna versione in modo simultaneo, così le applicazioni esistenti possono inviare chiamate alle versioni precedenti anche dopo la pubblicazione delle nuove versioni.

6) Progettato per gli sviluppatori. API Gateway consente di creare API in modo rapido, assegnando loro contenuti statici per le risposte, in modo da ridurre il lavoro di sviluppo distribuito su più team e il time-to-market delle applicazioni. I team che dipendono dalle API possono iniziare lo sviluppo già durante la realizzazione dei processi di back-end.

7) Comunicazione bidirezionale in tempo reale. Crea applicazioni di comunicazione bidirezionale in tempo reale, come applicazioni chat e pannelli di controllo streaming e notifiche senza dover eseguire o gestire alcun server. API Gateway mantiene una continua connessione tra gli utenti connessi e consente il trasferimento di messaggi tra loro.

D: Quali tipi di API sono supportati da Amazon API Gateway?

Amazon API Gateway offre due opzioni per creare API RESTful, API HTTP e API REST, nonché un'opzione per creare API WebSocket.

API HTTP: le API HTTP sono ottimizzate per costruire API che eseguono il proxy sulle funzioni AWS Lambda o back-end HTTP e sono quindi le più indicate per carichi di lavoro serverless. Al momento, non offrono funzionalità di gestione delle API.

API REST: le API REST offrono la funzionalità proxy API e le funzionalità di gestione in un’unica soluzione. Le API REST offrono funzionalità di gestione delle API quali piani di utilizzo, chiavi delle API, pubblicazione e monetizzazione delle API.

API WebSocket: le API WebSocket mantengono una connessione continua tra i client connessi per consentire la comunicazione di messaggi in tempo reale. Con le API WebSocket nel gateway API, è possibile definire le integrazioni di back-end attraverso funzioni AWS Lambda, Amazon Kinesis o qualsiasi endpoint HTTP che venga richiamato quando i client connessi ricevono i messaggi.

Come si inizia a utilizzare le API HTTP in API Gateway?

Per cominciare a utilizzare le API HTTP, puoi usare la console di Amazon API Gateway, l’interfaccia a riga di comando AWS, le SDK AWS o AWS CloudFormation. Per ulteriori informazioni su come iniziare con le API HTTP, consulta la nostra documentazione.

D: Come si inizia a usare le API REST in Amazon API Gateway?

Per cominciare a utilizzare le API REST, puoi usare la console di Amazon API Gateway, l’interfaccia a riga di comando AWS o le SDK AWS. Per ulteriori informazioni su come iniziare con le API REST, consulta la nostra documentazione.

D: Quando creo delle API RESTful, quando dovrei utilizzare le API HTTP e quando dovrei utilizzare le API REST?

Puoi costruire API RESTful utilizzando sia API HTTP che API REST in Amazon API Gateway.

Le API HTTP sono ottimizzate per costruire API che eseguono il proxy sulle funzioni Lambda o back-end HTTP: per questo motivo, sono le più indicate per carichi di lavoro serverless. Le API HTTP sono un’alternativa più rapida e conveniente delle API REST, ma non supportano funzionalità di gestione API al momento. Le API REST sono pensate per API che richiedono funzionalità proxy e di gestione delle API riunite in un’unica soluzione.

Le API HTTP sono ideali per:

  1. Costruire API proxy per AWS Lambda o qualsiasi endpoint HTTP
  2. Costruire API moderne corredate di sistemi di autenticazione OIDC e OAuth 2. 
  3. Carichi di lavoro che si prevede assumano enormi dimensioni
  4. API per carichi di lavoro sensibili alla latenza
 
Le API REST sono ideali per:
 
  1. Clienti che desiderano pagare un’unica tariffa per un gruppo tutto incluso di funzionalità necessarie per costruire, gestire e pubblicare le proprie API. 

D: Quali sono le funzionalità standard delle API HTTP in API Gateway?

Le API HTTP offrono funzionalità standard quali supporto CORS, sistemi di autenticazione e autorizzazione OIDC e OAuth2 e distribuzioni automatiche per fasi.

D: Posso importare una definizione OpenAPI per creare un’API HTTP?

Sì, è possibile importare una definizione API utilizzando OpenAPI 3. Ciò ti permetterà di creare route, integrazioni e modelli API. Per ulteriori informazioni su come importare le definizioni OpenAPI, consulta la nostra documentazione.

D: Come posso migrare la mia API REST attuale su un’API HTTP?

Per migrare la tua API REST attuale su un’API HTTP in Amazon API Gateway, segui i seguenti passaggi:

  1. Controlla che tutte le funzionalità di cui hai bisogno siano disponibili in HTTP. Per una lista completa delle funzionalità, consulta la nostra documentazione
  2. Vai sulla tua API REST ed esporta la definizione OpenAPI dalla stessa
  3. Vai sulla tua API HTTP e importa la definizione OpenAPI ottenuta tramite il passaggio precedente
  4. Testa che le funzioni dell’API funzioni come previsto
  5. Aggiorna i tuoi client con il nuovo URL

Sebbene le tue API possano funzionare, potrai notare alcune funzionalità mancanti. Per identificare qualsiasi funzionalità mancante, rivedi i campi Info, Warning ed Error relativi all’operazione di importazione. Per ulteriori informazioni su come migrare API REST su API HTTP, consulta la nostra documentazione.

D: Come posso sapere se la mia API REST attuale funzionerà come un’API HTTP?

Innanzitutto, vai sulla tua API REST ed esporta la definizione OpenAPI dalla stessa Quindi, vai sulla tua API HTTP e importa la definizione OpenAPI ottenuta tramite il passaggio precedente Sebbene le tue API possano funzionare, potrai notare alcune funzionalità mancanti. Per identificare qualsiasi funzionalità mancante, rivedi i campi Info, Warning ed Error relativi all’operazione di importazione. L’interfaccia a riga di comando di AWS ti permetterà di visualizzare le informazioni relative alla tua API presenti nei campi Info e Warning. Per ulteriori informazioni, consulta la documentazione.

D: Come si inizia a usare le API WebSocket in Amazon API Gateway?

Per iniziare, puoi creare o aggiornare un'API WebSocket utilizzando la console di gestione AWS, la CLI AWS o gli SDK AWS. È possibile quindi impostare l'instradamento WebSocket per indicare i servizi di back-end come AWS Lambda, Amazon Kinesis o l'endpoint HTTP da richiamare in base al contenuto del messaggio. Consulta la documentazioneper iniziare con le API WebSocket in API Gateway.

D: È possibile creare endpoint HTTPS?

Sì, tutte le API create con Amazon API Gateway si collegano solo a endpoint HTTPS. Amazon API Gateway non supporta gli endpoint non crittografati (HTTP). Di default, Amazon API Gateway assegna un dominio interno alle API che utilizzano automaticamente il certificato di Amazon API Gateway. Quando le API vengono configurate per funzionare con un nome di dominio personalizzato, è possibile fornire il proprio certificato per il dominio.

D: Quali tipi di dati è possibile usare con Amazon API Gateway?

Le API create su Amazon API Gateway accettano qualsiasi payload inviato tramite API HTTP, REST e WebSocket. I formati di dati più comuni sono JSON, XML, parametri della stringa di query e intestazioni delle richieste. È possibile dichiarare qualsiasi tipo di contenuto per le risposte delle API, utilizzando quindi modelli di trasformazione per convertire la risposta del back-end nel formato desiderato.

D: Con quali back-end può comunicare Amazon API Gateway?

Amazon API Gateway può eseguire le funzioni AWS Lambda presenti nell'account, avviare le macchine a stati AWS Step Functions o generare chiamate verso endpoint HTTP ospitati su AWS Elastic Beanstalk, Amazon EC2 e sistemi basati su HTTP non ospitati su AWS accessibili tramite la rete Internet pubblica, L'API Gateway consente inoltre di specificare un modello di mappatura per generare un contenuto statico da restituire, permettendoti di simulare il funzionamento delle API prima che il back-end sia pronto. È anche possibile integrare API Gateway direttamente con altri servizi AWS; ad esempio è possibile richiamare un metodo API in API Gateway che invii dati direttamente ad Amazon Kinesis.

D: Per quali piattaforme client Amazon API Gateway crea kit SDK?

API Gateway genera kit SDK personalizzati per lo sviluppo di app mobili con Android e iOS (Swift e Objective-C) e di app Web con JavaScript. API Gateway supporta inoltre la generazione di SDK per Ruby e Java. Una volta definite le API e i relativi modelli in API Gateway, è possibile usare la console di AWS o le API di API Gateway per generare e scaricare un kit SDK client. Gli SDK del client sono solo generati per le API REST in Amazon API Gateway.

D: In quali regioni AWS è disponibile Amazon API Gateway?

Per scoprire in quali regioni le API HTTP, REST e WebSocket sono disponibili, consulta la tabella delle regioni AWS qui.

D: Cosa è possibile gestire usando la console di Amazon API Gateway?

Tramite la console di Amazon API Gateway è possibile definire le API REST e i relativi metodi e risorse associati, gestire il ciclo di vita delle API, generare kit SDK client e visualizzare i parametri delle API. È anche possibile usare la console di API Gateway per definire i piani di utilizzo delle API, gestire le chiavi API degli sviluppatori e definire throttling e quote. Le stesse azioni sono disponibili tramite le API di API Gateway.

D: Cos'è una risorsa?

Una risorsa è un oggetto con tipo che fa parte del dominio dell'API. A ciascuna risorsa può essere associato un modello di dati e una relazione ad altre risorse, e può rispondere a diversi metodi. Inoltre, è possibile definire risorse come variabili per intercettare le richieste provenienti da diverse risorse figlio.

D: Cos'è un metodo?

Ogni risorsa in un'API REST può supportare uno o più metodi HTTP standard. Puoi definire quali verbi saranno supportati per ciascuna risorsa (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) con le relative implementazioni. Ad esempio, un verbo GET associato alla risorsa "cars" restituisce un elenco di automobili. Per connettere tutti i metodi all'interno di una risorsa a un singolo endpoint di back-end, API Gateway supporta inoltre il metodo speciale "ANY".

D: Cos'è un piano di utilizzo?

I piani di utilizzo aiutano a restringere l'accesso degli sviluppatori di terze parti a solo determinate API, definiscono la limitazione e richiedono i limiti di quota e li associano alle chiavi API. Puoi anche estrarre i dati di utilizzo in base alla chiave API per analizzare l'utilizzo dell'API e generare documenti di fatturazione. Ad esempio, puoi creare un piano di utilizzo di base, uno per professionisti e uno per aziende, puoi configurare il piano di utilizzo di base affinché consenta fino a 1.000 richieste al giorno e fino a 5 richieste al secondo.

D: Qual è il ciclo di vita di un'API di Amazon API Gateway?

Con Amazon API Gateway, ogni API REST può attraversare diverse fasi di sviluppo. Le fasi di sviluppo semplificano il ciclo di vita dello sviluppo di un'API; ad esempio, dopo aver creato le API e averle distribuite nella fase di "sviluppo", oppure quando sono pronte per la produzione, è possibile distribuirle nella fase di "produzione".

D: Cos'è una fase?

In Amazon API Gateway, le fasi sono simili a tag. Definiscono il percorso lungo il quale è possibile accedere allo sviluppo. Ad esempio è possibile definire una fase di sviluppo e distribuirvi l'API "cars" relativa alle automobili. La risorsa sarà accessibile all'indirizzo https://www.myapi.com/dev/cars. È anche possibile impostare nomi di dominio personalizzati per reindirizzare direttamente a una fase specifica, per non dover utilizzare ulteriori parametri nel percorso. Se ad esempio il sito lemieapi.com porta direttamente nella fase di sviluppo, per accedere alla risorsa "cars" è sufficiente visitare https://www.myapi.com/cars.. Per configurare le fasi, è possibile impiegare variabili a cui accedere dalla configurazione dell'API o da modelli di mappatura.

D: Cosa sono le variabili di una fase?

Le variabili di una fase consentono di definire le coppie chiave-valore dei valori di configurazione associati con una fase. Questi valori, analogamente a quanto avviene per le variabili ambientali, possono essere utilizzati nella configurazione dell'API. Ad esempio, è possibile definire l'endpoint HTTP per l'integrazione di un metodo come variabile di una fase e utilizzare la variabile nella configurazione dell'API, evitando di intervenire nel codice dell'endpoint; in questo modo potrai usare un diverso endpoint per ciascuna fase (ad esempio fase di sviluppo, beta e produzione) con la stessa configurazione API. È possibile accedere alle variabili di una fase anche tramite i modelli di mappatura, e possono essere usate per inoltrare parametri di configurazione a back-end Lambda o HTTP.

D: Cos'è una Resource policy?

Una Resource Policy è un documento di policy JSON che si allega a un'API per controllare se un determinato responsabile (solitamente un utente o un ruolo IAM) può invocare l'API. Puoi usare una Resource Policy per consentire agli utenti di un altro account AWS di accedere in sicurezza alla tua API o per consentire all'API di essere invocata solo da uno specifico intervallo di indirizzi IP o blocchi CIDR sorgenti. Le politiche delle risorse possono essere utilizzate con le API REST in Amazon API Gateway.

D: Cosa accade se un'API viene distribuita nella fase di sviluppo sbagliata?

Amazon API Gateway salva uno storico delle distribuzioni. Usando le API o la console di Amazon API Gateway, è possibile riportare a una fase differente una distribuzione già completata.

D: È possibile usare definizioni API Swagger?

Sì. Puoi usare il nostro Strumento di importazione Swagger open source per importare le definizioni delle API di Swagger in Amazon API Gateway. Con lo strumento di importazione Swagger puoi creare e distribuire nuove API e aggiornare quelle esistenti.

D: In che modo posso monetizzare le API sull'API Gateway?

Per monetizzare le API in API Gateway, è possibile pubblicarle come prodotti in AWS Marketplace. Sarà prima necessario registrarsi come venditore in AWS Marketplace, inviando i propri piani di utilizzo su API Gateway come prodotti. Leggi questa pagina per ulteriori informazioni sulla monetizzazione delle API.

D: In che modo è possibile documentare un'API in Amazon API Gateway?

API Gateway offre la possibilità di creare, aggiornare ed eliminare la documentazione associata a ciascuna porzione dell'API, ad esempio metodi e risorse. Puoi accedere alle API relative alla documentazione tramite kit SDK AWS, interfaccia a riga di comando, chiamate RESTful o modificando direttamente le stringhe della documentazione nella console di API Gateway. La documentazione può anche essere importata come file Swagger, insieme all'API o separatamente, consentendoti di aggiungere elementi o aggiornare la documentazione senza intervenire sulla definizione dell'API. API Gateway è conforme alle specifiche Open API relative alla documentazione importata da o esportata su file di Swagger. La documentazione è supportata per le API REST nel Gateway API.

D: In che modo è possibile evitare di creare copie ridondanti di messaggi di errore e altra documentazione che ricorre con frequenza nell'API?

Oltre ad offrire supporto per documentazione di API conforme agli standard, API Gateway ne supporta anche l'ereditarietà, perciò è semplice definire una stringa di documentazione da utilizzare in più posizioni. L'ereditarietà semplifica il processo di definizione della documentazione dell'API e può essere convertita alla rappresentazione standard al momento dell'esportazione dell'API come file Swagger.

D: Posso limitare l'accesso alle API private a uno specifico VPC Amazon o endpoint VPC?

Sì, puoi applicare una Resource Policy a un'API per limitare l'accesso a uno specifico Amazon VPC o endpoint VPC. Puoi anche concedere a un Amazon VPC o endpoint VPC di un diverso account l'accesso all'API privata utilizzando una Resource Policy.

Sicurezza e autorizzazioni

D: Come si stabiliscono le autorizzazioni in accesso alle API?

Con Amazon API Gateway, è possibile impostare metodi API per richiedere l'autorizzazione. Per impostare un metodo che richieda un'autorizzazione, è possibile impiegare la versione 4 del protocollo di firma di AWS, oppure provider di autorizzazione Lambda che supportino la strategia di autorizzazione dei token di connessione.

D: Come funziona il protocollo di firma di AWS versione 4?

Le credenziali di AWS (chiavi segrete e di accesso) possono essere impiegate per firmare le richieste verso i servizi e autorizzare gli accessi come qualsiasi altro servizio AWS. La firma di una richiesta API di Amazon API Gateway viene gestita dal kit SDK personalizzato di API Gateway generato per il tuo servizio. Puoi recuperare le credenziali temporanee associate con un ruolo nel tuo account AWS tramite Amazon Cognito.

D: Cos'è un provider di autorizzazione Lambda?

I provider di autorizzazione Lambda sono funzioni di AWS Lambda. Con un provider di autorizzazione personalizzato, è possibile impostare le autorizzazioni di accesso delle API tramite token di connessione, ad esempio OAuth. Quando viene richiamata un'API, API Gateway verifica che il provider di autorizzazione Lambda sia stato configurato, quindi richiama la funzione Lambda a cui corrisponde il token di autorizzazione in entrata. Potrai usare Lambda per implementare varie strategie di autorizzazione (ad esempio verifica tramite JWT, o callout di fornitori OAuth) che restituiscano policy di IAM utilizzate per autorizzare una richiesta. Se la policy restituita dal provider di autorizzazione è valida, API Gateway memorizzerà nella cache la policy associata con il token in entrata per un massimo di 1 ora.

D: Amazon API Gateway può generare chiavi API per sviluppatori di terze parti?

Sì. API Gateway può generare chiavi API e associarle con piani di utilizzo. Le chiamate ricevute da ciascuna chiave API vengono monitorate e incluse in Amazon CloudWatch Logs, attivabile per ogni fase di sviluppo. Tuttavia l'uso delle chiavi API per definire le autorizzazioni è sconsigliato. È più conveniente usare le chiavi API per monitorare l'utilizzo da parte degli sviluppatori di terze parti e stabilire le autorizzazioni sfruttando meccanismi più sicuri, ad esempio le chiamate API firmate oppure OAuth.

D: In che modo è possibile risolvere o prevenire minacce o usi illeciti delle API?

Il gateway API supporta la configurazione di throttling per ciascun metodo o instradamento nell'API. È possibile impostare un limite standard e un limite temporizzato al secondo per ogni metodo nell'API REST e ogni instradamento nelle API del WebSocket. Inoltre, il gateway API protegge automaticamente i sistemi back-end dagli attacchi DDoS (Distributed Denial of Service) provenienti da richieste contraffatte, di livello 7, oppure attacchi SYN flood (livello 3).

D: È possibile verificare che una chiamata al back-end provenga effettivamente da API Gateway?

Sì. Amazon API Gateway può generare un certificato SSL lato client e rendere disponibile la chiave pubblica per tale certificato. Le chiamate al back-end possono essere inoltrate con il certificato generato, e potrai verificare le chiamate provenienti da Amazon API Gateway utilizzando la chiave pubblica del certificato.

D: È possibile usare AWS CloudTrail con Amazon API Gateway?

Sì. Amazon API Gateway si integra con AWS CloudTrail per fornire una cronologia completo e disponibile per l'audit delle modifiche alle API REST. Tutte le chiamate API effettuate verso le API di Amazon API Gateway per creare, modificare, eliminare o distribuire API REST vengono registrate su CloudTrail nell'account AWS.

D: Come funziona Amazon API Gateway con un Amazon Virtual Private Cloud (Amazon VPC)?

In Amazon API Gateway puoi effettuare il proxy delle richieste verso le risorse HTTP/HTTPS del back-end in esecuzione nell'Amazon VPC impostando Private Integrations (Integrazioni private) nell'uso dei collegamenti VPC. I certificati SSL lato client in Amazon API Gateway possono essere utilizzati per verificare che le richieste ai sistemi backend siano inviate da API Gateway utilizzando la chiave pubblica del certificato. Puoi anche creare API private in Amazon API Gateway alle quali possono accedere solo le risorse all'interno del tuo Amazon VPC tramite gli endpoint Amazon VPC.

D: Posso limitare l'accesso alle API private a uno specifico VPC Amazon o endpoint VPC?

Sì, puoi applicare una Resource Policy a un'API per limitare l'accesso a uno specifico Amazon VPC o endpoint VPC. Puoi anche concedere a un Amazon VPC o endpoint VPC di un diverso account l'accesso all'API privata utilizzando una Resource Policy.

D: Posso configurare le API REST nel gateway API affinché utilizzino TLS 1.1 o versioni successive?

Se utilizzi API REST, puoi impostare una distribuzione CloudFront con certificato SSL personalizzato nel tuo account e utilizzarla con le API regionali nell'API Gateway. Puoi quindi configurare la policy di sicurezza per la distribuzione CloudFront con TLS 1.1 o versione successiva in base ai tuoi requisiti di sicurezza e conformità.

Gestione, parametri e registrazione di log

D: Come si monitorano le API di Amazon API Gateway?

Amazon API Gateway registra le chiamate API, la latenza e le percentuali di errore in Amazon CloudWatch nell'account AWS. I parametri sono inoltre disponibili tramite la console di Amazon API Gateway nel pannello di controllo relativo alle API REST. API Gateway, inoltre, monitora l'utilizzo da parte di sviluppatori di terze parti; i dati risultati sono disponibili nella console di API Gateway o tramite le API.

D: È possibile impostare allarmi con i parametri di Amazon API Gateway?

Sì, Amazon API Gateway invia i dati di log e i parametri ad Amazon CloudWatch. Puoi utilizzare la console di Amazon CloudWatch per impostare allarmi personalizzati.

D: Come si impostano i parametri per Amazon API Gateway?

Di default, Amazon API Gateway monitora il traffico a livello di API REST. Eventualmente, è possibile abilitare parametri dettagliati per ciascun metodo nell'API REST tramite le API di configurazione della distribuzione o dalla console. I parametri dettagliati vengono anche registrati su Amazon CloudWatch; vengono applicate le tariffe di CloudWatch.

D: È possibile determinare quale versione dell'API sta eseguendo un cliente?

Sì. I parametri includono API REST e fase di sviluppo. Inoltre, è possibile abilitare i parametri per ogni metodo all'interno dell'API REST.

D: Amazon API Gateway supporta la registrazione di log?

Sì. Amazon API Gateway si integra con Amazon CloudWatch Logs. È anche possibile abilitare la registrazione di log per ogni fase di sviluppo dell'API. Per ogni metodo all'interno dell'API REST, è possibile stabilire il livello di dettaglio del log e se devono essere inclusi tutti i dati della richiesta e della risposta.

D: Dopo quanto tempo sono disponibili i log?

Log, allarmi, percentuali di errore e altri parametri vengono salvati in Amazon CloudWatch e sono disponibili quasi in tempo reale.

Limitazione delle richieste e memorizzazione nella cache

D: In che modo è possibile proteggere i sistemi back-end dai picchi di traffico?

Amazon API Gateway offre limitazione delle richieste a più livelli, anche a livello globale o per chiamata di servizio. Le restrizioni consentite da questa funzione prevedono frequenze standard ed eventuali picchi. Ad esempio il proprietario di un'API può limitare le richieste a 1.000 al secondo per un determinato metodo sulle API REST, configurando anche Amazon API Gateway in modo che gestisca i picchi fino a 2.000 richieste al secondo per alcuni secondi. Amazon API Gateway monitora il numero di richieste al secondo. Qualsiasi richiesta oltre il limite riceve una risposta HTTP 429. Quando soddisfa questo tipo di risposta, il kit SDK client (tranne Javascript) generato da Amazon API Gateway tenta automaticamente nuove chiamate.

D: È possibile limitare le chiamate API di singoli sviluppatori?

Sì. Con i piani di utilizzo puoi impostare il throttling per le singole chiavi API.

D: Quali sono i vantaggi della limitazione delle richieste?

La limitazione delle richieste mantiene il traffico dell'API sotto controllo per aiutare i servizi di back-end a mantenere prestazioni e disponibilità elevate.

D: A quali livelli Amazon API Gateway limita il traffico API in entrata?

Le impostazioni di limitazione possono essere configurate a livello di metodo. È possibile modificare i limiti nelle impostazioni del metodo tramite le API o la console di Amazon API Gateway.

D: In che modo vengono applicate le regole di throttling?

Le impostazioni relative al throttling di API Gateway vengono applicate nel seguente ordine: 1) limiti per client per metodo che vengono impostati per una fase API in un piano di utilizzo, 2) limiti del throttling per client che vengono impostati in un piano di utilizzo, 3) limiti per metodo predefiniti e limiti per metodo individuali che vengono impostati nella configurazione della fase API, 4) throttling a livello di account per regione.

D: Amazon API Gateway consente di memorizzare nella memoria cache i risultati delle API?

Sì. È possibile aggiungere la funzione di memorizzazione nella cache alle chiamate API facendone richiesta tramite API Gateway e specificandone le dimensioni in gigabyte. La cache viene assegnata a una fase di sviluppo specifica dell'API. In questo modo le prestazioni risultano migliorata e il traffico in invio al back-end è alleggerito. Le impostazioni della cache consentono di controllare come viene creata la chiave di cache e il time-to-live (TTL) dei dati salvati per ogni metodo. Il gateway API fornisce inoltre API di gestione che aiutano a invalidare la cache per ciascuna fase. La cache è disponibile per le API REST nel gateway API.

D: Cosa accade se un numero elevato di utenti finali cerca contemporaneamente di invocare un'API?

Se la memorizzazione nella cache non è stata abilitata e non è applicata alcuna restrizione, tutte le richieste raggiungeranno il servizio di back-end finché non vengono raggiunti i limiti di richieste dell'account. Se le limitazioni alle richieste sono attive, Amazon API Gateway filtrerà un certo numero di richieste in modo che solo il numero desiderato raggiunga il servizio di back-end. Se è stata impostata la memorizzazione in cache, Amazon API Gateway invierà una risposta memorizzata nella cache alle richieste duplicate durante l'intervallo di tempo configurato, ma solo se rientrano all'interno dei limiti di throttling definiti. Questo equilibrio tra back-end e client garantisce le prestazioni ottimali dell'API per le applicazioni che supporta. Le richieste respinte a causa della limitazione verranno automaticamente ripetute dal kit SDK lato client generato da Amazon API Gateway. Di default, Amazon API Gateway non imposta memorizzazione nella cache sui metodi dell'API.

D: Di quale scalabilità dispongono le API?

Amazon API Gateway agisce come proxy nei confronti delle attività di back-end configurate. Amazon API Gateway ridimensiona automaticamente le risorse per gestire il traffico in entrata dell'API. Amazon API Gateway non applica alcuna limitazione o restrizione arbitrarie alle chiamate verso il back-end; tutte le richieste che non vengono intercettate dalle impostazioni di limitazione delle richieste o di memorizzazione nella cache nella console di Amazon API Gateway vengono inviate ai sistemi di back-end.

Fatturazione

D: Quali costi vengono addebitati per l’utilizzo di Amazon API Gateway?

Amazon API Gateway addebita per milione di chiamate API, più il costo del trasferimento dati in uscita, in gigabyte. L'eventuale spazio di caching per l'API prevede una tariffa oraria. Per le API WebSocket, il gateway API fattura in base ai messaggi inviati e ricevuti e al numero di minuti in cui un client è connesso all'API. Per ulteriori informazioni sulle tariffe di chiamate API, trasferimento dei dati e caching per regione, consultare la Pagina dei prezzi di API Gateway.

D: A chi vengono addebitati i costi delle API di Amazon API Gateway generati da sviluppatori di terze parti?

Le chiamate sono addebitate al proprietario dell'API.

D: Se una risposta API viene servita dai dati memorizzati nella cache, vale come chiamata API ai fini della fatturazione?

Sì. Le chiamate API vengono conteggiate per la fatturazione sia quando la risposta viene gestita dalle attività del back-end, sia quando viene gestita dalle attività di memorizzazione nella cache di Amazon API Gateway.

API WebSocket

D: Cosa sta instradando il WebSocket in Amazon API Gateway?

L'instradamento WebSocket in Amazon API Gateway è utilizzato per instradare correttamente i messaggi a un'integrazione specifica. Specificare una chiave di instradamento e un beck-end di integrazione da richiamare quando viene definita l'API WebSocket. La chiave di instradamento è un attributo nel corpo del messaggio. È inoltre possibile impostare un'integrazione predefinita per le chiavi di instradamento non corrispondenti. Per ulteriori informazioni sull'instradamento, consultare la documentazione.

D:  Come posso inviare messaggi ai client collegati dal servizio di back-end?

Quando viene collegato un nuovo client all'API WebSocket, un unico URL, chiamato URL di callback, viene creato per tale client. È possibile utilizzare questo URL di callback per inviare messaggi al client dal servizio di back-end.

D:  Come posso autorizzare l'accesso all'API WebSocket in Amazon API Gateway?

Con Amazon API Gateway, puoi usare i ruoli e le policy IAM o le autorizzazioni AWS Lambda per autorizzare l'accesso alle API WebSocket.

D: Come fa il servizio di back-end a sapere quando un client è collegato o scollegato dalla connessione WebSocket in Amazon API Gateway?

Quando un client è collegato o scollegato, verrà inviato un messaggio dal servizio Amazon API Gateway alla funzione AWS Lambda di beck-end o l'endpoint HTTP utilizzando gli instradamenti $connect e $disconnect. È possibile eseguire azioni appropriate come aggiungere o rimuovere il client per l'elenco di utenti collegati.

D: Come fa il servizio di back-end a identificare se il client è collegato ancora alla connessione WebSocket?

È possibile utilizzare il metodo GET dell'URL di callback nella connessione per identificare se il client è collegato alla connessione WebSocket. Fare riferimento alla documentazione sull'utilizzo di un URL di callback.

Q: Posso scollegare un client dal mio servizio di back-end?

Sì, puoi scollegare il client collegato dal servizio di back-end utilizzando l'URL di callback.

D: Qual è la dimensione dei messaggi massima supportata per le API WebSocket?

La dimensione del messaggio massima supportata è 128 KB. Consulta la documentazione per altri limiti delle API WebSocket.

D: Quali costi vengono addebitati per l’utilizzo delle API WebSocket in Amazon API Gateway?

Verranno addebitati costi in base a 2 parametri: minuti di connessione e numero di messaggi.

Minuti di connessione: numero totale dei minuti in cui i client o i dispositivi sono collegati al WebSocket (arrotondati a un minuto).

Messaggi: numero totale di messaggi inviati e ricevuti dai client collegati. I messaggi vengono addebitati con incrementi di 32 KB. Fare riferimento alla pagina dei prezzi per ulteriori dettagli sui prezzi e gli esempi dell'API WebSocket.

D: Se i messaggi nella connessione WebSocket restituiscono un errore di autenticazione o autorizzazione, verranno comunque addebitati sulla fattura di utilizzo dell'API?

No, se i messaggi nella connessione WebSocket restituiscono un errore di autenticazione o autorizzazione, non verranno addebitati sulla fattura di utilizzo dell'API.

Ulteriori informazioni su Amazon API Gateway

Visita la pagina dei prezzi
Sei pronto per iniziare?
Registrati
Hai altre domande?
Contattaci