Genera un indirizzo IP statico in uscita utilizzando una funzione Lambda, Amazon VPC e un'architettura serverless - Prontuario AWS

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à.

Genera un indirizzo IP statico in uscita utilizzando una funzione Lambda, Amazon VPC e un'architettura serverless

Creato da Thomas Scott (AWS)

Ambiente: produzione

Tecnologie: contenitori e microservizi; Sviluppo e test del software

Servizi AWS: AWS Lambda

Riepilogo

Questo modello descrive come generare un indirizzo IP statico in uscita nel cloud Amazon Web Services (AWS) utilizzando un'architettura serverless. La tua organizzazione può trarre vantaggio da questo approccio se desidera inviare file a un'entità aziendale separata utilizzando il Secure File Transfer Protocol (SFTP). Ciò significa che l'entità aziendale deve avere accesso a un indirizzo IP che consenta ai file di attraversare il firewall. 

L'approccio del pattern ti aiuta a creare una funzione AWS Lambda che utilizza un indirizzo IP elastico come indirizzo IP in uscita. Seguendo i passaggi di questo schema, è possibile creare una funzione Lambda e un cloud privato virtuale (VPC) che instrada il traffico in uscita attraverso un gateway Internet con un indirizzo IP statico. Per utilizzare l'indirizzo IP statico, è necessario collegare la funzione Lambda al VPC e alle relative sottoreti. 

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo. 

  • Autorizzazioni AWS Identity and Access Management (IAM) per creare e distribuire una funzione Lambda e per creare un VPC e le relative sottoreti. Per ulteriori informazioni su questo argomento, consulta Ruolo di esecuzione e autorizzazioni utente nella documentazione di AWS Lambda.

  • Se prevedi di utilizzare l'infrastruttura come codice (IaC) per implementare l'approccio di questo modello, hai bisogno di un ambiente di sviluppo integrato (IDE) come AWS Cloud9. Per ulteriori informazioni su questo argomento, consulta Cos'è AWS Cloud9? nella documentazione di AWS Cloud9.

Architettura

Il diagramma seguente mostra l'architettura serverless per questo modello.

Il diagramma mostra il flusso di lavoro seguente:

  1. Il traffico in uscita esce. NAT gateway 1 Public subnet 1

  2. Il traffico in uscita esceNAT gateway 2. Public subnet 2

  3. La funzione Lambda può essere eseguita in Private subnet 1 o. Private subnet 2

  4. Private subnet 1e Private subnet 2 indirizzano il traffico verso i gateway NAT nelle sottoreti pubbliche.

  5. I gateway NAT inviano il traffico in uscita al gateway Internet dalle sottoreti pubbliche.

  6. I dati in uscita vengono trasferiti dal gateway Internet al server esterno.

Stack tecnologico

  • Lambda

  • Amazon Virtual Private Cloud (Amazon VPC) (Amazon VPC)

 

Automazione e scalabilità

È possibile garantire l'alta disponibilità (HA) utilizzando due sottoreti pubbliche e due private in diverse zone di disponibilità. Anche se una zona di disponibilità diventa non disponibile, la soluzione del pattern continua a funzionare.

Strumenti

  • AWS Lambda: AWS Lambda è un servizio di elaborazione che supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server. Lambda esegue il codice solo quando è necessario e si dimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. Verrà addebitato soltanto il tempo di calcolo consumato e non verrà addebitato alcun costo quando il codice non è in esecuzione.

  • Amazon VPC: Amazon Virtual Private Cloud (Amazon VPC) fornisce una sezione logicamente isolata del cloud AWS in cui è possibile avviare le risorse AWS in una rete virtuale definita dall'utente. Questa rete virtuale è simile a una comune rete da gestire all'interno del proprio data center, ma con i vantaggi dell'infrastruttura scalabile di AWS.

Epiche

AttivitàDescrizioneCompetenze richieste
Crea un nuovo VPC.

Accedi alla Console di gestione AWS, apri la console Amazon VPC e crea un VPC denominato Lambda VPC che abbia 10.0.0.0/25 come intervallo CIDR IPv4.

Per ulteriori informazioni sulla creazione di un VPC, consulta la sezione Guida introduttiva ad Amazon VPC nella documentazione di Amazon VPC

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Crea la prima sottorete pubblica.
  1. Sulla console Amazon VPC, scegli Subnet, quindi scegli Crea sottorete. 

  2. Per Nome tag, inserisci public-one.

  3. Per VPC, scegliere Lambda VPC.

  4. Scegli una zona di disponibilità e registrala. 

  5. Per il blocco CIDR IPv4, inserisci 10.0.0.0/28 e quindi scegli Crea sottorete.

Amministratore AWS
Crea la seconda sottorete pubblica.
  1. Sulla console Amazon VPC, scegli Subnet, quindi scegli Crea sottorete. 

  2. Per Nome tag, inserisci public-two.

  3. Per VPC, scegliere Lambda VPC.

  4. Scegli una zona di disponibilità e registrala. Importante: non è possibile utilizzare la zona di disponibilità che contiene la public-one sottorete. 

  5. Per il blocco CIDR IPv4, inserisci 10.0.0.16/28 e quindi scegli Crea sottorete.

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Crea la prima sottorete privata.
  1. Sulla console Amazon VPC, scegli Subnet, quindi scegli Crea sottorete. 

  2. Per Nome tag, inserisci private-one.

  3. Per VPC, scegliere Lambda VPC.

  4. Scegli la zona di disponibilità che contiene la public-one sottorete creata in precedenza. 

  5. Per il blocco CIDR IPv4, inserisci 10.0.0.32/28 e quindi scegli Crea sottorete.

Amministratore AWS
Crea la seconda sottorete privata.
  1. Sulla console Amazon VPC, scegli Subnet, quindi scegli Crea sottorete. 

  2. Per Nome tag, inserisci private-two.

  3. Per VPC, scegliere Lambda VPC.

  4. Scegli la stessa zona di disponibilità che contiene la public-two sottorete creata in precedenza. 

  5. Per il blocco CIDR IPv4, inserisci 10.0.0.64/28 e quindi scegli Crea sottorete.

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Crea il primo indirizzo IP elastico.
  1. Sulla console Amazon VPC, scegli IP elastici, quindi scegli Alloca nuovo indirizzo.

  2. Scegli Alloca e registra l'ID di allocazione per il tuo indirizzo IP elastico appena creato.

Nota: questo indirizzo IP elastico viene utilizzato per il primo gateway NAT. 

Amministratore AWS
Crea il secondo indirizzo IP elastico.
  1. Sulla console Amazon VPC, scegli IP elastici, quindi scegli Alloca nuovo indirizzo.

  2. Scegli Alloca e registra l'ID di allocazione per questo secondo indirizzo IP elastico.

Nota: questo indirizzo IP elastico viene utilizzato per il secondo gateway NAT.

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Creazione di un gateway Internet
  1. Sulla console Amazon VPC, scegli Internet Gateways, quindi scegli Crea gateway internet.

  2. Inserisci Lambda internet gateway come nome e poi scegli Crea gateway internet. Assicurati di registrare l'ID del gateway Internet. 

Amministratore AWS
Collega il gateway Internet al VPC.

Selezionare l'Internet Gateway appena creato, quindi selezionare Actions, Attach to VPC (Operazioni, Collega al VPC).

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Crea il primo gateway NAT.
  1. Sulla console Amazon VPC, scegli NAT Gateway, quindi scegli Crea NAT Gateway.

  2. Inserisci nat-one come nome del gateway NAT.

  3. Scegli public-one come sottorete in cui creare il gateway NAT.

  4. Per Tipo di connettività, scegli Pubblico.

  5. Per Elastic IP allocation ID, scegli il primo indirizzo IP elastico creato in precedenza e associalo al gateway NAT.

  6. Scegli Crea gateway NAT.

Amministratore AWS
Crea il secondo gateway NAT.
  1. Sulla console Amazon VPC, scegli NAT Gateway, quindi scegli Crea NAT Gateway.

  2. Inserisci nat-two come nome del gateway NAT.

  3. Scegli public-two come sottorete in cui creare il gateway NAT.

  4. Per Tipo di connettività, scegli Pubblico.

  5. Per Elastic IP allocation ID, scegli il secondo indirizzo IP elastico creato in precedenza e associalo al gateway NAT.

  6. Scegli Crea gateway NAT.

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Crea la tabella di routing per la subnet public-one.
  1. Sulla console Amazon VPC, scegli Route Tables, quindi scegli Create route table.

  2. Inserisci public-one-subnet come nome della tabella di routing, quindi scegli Crea tabella di routing.

  3. Scegli la tabella dei public-one-subnet percorsi, scegli Modifica percorsi, quindi scegli Aggiungi percorso.

  4. 0.0.0.0Specificalo nella casella Destinazione, quindi scegli l'ID del gateway Internet nell'elenco Target.

  5. Nella scheda Associazioni di sottoreti, scegli Modifica associazioni di sottorete, scegli la public-one sottorete con l'intervallo 10.0.0.0/28 CIDR, quindi scegli Salva associazioni.

  6. Seleziona Salva modifiche.

Amministratore AWS
Crea la tabella di routing per la sottorete public-two.
  1. Sulla console Amazon VPC, scegli Route Tables, quindi scegli Create route table.

  2. Inserisci public-two-subnet come nome della tabella di routing, quindi scegli Crea tabella di routing.

  3. Scegli la tabella dei public-two-subnet percorsi, scegli Modifica percorsi, quindi scegli Aggiungi percorso.

  4. 0.0.0.0Specificalo nella casella Destinazione, quindi scegli l'ID del gateway Internet nell'elenco Target.

  5. Nella scheda Associazioni di sottoreti, scegli Modifica associazioni di sottorete, scegli la public-two sottorete con l'intervallo 10.0.0.16/28 CIDR, quindi scegli Salva associazioni.

  6. Seleziona Salva modifiche.

Amministratore AWS
Crea la tabella di routing per la sottorete privata.
  1. Sulla console Amazon VPC, scegli Route Tables, quindi scegli Create route table.

  2. Inserisci private-one-subnet come nome della tabella di routing, quindi scegli Crea tabella di routing.

  3. Scegli la tabella dei private-one-subnet percorsi, scegli Modifica percorsi, quindi scegli Aggiungi percorso.

  4. 0.0.0.0Specificalo nella casella Destinazione, quindi scegli il gateway NAT nella public-one sottorete nell'elenco Target.

  5. Nella scheda Associazioni di sottoreti, scegli Modifica associazioni di sottoreti, scegli la private-one sottorete con l'intervallo 10.0.0.32/28 CIDR, quindi scegli Salva associazioni.

  6. Seleziona Salva modifiche.

Amministratore AWS
Crea la tabella di routing per la sottorete private-two.
  1. Sulla console Amazon VPC, scegli Route Tables, quindi scegli Create route table.

  2. Inserisci private-two-subnet come nome della tabella di routing, quindi scegli Crea tabella di routing.

  3. Scegli la tabella dei private-two-subnet percorsi, scegli Modifica percorsi, quindi scegli Aggiungi percorso.

  4. 0.0.0.0Specificalo nella casella Destinazione, quindi scegli il gateway NAT nella public-two sottorete nell'elenco Target.

  5. Nella scheda Associazioni di sottoreti, scegli Modifica associazioni di sottoreti, scegli la private-two sottorete con l'intervallo 10.0.0.64/28 CIDR, quindi scegli Salva associazioni.

  6. Seleziona Salva modifiche.

Amministratore AWS
AttivitàDescrizioneCompetenze richieste
Crea una nuova funzione Lambda.
  1. Apri la console AWS Lambda e scegli Crea funzione.

  2. In Informazioni di base, inserisci il Lambda test nome della funzione, quindi scegli la lingua che preferisci in Runtime.

  3. Scegli Crea funzione.

Amministratore AWS
Aggiungi la funzione Lambda al tuo VPC.
  1. Nella console AWS Lambda, scegli Funzioni, quindi scegli la funzione che hai creato in precedenza. 

  2. Scegliere Configuration (Configurazione) e quindi scegliere VPC.

  3. Scegli Modifica, quindi scegli entrambe Lambda VPC le sottoreti private.

  4. Scegli il gruppo di sicurezza predefinito a scopo di test, quindi scegli Salva.

Amministratore AWS
Scrivi codice per chiamare un servizio esterno.
  1. Nel linguaggio di programmazione che preferisci, scrivi il codice per chiamare un servizio esterno che restituisce il tuo indirizzo IP.

  2. Verifica che l'indirizzo IP restituito corrisponda a uno dei tuoi indirizzi IP elastici.

Amministratore AWS

Risorse correlate