Connessione di endpoint VPC con interfaccia in entrata per Lambda
Se usi Amazon Virtual Private Cloud (Amazon VPC) per l'hosting delle risorse AWS, puoi stabilire una connessione tra il cloud privato virtuale (VPC) e Lambda. È possibile utilizzare questa connessione per richiamare la propria funzione Lambda senza attraversare l'Internet pubblico.
È possibile stabilire una connessione privata tra il VPC e Lambda creando un endpoint VPC di interfaccia. Gli endpoint di interfaccia sono alimentati da AWS PrivateLink
Ogni endpoint di interfaccia è rappresentato da una o più interfacce di rete elastiche nelle sottoreti. Un'interfaccia di rete fornisce un indirizzo IP privato che funge da punto di ingresso per il traffico verso Lambda.
Sezioni
Considerazioni per gli endpoint di interfaccia Lambda
Prima di impostare un endpoint di interfaccia per Lambda, esaminare l'argomento Proprietà e limitazioni degli endpoint dell'interfaccia nella Guida per l'utente di Amazon VPC.
Puoi chiamare qualsiasi operazione API Lambda dal tuo VPC. Ad esempio, è possibile richiamare la funzione Lambda invocando l'API Invoke dall'interno del VPC. Per l'elenco completo delle API Lambda, vedere Azioni nella Guida di riferimento alle API Lambda.
use1-az3 è una regione a capacità limitata per le funzioni Lambda VPC. L'utilizzo di sottoreti con le funzioni Lambda in questa zona di disponibilità non è consigliato perché, in caso di interruzione del servizio, potrebbe provocare una riduzione della ridondanza zonale.
Keep-alive per connessioni persistenti
Lambda elimina le connessioni inattive nel tempo, quindi occorre utilizzare una direttiva keep-alive per mantenere le connessioni persistenti. Se si tenta di riutilizzare una connessione inattiva quando si richiama una funzione, si verificherà un errore di connessione. Per mantenere la connessione persistente, utilizzare la direttiva keep-alive associata al runtime. Per un esempio, vedere Riutilizzo delle connessioni con Keep-Alive in Node.js nella Guida per gli sviluppatori di AWS SDK per JavaScript.
Considerazioni sulla fatturazione
Non vi è alcun costo aggiuntivo per accedere a una funzione Lambda tramite un endpoint di interfaccia. Per ulteriori informazioni sui prezzi di Lambda, consulta Prezzi di AWS Lambda
Prezzi standard per AWS PrivateLink si applica agli endpoint di interfaccia per Lambda. L'account AWS viene fatturato ogni ora che viene eseguito il provisioning di un endpoint di interfaccia in ogni zona di disponibilità e per i dati elaborati tramite l'endpoint dell'interfaccia. Per ulteriori informazioni sui prezzi degli endpoint di interfaccia, consulta Prezzi di AWS PrivateLink
Considerazioni sul peering VPC
È possibile connettere altri VPC al VPC con endpoint di interfaccia utilizzando Peering VPC. Il peering VPC è una connessione di rete tra due VPC. Puoi creare una connessione peering VPC tra i tuoi VPC oppure con un VPC in un altro account AWS. I VPC possono essere anche in due diverse regioni AWS.
Il traffico tra VPC peered rimane sulla rete AWS e non attraversa la rete Internet pubblica. Una volta eseguito il peering dei vPC, risorse come istanze Amazon Elastic Compute Cloud (Amazon EC2), istanze Amazon Relational Database Service (Amazon RDS) o funzioni Lambda abilitate per VPC in entrambi i VPC possono accedere all'API Lambda tramite gli endpoint di interfaccia creati in uno dei VPC.
Creazione di un endpoint di interfaccia per Lambda
Puoi creare un endpoint di interfaccia per Lambda utilizzando la console Amazon VPC o AWS Command Line Interface (AWS CLI). Per ulteriori informazioni, consultare Creazione di un endpoint di interfaccia nella Guida per l'utente di Amazon VPC.
Per creare un endpoint di interfaccia per Lambda (console)
-
Aprire la pagina Endpoint
della console Amazon VPC. -
Scegliere Create Endpoint (Crea endpoint).
-
In Categoria del servizio, assicurati che sia selezionato Servizi AWS.
-
Per Nome servizio, scegli com.amazonaws.
region.lambda. Verificare che il tipo sia Interfaccia. -
Creazione di un VPC e delle sottoreti
-
Per abilitare il DNS privato per l'endpoint di interfaccia, in Enable DNS Name (Abilita nome DNS), selezionare la casella di controllo. Ti consigliamo di abilitare nomi host DNS privati per gli endpoint VPC per Servizi AWS. Ciò garantisce che le richieste che utilizzano gli endpoint del servizio pubblico, come le richieste effettuate tramite un SDK AWS, vengano risolte sull'endpoint VPC.
-
Per gruppo di sicurezza, scegliere uno o più gruppi di sicurezza.
-
Seleziona Crea endpoint.
Per utilizzare l'opzione DNS privato, è necessario impostare enableDnsHostnames e enableDnsSupportattributes del VPC. Per ulteriori informazioni, consulta Visualizzazione e aggiornamento del supporto DNS per il VPC nella Guida per l'utente di Amazon VPC. Se si abilita il DNS privato per l'endpoint di interfaccia, è possibile effettuare richieste API verso Lambda utilizzando il nome DNS predefinito per la regione, ad esempio ., lambda.us-east-1.amazonaws.com. Per ulteriori endpoint di servizio, vedere Endpoint e quote del servizio in Riferimenti generali di AWS.
Per ulteriori informazioni, consultare Accesso a un servizio tramite un endpoint di interfaccia in Guida per l'utente di Amazon VPC.
Per informazioni sulla creazione e sulla configurazione di un endpoint utilizzando CloudFormation, consulta la risorsa AWS::EC2::VPCEndpoint nella Guida per l'utente di AWS CloudFormation.
Per creare un endpoint di interfaccia per Lambda (AWS CLI)
Utilizza il comando create-vpc-endpoint
aws ec2 create-vpc-endpoint --vpc-idvpc-ec43eb89--vpc-endpoint-type Interface --service-name com.amazonaws.us-east-1.lambda --subnet-id subnet-abababab --security-group-idsg-1a2b3c4d
Creazione di una policy degli endpoint di interfaccia per Lambda
Per controllare chi può utilizzare l'endpoint di interfaccia e a quali funzioni Lambda l'utente può accedere, è possibile allegare una policy endpoint all'endpoint. La policy specifica le informazioni riportate di seguito:
-
Il principale che può eseguire operazioni.
-
Le azioni che l'entità può eseguire.
-
Le risorse su cui l'utente/gruppo/ruolo può eseguire azioni.
Per ulteriori informazioni, consulta Controllo degli accessi ai servizi con endpoint VPC nella Guida per l'utente di Amazon VPC.
Esempio: policy endpoint di interfaccia per le azioni Lambda
Di seguito è riportato un esempio di una policy endpoint per Lambda. Quando è collegata a un endpoint, questa policy consente all'utente MyUser di richiamare la funzione my-function.
Nota
Nella risorsa è necessario includere l'ARN della funzione qualificata e non qualificata.
{ "Statement":[ { "Principal": { "AWS": "arn:aws:iam::111122223333:user/MyUser" }, "Effect":"Allow", "Action":[ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-function", "arn:aws:lambda:us-east-2:123456789012:function:my-function:*" ] } ] }