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: crea un account privato REST API
In questo tutorial, crei un file privato RESTAPI. I clienti possono accedere API solo dall'interno del tuo AmazonVPC. APIÈ isolato dalla rete Internet pubblica, che è un requisito di sicurezza comune.
Il completamento di questa esercitazione richiede circa 30 minuti. Innanzitutto, utilizzi un AWS CloudFormation modello per creare un AmazonVPC, un VPC endpoint, una AWS Lambda funzione e avviare un'EC2istanza Amazon che utilizzerai per testare la tuaAPI. Successivamente, usi il AWS Management Console per creare una politica privata API e allegare una politica delle risorse che consenta l'accesso solo dal tuo VPC endpoint. Infine, metti alla prova il tuo. API
Per completare questo tutorial, sono necessari un AWS account e un AWS Identity and Access Management utente con accesso alla console. Per ulteriori informazioni, consulta Configurazione per l'utilizzo di API Gateway.
In questo tutorial utilizzerai AWS Management Console. Per un AWS CloudFormation modello che crea questa API e tutte le risorse correlate, vedi template.yaml.
Argomenti
- Fase 1: Creare dipendenze
- Passaggio 2: crea un account privato API
- Fase 3: Creare un metodo e un'integrazione
- Fase 4: Allegare una policy sulle risorse
- Fase 5: Implementa il tuo API
- Passo 6: Verifica che il tuo API non sia accessibile al pubblico
- Passaggio 7: Connettiti a un'istanza nel tuo VPC e richiama il API
- Fase 8: Pulizia
- Passaggi successivi: automatizza con AWS CloudFormation
Fase 1: Creare dipendenze
Scarica e decomprimi questo modello. AWS CloudFormation Utilizzi il modello per creare tutte le dipendenze per il tuo ambiente privatoAPI, tra cui un AmazonVPC, un VPC endpoint e una funzione Lambda che funge da backend del tuo. API Il privato lo crei in un secondo momento. API
Per creare una AWS CloudFormation pila
Apri la AWS CloudFormation console 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.
-
Seleziona Successivo.
-
Per Stack name (Nome stack), inserire
private-api-tutorial
, quindi scegliere Next (Avanti). -
Per Configure stack options (Configura opzioni di stack), scegliere Next (Successivo).
-
Per quanto riguarda le funzionalità, riconosci che AWS CloudFormation puoi creare IAM risorse nel tuo account.
-
Scegli Invia.
AWS CloudFormation fornisce le tue dipendenzeAPI, operazione che può richiedere alcuni minuti. Quando lo stato del tuo AWS CloudFormation stack è CREATE_ COMPLETE, scegli Outputs. Prendi nota del tuo ID VPC endpoint. È necessario per le fasi successive di questo tutorial.
Passaggio 2: crea un account privato API
Crei un account privato API per consentire l'accesso solo VPC ai tuoi clienti.
Per creare un account privato API
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegli Crea API, quindi scegli Build. RESTAPI
-
Per APInome, inserisci
private-api-tutorial
. -
Per il tipo di API endpoint, seleziona Privato.
-
Per VPCendpoint IDs, inserisci l'ID dell'VPCendpoint dagli output del tuo stack. AWS CloudFormation
-
Scegli Crea. API
Fase 3: Creare un metodo e un'integrazione
Crei un GET
metodo e un'integrazione Lambda per gestire GET
le richieste al tuo. API Quando un client richiama la tuaAPI, API Gateway invia la richiesta alla funzione Lambda creata nel passaggio 1, quindi restituisce una risposta al client.
Per creare un metodo e un'integrazione
-
Scegli il tuo API.
-
Scegli Crea metodo.
-
Per Tipo di metodo seleziona
GET
. -
Per Tipo di integrazione seleziona Funzione Lambda.
-
Attiva l'opzione Integrazione proxy Lambda. Con l'integrazione del proxy Lambda, API Gateway invia un evento a Lambda con una struttura definita e trasforma la risposta dalla funzione Lambda in una risposta. HTTP
-
Per la funzione Lambda, scegli la funzione che hai creato con il AWS CloudFormation modello nel passaggio 1. Il nome della funzione inizia con
private-api-tutorial
. -
Scegli Crea metodo.
Fase 4: Allegare una policy sulle risorse
Alleghi alla tua una politica delle risorse API che consente ai clienti di richiamarti API solo tramite il tuo endpoint. VPC Per limitare ulteriormente l'accesso al tuo API dispositivo, puoi anche configurare una VPCpolicy per gli VPC endpoint, ma non è necessario per questo tutorial.
Per allegare una policy sulle risorse
-
Scegli il tuo API.
-
Scegli Policy delle risorse, quindi seleziona Crea policy.
-
Immetti la seguente policy. Replace (Sostituisci)
vpceID
con il tuo ID VPC endpoint ricavato dagli output del tuo AWS CloudFormation stack.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*", "Condition": { "StringNotEquals": { "aws:sourceVpce": "
vpceID
" } } }, { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*" } ] } -
Seleziona Salvataggio delle modifiche.
Fase 5: Implementa il tuo API
Successivamente, distribuisci il tuo API per renderlo disponibile ai clienti nel tuo AmazonVPC.
Per distribuire un API
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegli il tuo API.
Seleziona Deploy (Implementa)API.
In Fase, seleziona Nuova fase.
In Stage name (Nome fase) immettere
test
.(Facoltativo) In Description (Descrizione), immettere una descrizione.
Seleziona Deploy (Implementa).
Ora sei pronto per testare il tuoAPI.
Passo 6: Verifica che il tuo API non sia accessibile al pubblico
curl
Utilizzalo per verificare che non puoi richiamare il tuo API dall'esterno di AmazonVPC.
Per testare il tuo API
Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegli il tuo API.
-
Nel pannello di navigazione principale scegli Fasi, quindi seleziona la fase test.
-
In Stage details, scegli l'icona di copia per copiare API la tua chiamata. URL URLSembra
https://
. L'VPCendpoint che hai creato nel passaggio 1 è DNS abilitato in modalità privata, quindi puoi utilizzare il provider URL per richiamare il tuo. APIabcdef123
.execute-api.us-west-2
.amazonaws.com/test -
Usa curl per tentare di invocare il tuo API dall'esterno del tuo. VPC
curl https://
abcdef123
.execute-api.us-west-2
.amazonaws.com/testCurl indica che il tuo endpoint API non può essere risolto. Se ricevi una risposta diversa, torna allo Step 2 e assicurati di scegliere Privato come tipo API di endpoint che utilizzi.
curl: (6) Could not resolve host:
abcdef123
.execute-api.us-west-2
.amazonaws.com/test
Successivamente, ti connetti a un'EC2istanza Amazon del tuo computer VPC per richiamare il tuoAPI.
Passaggio 7: Connettiti a un'istanza nel tuo VPC e richiama il API
Successivamente, esegui il test API all'interno del tuo AmazonVPC. Per accedere al tuo account privatoAPI, ti connetti a un'EC2istanza Amazon nel tuo VPC e poi usi curl per richiamare il tuo. API Per connettersi all'istanza nel browser, si utilizza Systems Manager Session Manger.
Per testare il tuo API
Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Seleziona Instances (Istanze).
-
Scegli l'istanza denominata private-api-tutorialche hai creato con il AWS CloudFormation modello nel passaggio 1.
-
Scegliere Connect (Connetti), quindi Session Manager (Gestore di sessione).
-
Scegliere Connect per avviare una sessione basata su browser nell'istanza.
-
Nella tua sessione di Session Manager, usa curl per richiamare il tuo. API Puoi richiamare il tuo API perché stai utilizzando un'istanza nel tuo AmazonVPC.
curl https://
abcdef123
.execute-api.us-west-2
.amazonaws.com/testVerificare di ottenere la risposta
Hello from Lambda!
.
Hai creato con successo un API account accessibile solo dall'interno del tuo Amazon VPC e poi ne hai verificato il funzionamento.
Fase 8: Pulizia
Per evitare costi non necessari, eliminare le risorse create nell'ambito di questo tutorial. I passaggi seguenti eliminano il tuo REST API e il tuo AWS CloudFormation stack.
Per eliminare un REST API
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Nella APIspagina, seleziona unAPI. Scegliete APIle azioniAPI, scegliete Elimina e confermate la scelta.
Per eliminare una AWS CloudFormation pila
Apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation
. -
Seleziona il tuo AWS CloudFormation stack.
-
Scegli Elimina e conferma la tua scelta.
Passaggi successivi: automatizza con AWS CloudFormation
Puoi automatizzare la creazione e la pulizia di tutte le AWS risorse coinvolte in questo tutorial. Per un modello AWS CloudFormation di esempio completo, consulta template.yaml.