Come faccio a dare accesso a Internet a una funzione Lambda collegata a un VPC Amazon?

6 minuti di lettura
0

Desidero concedere l'accesso a Internet alla mia funzione AWS Lambda collegata a un Amazon Virtual Private Cloud (Amazon VPC).

Breve descrizione

L'accesso a Internet da unasottorete privata richiede la traduzione degli indirizzi di rete (NAT). Per consentire l'accesso a Internet a una funzione Lambda collegata ad Amazon VPC, indirizza il traffico in uscita verso un gateway NAT o un'istanza NAT in una sottorete pubblica.

Per ulteriori informazioni, consulta la sezione Eseguire la connessione a Internet utilizzando un gateway Internet. Per un esempio di configurazione, vedi la sezione Esempio: VPC con server in sottoreti private e NAT.

Nota: puoi anche utilizzare gli endpoint VPC di Amazon per connetterti ai servizi AWS supportati dall'interno di un Amazon VPC senza accesso a Internet.

Risoluzione

(Facoltativo) Crea un nuovo Amazon VPC utilizzando la procedura guidata VPC Wizard nella Console di gestione AWS

Nota: se utilizzi la procedura guidata per creare un nuovo Amazon VPC, passa alla sezione seguente: Crea un ruolo di esecuzione Lambda per il tuo VPC.

1.    Apri la procedura guidata VPC Wizard nella Console di gestione AWS.

2.    Scegli VPC con sottoreti pubbliche e private. La nuova Sottorete pubblica e la Sottorete privata, inclusi il gateway Internet e il gateway NAT associati, vengono visualizzate nella console Amazon VPC.

Crea una sottorete pubblica e una o più sottoreti private nel tuo Amazon VPC

Per istruzioni su come creare ciascuna delle tue sottoreti, consulta la sezione Creazione di una sottorete.

Quando crei le sottoreti, in Tag del nome inserisci un nome per ogni sottorete, che la identifichi come pubblica o privata. Ad esempio: Sottorete pubblica, Lambda privata 1 e Lambda privata 2.

Nota: è consigliabile creare più di una sottorete privata in diverse Zone di disponibilità. Questa pratica crea ridondanza e consente al servizio Lambda di mantenere un'elevata disponibilità per la funzione.

Crea un gateway Internet e collegalo al tuo Amazon VPC

Per istruzioni, consulta la sezione Creazione e collegamento di un gateway Internet.

Crea un gateway NAT

Per istruzioni, consulta la sezione Creazione di un gateway NAT. Quando crei il gateway NAT, in Sottorete scegli la sottorete che desideri rendere pubblica. (Dall'esempio precedente: Sottorete pubblica.)

Nota: per testare la configurazione del gateway NAT, consulta la sezione Test del gateway NAT pubblico.

Crea due tabelle di routing personalizzate: una per la sottorete pubblica e una per la sottorete privata

Nota: quando una funzione Lambda collegata ad Amazon VPC effettua richieste, seleziona casualmente una sottorete associata. Se la funzione utilizza una sottorete configurata in modo errato, viene visualizzato un errore. Per evitare errori casuali, assicurati di utilizzare la stessa configurazione per tutte le sottoreti utilizzate dalla funzione.

Per istruzioni, consulta la sezione Creazione di una tabella di routing personalizzata. Quando crei le tabelle di routing, in Tag del nome inserisci un nome per ogni tabella di routing, che ti aiuti a identificare la sottorete a cui è associata. Ad esempio: Sottorete pubblica e Lambda privata.

Per ogni tabella di routing, assicurati di completare i passaggi seguenti:

Per la tabella di routing della sottorete pubblica

1.    Associa la tabella di routing della sottorete pubblica (Public subnet) alla sottorete che desideri rendere pubblica.

2.    Aggiungi un nuovo percorso alla tabella di routing che includa le seguenti configurazioni:

In Destinazione inserisci 0.0.0.0/0.
In Target scegli Gateway Internet, quindi scegli l'ID (igw-123example) del gateway Internet che hai creato. Scegli Salva route.

Per la tabella di routing della sottorete privata

1.    Associa la tabella di routing della sottorete privata (Lambda privata) alle sottoreti private.

2.    Aggiungi un nuovo percorso alla tabella di routing che includa le seguenti configurazioni:

In Destinazione inserisci 0.0.0.0/0.
In Target scegli Gateway NAT. Quindi, scegli l'ID del gateway NAT (nat-123example) che hai creato.

Importante: se utilizzi un'istanza NAT, scegli invece Interfaccia di rete. Scegli Salva route.

Nota: assicurati che gli instradamenti verso il tuo gateway NAT siano attivi. Se il gateway NAT viene eliminato e non hai aggiornato i routing, il loro stato rimarrà su blackhole. Per ulteriori informazioni, consulta la sezione Eliminazione di un gateway NAT.

Verifica che l'ACL della tua rete consenta le richieste in uscita dalla tua funzione Lambda e il traffico in entrata come necessario

La lista di controllo degli accessi di rete (ACL) predefinita nel tuo Amazon VPC consente tutto il traffico in entrata e in uscita. Se modifichi le regole dell'ACL, assicurati di consentire comunque le richieste in uscita dalla tua funzione Lambda.

Inoltre, assicurati che l'ACL consenta il seguente traffico in entrata in base alla configurazione del VPC:

  • Per le sottoreti private che utilizzano un gateway NAT: consenti il traffico in entrata sulle porte effimere 1024-65535.
  • Per le sottoreti private che utilizzano un'istanza NAT: consenti il traffico in entrata sulle porte effimere utilizzate dal sistema operativo dell'istanza NAT.

Nota: per ulteriori informazioni, consulta la sezione Riservatezza del traffico Internet in Amazon VPC.

Crea un ruolo di esecuzione Lambda per il tuo VPC

1.    Apri la pagina Ruoli nella console AWS Identity and Access Management (IAM).

2.    Scegli Crea ruolo. Si aprirà la pagina Crea ruolo.

3.    Nella pagina Crea ruolo, completa i passaggi seguenti:

In Seleziona il tipo di entità affidabile, scegli Servizio AWS.
In Casi d'uso comuni, scegli Lambda.
Scegli Avanti: Autorizzazioni.
In Allega policy di autorizzazione, cerca AWSLambdaVPCAccessExecutionRole.
Seleziona la policy con quel nome. Quindi, scegli Avanti: Tag.
(Facoltativo) Aggiungi tag per il tuo caso d'uso.
Scegli Avanti: Rivedi.
In Nome ruolo, inserisci un nome per il tuo ruolo di esecuzione Lambda. Ad esempio: lambda_vpc_basic_execution.
(Facoltativo) In Descrizione ruolo, inserisci una descrizione del ruolo. Scegli Crea ruolo.

Associa il ruolo alla funzione Lambda

1.    Apri la pagina Funzioni nella console Lambda.

2.    Scegli il nome della funzione che desideri collegare al tuo Amazon VPC.

3.    Seleziona la scheda Configurazione, quindi scegli Autorizzazioni.

4.    In Ruolo di esecuzione, scegli Modifica.

5.    Scegli l'elenco a discesa Ruolo esistente, quindi scegli il tuo ruolo. Ad esempio: lambda_vpc_basic_execution.

6.    Scegli Salva.

Per ulteriori informazioni, consulta la sezione Ruolo di esecuzione Lambda e Creazione di un ruolo di esecuzione nella console di IAM.

Configura la tua funzione Lambda per connetterti al tuo Amazon VPC

1.    Apri la pagina Funzioni nella console Lambda.

2.    Scegli il nome della funzione che desideri collegare al tuo Amazon VPC.

3.    Scegli la scheda Configurazione.

4.    Scegli VPC dalla barra di navigazione a sinistra, quindi scegli Modifica. Quindi, inserisci i campi seguenti:

In Virtual Private Cloud (VPC), scegli il tuo VPC.
In Sottoreti, seleziona le sottoreti private che hai creato. Identificale tramite i loro ID di sottorete (e i loro nomi, se le avevi nominate).
In Gruppi di sicurezza, scegli un gruppo di sicurezza.

Nota: il gruppo di sicurezza predefinito consente tutto il traffico Internet in uscita ed è sufficiente per la maggior parte dei casi d'uso. Per ulteriori informazioni, consulta la sezione Controlla il traffico verso le tue risorse AWS utilizzando gruppi di sicurezza.

5.    Scegli Salva.

Informazioni correlate

Connessione della rete in uscita alle risorse in un VPC

Risoluzione dei problemi di rete in Lambda

How do I troubleshoot Lambda function failures?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa