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à.
Questo argomento spiega i vantaggi dell'utilizzo degli endpoint VPC con Elastic Beanstalk e i diversi tipi di configurazioni che puoi implementare.
Puoi utilizzare un Amazon Virtual Private Cloud (Amazon VPC) per creare una rete sicura per l'applicazione Elastic Beanstalk e le relative risorse. AWS Quando crei l'ambiente, scegli VPC, sottoreti e gruppi di sicurezza usati per le istanze dell'applicazione e il sistema di bilanciamento del carico. Puoi usare qualsiasi configurazione VPC desiderata, a condizione che soddisfi i requisiti seguenti.
Requisiti VPC
-
Accesso a Internet: le istanze possono accedere a Internet tramite uno dei metodi seguenti.
-
Sottorete pubblica: le istanze dispongono di un indirizzo IP pubblico e utilizzano un gateway Internet per accedere a Internet.
-
Sottorete privata: le istanze utilizzano un dispositivo NAT per accedere a Internet.
Nota
Se si configurano endpoint VPC nel VPC per connettersi sia ai servizi
elasticbeanstalk
sia ai servizielasticbeanstalk-health
, l'accesso a Internet è facoltativo ed è richiesto solo se necessario per l'applicazione. Senza endpoint VPC, il VPC deve avere accesso a Internet.Il VPC predefinito impostato automaticamente da Elastic Beanstalk fornisce accesso a Internet.
Elastic Beanstalk non supporta le impostazioni proxy, ad esempio
HTTPS_PROXY
, per configurare un proxy Web. -
-
NTP: le istanze nell'ambiente Elastic Beanstalk utilizzano NTP (Network Time Protocol) per sincronizzare l'orologio di sistema. Se le istanze non sono in grado di comunicare sulla porta UDP 123, l'orologio potrebbe non essere sincronizzato, causando problemi con il reporting dello stato di Elastic Beanstalk. Assicurati che i gruppi di sicurezza e la rete VPC ACLs consentano il traffico UDP in entrata e in uscita sulla porta 123 per evitare questi problemi.
Il elastic-beanstalk-samples
Per creare risorse con un modello AWS CloudFormation
-
Clonare i repository di esempio o scaricare un modello tramite i collegamenti disponibili in README
. -
Apri la AWS CloudFormation console
. -
Seleziona Crea stack.
-
Selezionare Upload a template to Amazon S3 (Carica un modello in Amazon S3).
-
Selezionare Upload file (Carica file), quindi caricare il file modello dalla macchina locale.
-
Scegliere Next (Successivo) e seguire le istruzioni per creare uno stack con le risorse all'interno del modello.
Una volta completata la creazione dello stack, seleziona la scheda Output per trovare l'ID VPC e la sottorete. IDs Usa queste informazioni per configurare il VPC nella categoria di configurazione della rete nella procedura guidata del nuovo ambiente.
Argomenti
VPC pubblico
AWS CloudFormation modello —
Impostazioni (carico bilanciato)
-
Visibilità del sistema di bilanciamento del carico: pubblica
-
Sottoreti del sistema di bilanciamento del carico: entrambe le sottoreti pubbliche
-
IP pubblico istanza: abilitato
-
Sottoreti dell'istanza: entrambe le sottoreti pubbliche
-
Gruppi di sicurezza dell'istanza: aggiungi il gruppo di sicurezza predefinito
Impostazioni (istanza singola)
-
Sottoreti dell'istanza: una delle sottoreti pubbliche
-
Gruppi di sicurezza dell'istanza: aggiungi il gruppo di sicurezza predefinito
Un layout VPC solo pubblico include una o più sottoreti pubbliche, un gateway Internet e un gruppo di sicurezza predefinito che permette il traffico tra le risorse nel VPC. Quando crei un ambiente nel VPC, Elastic Beanstalk crea risorse aggiuntive che variano a seconda del tipo di ambiente.
Risorse VPC
-
Istanza singola: Elastic Beanstalk crea un gruppo di sicurezza per l'istanza dell'applicazione che permette il traffico sulla porta 80 da Internet e assegna all'istanza un IP elastico per fornire un indirizzo IP pubblico. Il nome di dominio dell'ambiente si risolve nell'indirizzo IP pubblico dell'istanza.
-
Carico bilanciato: Elastic Beanstalk crea un gruppo di sicurezza per il sistema di bilanciamento del carico che permette il traffico sulla porta 80 da Internet e un gruppo di sicurezza per le istanze dell'applicazione che permette il traffico dal gruppo di sicurezza del sistema di bilanciamento del carico. Il nome di dominio dell'ambiente si risolve nel nome di dominio pubblico del sistema di bilanciamento del carico.
Ciò è simile al modo in cui Elastic Beanstalk gestisce le reti quando si usa il VPC predefinito. La sicurezza in una sottorete pubblica dipende dal sistema di bilanciamento del carico e dai gruppi di sicurezza delle istanze creati da Elastic Beanstalk. Si tratta della configurazione meno costosa e non richiede un gateway NAT.
VPC pubblico/privato
AWS CloudFormation modello — vpc-privatepublic.yaml
Impostazioni (carico bilanciato)
-
Visibilità del sistema di bilanciamento del carico: pubblica
-
Sottoreti del sistema di bilanciamento del carico: entrambe le sottoreti pubbliche
-
IP pubblico dell'istanza: disabilitato
-
Sottoreti dell'istanza: entrambe le sottoreti private
-
Gruppi di sicurezza dell'istanza: aggiungi il gruppo di sicurezza predefinito
Per maggiore sicurezza, aggiungi sottoreti private al VPC per creare un layout pubblico-privato. Questo layout richiede un sistema di bilanciamento del carico e il gateway NAT nelle sottoreti pubbliche e permette di eseguire le istanze dell'applicazione, il database e tutte le altre risorse nelle sottoreti private. Le istanze nelle sottoreti private possono comunicare con Internet solo tramite il sistema di bilanciamento del carico e il gateway NAT.
VPC privato
AWS CloudFormation modello — vpc-private.yaml
Impostazioni (carico bilanciato)
-
Visibilità del sistema di bilanciamento del carico: privata
-
Sottoreti del sistema di bilanciamento del carico: entrambe le sottoreti sono private
-
IP pubblico dell'istanza: disabilitato
-
Sottoreti dell'istanza: entrambe le sottoreti private
-
Gruppi di sicurezza dell'istanza: aggiungi il gruppo di sicurezza predefinito
Per le applicazioni interne che non devono essere accessibili da Internet, è possibile impostare l'esecuzione nelle sottoreti private e configurare il sistema di bilanciamento del carico come interno, modificando l'impostazione di Load balancer visibility (Visibilità sistema di bilanciamento del carico) su Internal (Interna). Questo modello crea un VPC senza sottoreti pubbliche e senza gateway Internet. Usa questo layout per le applicazioni che devono essere accessibili solo dallo stesso VPC o da una VPN collegata.
Esecuzione di un ambiente Elastic Beanstalk in un VPC privato
L'ambiente Elastic Beanstalk creato in un VPC privato non dispone di accesso a Internet. L'applicazione potrebbe richiedere l'accesso al servizio Elastic Beanstalk o ad altri servizi. L'ambiente potrebbe utilizzare il reporting dello stato avanzato e, in questo caso, le istanze dell'ambiente inviano informazioni sullo stato al servizio di stato avanzato. Inoltre, il codice Elastic Beanstalk sulle istanze di ambiente invia traffico AWS ad altri servizi e altro traffico a punti diversi dagli endpoint (ad esempio, per scaricare pacchetti di dipendenza per l'applicazione).AWS Di seguito sono riportati alcuni passaggi che potrebbe essere necessario eseguire in questo caso per garantire che l'ambiente funzioni correttamente.
-
Configurare gli endpoint VPC per Elastic Beanstalk: Elastic Beanstalk e il relativo servizio di stato avanzato supportano gli endpoint VPC. Ciò garantisce che il traffico verso questi servizi rimanga all'interno della rete Amazon e non richieda l'accesso a Internet. Per ulteriori informazioni, consulta Utilizzo di Elastic Beanstalk con endpoint VPC.
-
Configura gli endpoint VPC per servizi aggiuntivi: le istanze Elastic Beanstalk inviano traffico a diversi altri servizi AWS per tuo conto: Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service (Amazon SQS) e Amazon Logs. AWS CloudFormation CloudWatch È necessario configurare gli endpoint VPC anche per questi servizi. Per informazioni dettagliate sugli endpoint VPC, inclusi i collegamenti per servizio, consulta Endpoint VPC nella Guida per l'utente di Amazon VPC.
Nota
Alcuni AWS servizi, tra cui Elastic Beanstalk, supportano gli endpoint VPC in un numero limitato di regioni. AWS Quando progetti la tua soluzione VPC privata, verifica che Elastic Beanstalk e gli altri servizi dipendenti menzionati qui supportino gli endpoint VPC nella regione scelta. AWS
-
Fornire un'immagine Docker privata: in un ambiente Docker, è possibile che il codice nelle istanze dell'ambiente tenti, senza riuscirci, di estrarre l'immagine Docker configurata da Internet durante la creazione dell'ambiente. Per evitare questo errore, crea un'immagine Docker personalizzata nel tuo ambiente o utilizza un'immagine Docker archiviata in Amazon Elastic Container Registry (Amazon ECR) e configura un endpoint VPC per il servizio Amazon ECR.
-
Abilita i nomi DNS: il codice Elastic Beanstalk sulle istanze di ambiente invia il traffico AWS a tutti i servizi utilizzando i relativi endpoint pubblici. Per garantire il passaggio del traffico, scegliere l'opzione Enable DNS name (Abilita nome DNS) quando si configurano tutti gli endpoint VPC dell'interfaccia. In questo modo viene aggiunta una voce DNS nel VPC che associa l'endpoint del servizio pubblico all'endpoint VPC dell'interfaccia.
Importante
Se il VPC non è privato e dispone di accesso a Internet pubblico e se Enable DNS name (Abilita nome DNS) è disabilitato per qualsiasi endpoint VPC, il traffico verso il rispettivo servizio passa attraverso Internet pubblico. Probabilmente non quanto si desiderava ottenere. È facile rilevare questo problema con un VPC privato, perché impedisce il passaggio del traffico e si ricevono errori. Tuttavia, con un VPC pubblico, non si ottiene alcuna indicazione.
-
Includere dipendenze dell'applicazione: se l'applicazione dispone di dipendenze, ad esempio pacchetti di runtime del linguaggio, potrebbe tentare, senza riuscirci, di scaricarle da Internet e installarle durante la creazione dell'ambiente. Per evitare questo errore, includere tutti i pacchetti di dipendenza nel bundle di origine dell'applicazione.
-
Utilizzare una versione corrente della piattaforma: assicurarsi che l'ambiente utilizzi una versione della piattaforma rilasciata il 24 febbraio 2020 o in seguito. In particolare, utilizzare una versione della piattaforma rilasciata a partire da uno di questi due aggiornamenti: Linux Update 2020-02-28, Windows Update 2020-02-24.
Nota
Una versione aggiornata della piattaforma è necessaria a causa di un problema delle versioni precedenti che impedisce alle voci DNS create dall'opzione Enable DNS name (Abilita nome DNS) di funzionare correttamente per Amazon SQS.