Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tutorial: creazione di un'API HTTP con un'integrazione privata con un servizio Amazon ECS
In questo tutorial, si crea un'API serverless che si connette a un servizio Amazon ECS eseguito in un VPC Amazon. I clienti al di fuori del tuo Amazon VPC possono utilizzare l'API per accedere al tuo servizio Amazon ECS.
Questo tutorial dura circa un'ora. Per prima cosa, si usa un modello AWS CloudFormation per creare Amazon VPC e un servizio Amazon ECS. Usa la console API Gateway per creare un link VPC. Il link VPC consente ad API Gateway di accedere al servizio Amazon ECS eseguito nel tuo VPC Amazon. Successivamente, si crea un'API HTTP che utilizza il link VPC per connettersi al servizio Amazon ECS. Infine, si esegue il dell'API.
Quando si richiama l'API HTTP, API Gateway invia la richiesta al tuo servizio Amazon ECS tramite il link VPC e poi restituisce la risposta dal servizio.
Per completare questo tutorial, sono necessari un account AWS e un utente AWS Identity and Access Management con accesso alla console. Per ulteriori informazioni, consulta Configurazione per l'utilizzo di Gateway API.
In questo tutorial utilizzerai AWS Management Console. Per un modello AWS CloudFormation che crea questa API e tutte le risorse correlate, consulta template.yaml.
Argomenti
Fase 1: Creazione di un servizio Amazon ECS
Amazon ECS è un servizio di gestione dei container che facilita l'esecuzione, l'arresto e la gestione di container Docker in un cluster. In questo tutorial eseguirai il cluster su un'infrastruttura serverless gestita da Amazon ECS.
Scarica e decomprimi questo modello AWS CloudFormation, che crea tutte le dipendenze per il servizio, incluso un Amazon VPC. Si utilizza il modello per creare un servizio Amazon ECS che utilizza un Application Load Balancer.
Creazione di uno stack AWS CloudFormation
Apri la console di AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation
. -
Scegliere Create stack (Crea stack), quindi With new resources (standard) (Con nuove risorse (standard)).
-
In Specificare modello, scegliere Carica un file modello.
-
Selezionare il modello scaricato.
-
Scegli Next (Successivo).
-
Per Stack name (Nome stack), inserire
http-api-private-integrations-tutorial, quindi scegliere Next (Avanti). -
Per Configure stack options (Configura opzioni di stack), scegliere Next (Successivo).
-
Per Capabilities (Funzionalità), conferma che AWS CloudFormation può creare risorse IAM nel tuo account.
-
Scegli Invia.
AWS CloudFormation fornisce il servizio ECS, che può richiedere alcuni minuti. Quando lo stato dello stack AWS CloudFormation è CREATE_COMPLETE, si è pronti per passare alla fase successiva.
Fase 2: Creazione di un link VPC
Un link VPC consente ad API Gateway di accedere alle risorse private in un VPC Amazon. Si utilizza un link VPC per consentire ai client di accedere al tuo servizio Amazon ECS tramite l'API HTTP.
Per creare un link VPC
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Nel pannello di navigazione principale scegli Collegamenti VPC e quindi Crea.
È possibile che per aprire il pannello di navigazione principale sia necessario scegliere l'icona del menu.
-
Per Scegliere una versione del link VPC, selezionare Link VPC per API HTTP.
-
In Name (Nome), immettere
private-integrations-tutorial. -
Per VPC scegliere il VPC creato nella fase 1. Il nome dovrebbe iniziare con PrivateIntegrationsStack.
-
Per Sottoreti, selezionare le due sottoreti private nel VPC. I nomi finiscono con
PrivateSubnet. -
Per Gruppi di sicurezza seleziona l'ID gruppo che inizia con
private-integrations-tutoriale ha la descrizionePrivateIntegrationsStack/PrivateIntegrationsTutorialService/Service/SecurityGroup. -
Scegli Create (Crea).
Dopo aver creato il link VPC, API Gateway consente alle interfacce di rete elastiche di accedere al VPC. Il processo può richiedere alcuni minuti. Nel frattempo, puoi creare la tua API.
Fase 3: creazione un'API HTTP
L'API HTTP fornisce un endpoint HTTP per il Servizio Amazon ECS. In questa fase si crea un'API vuota. Nelle fasi 4 e 5, si configura un percorso e un'integrazione per connettere l'API e il servizio Amazon ECS.
Per creare un'API HTTP
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegli Create API (Crea API), quindi per API HTTP, scegli Build (Crea).
-
Per API name (Nome API), immettere
http-private-integrations-tutorial. -
Per Tipo di indirizzo IP, selezionare IPv4.
-
Scegli Next (Successivo).
-
Per Configura route, scegli Avanti per ignorare la creazione della route. È possibile creare route in un secondo momento.
-
Esamina la fase creata da API Gateway. API Gateway crea una
$defaultfase con distribuzioni automatiche abilitate, che è la scelta migliore per questo tutorial. Scegli Next (Successivo). -
Seleziona Crea.
Fase 4: Creazione di una route
Le route inviano le richieste API in entrata alle risorse di back-end. Le route sono costituite da due parti: un metodo HTTP e un percorso della risorsa, ad esempi, GET /items. Per questa API di esempio, creiamo una route.
Per creare una route
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegliere l'API.
-
Scegliere Percorsi.
-
Seleziona Crea.
-
Per Method (Metodo) seleziona
ANY. -
Per il percorso, immetti
/{proxy+}. Il{proxy+}alla fine del percorso è una variabile di percorso greedy. API Gateway invia tutte le richieste per l'API a questa route. -
Seleziona Crea.
Fase 5: creazione di un'integrazione
Si crea un'integrazione per connettere una route alle risorse di back-end.
Per creare un'integrazione
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegliere l'API.
-
Scegli Integrations (Integrazioni).
-
Scegli Manage integrations (Gestisci integrazioni), quindi scegli Create (Crea).
-
Per Allega questa integrazione a una route, selezionare la route ANY/{proxy+} creata in precedenza.
-
Per Tipo di integrazionescegliere Risorsa privata.
-
Per Dettagli sull'integrazione, scegliere Seleziona manualmente.
-
Per Servizio Target, scegliere ALB/NLB.
-
Per load balancer, scegliere il load balancer creato con il modello AWS CloudFormation nella fase 1. Il suo nome dovrebbe iniziare con HTTP-Priva.
-
Per Listener, scegliere
HTTP 80. -
Per Link VPC, scegliere il link VPC creato nella fase 2. Dovrebbe chiamarsi
private-integrations-tutorial. -
Seleziona Crea.
Per verificare che il percorso e l'integrazione siano configurati correttamente, selezionare Allega integrazioni alle route. La console mostra che si dispone di una route ANY /{proxy+} con un'integrazione a un load balancer VPC.
Ora siamo pronti per testare l'API.
Fase 6: Test dell'API
Successivamente, viene verificata l'API per assicurarsi che funzioni. Per semplicità, usa un browser Web per richiamare l'API.
Per testare l'API
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegliere l'API.
-
Prendere nota del valore URL di chiamata per l'API.
-
In un browser web, vai all'URL di chiamata dell'API.
L'URL completo dovrebbe essere del tipo
https://.abcdef123.execute-api.us-east-2.amazonaws.com.rproxy.govskope.caIl tuo browser invia una richiesta
GETall'API. -
Verifica che la risposta della tua API sia un messaggio di benvenuto che indica che la tua app è in esecuzione su Amazon ECS.
Se visualizzi il messaggio di benvenuto, hai creato correttamente un servizio Amazon ECS eseguito in un VPC Amazon e hai utilizzato un'API HTTP di API Gateway con un link VPC per accedere al servizio Amazon ECS.
Fase 7: pulizia
Per evitare costi non necessari, eliminare le risorse create nell'ambito di questo tutorial. La procedura seguente elimina il link VPC, lo stack AWS CloudFormation e l'API HTTP.
Per eliminare un'API HTTP
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Nella pagina API, selezionare un'API. Scegliere Azioni, scegliere Elimina, quindi confermare la scelta.
Per eliminare un link VPC
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegliere link VPC.
-
Selezionare il link VPC, scegliere Elimina, quindi confermare la scelta.
Per eliminare uno stack AWS CloudFormation
Apri la console di AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation
. -
Seleziona lo stack AWS CloudFormation.
-
Scegli Elimina e conferma la tua scelta.
Fasi successive: Automatizzare con AWS CloudFormation
È possibile automatizzare la creazione e la pulizia di tutte le risorse AWS coinvolte in questo tutorial. Per un modello AWS CloudFormation di esempio completo, consulta template.yaml.