2014-11-28 16 views
12

Ho visto un po 'di domande simili come this one, ma nessuna dà una risposta generale. Sono nuovo di AWS. Ho 2 istanze in esecuzione nel mio VPC in questo momento. Ho un setup ELB davanti a loro che sta funzionando bene nel routing del traffico verso entrambi. Il problema è che entrambe le istanze possono anche essere colpite con HTTP dall'intero web. Mi piacerebbe cambiare le cose in modo che le mie istanze possano solo essere colpite su HTTP attraverso il mio ELB. Come posso fare questo?Consenti accesso HTTP alle istanze AWS solo tramite ELB

+1

Hai familiarità con i gruppi di sicurezza in AWS? – helloV

risposta

22

Ho trovato quello che stavo cercando. Nei gruppi di sicurezza, è possibile aggiungere un altro gruppo di sicurezza come origine in IP personalizzato. Sarebbe stato grandioso se Amazon avesse reso più chiaro che questo era permesso, dal momento che un gruppo di sicurezza non è affatto un IP personalizzato. Ad ogni modo, questo è il modo in cui lo fai: rules

+0

È inoltre possibile inserire le istanze EC2 in una sottorete privata, il che significa che non vi è alcun modo per accedervi da Internet. Inoltre, non è necessario che abbiano indirizzi IP pubblici poiché l'ELB utilizzerà un indirizzo IP interno per accedervi. –

+0

@Eli - dove è applicato il gruppo di sicurezza? L'ELB o l'istanza EC2 stessa? – hybrid9

+0

@ hybrid9 si modificano le regole per il gruppo di sicurezza delle istanze EC2 per consentire l'accesso HTTP/HTTPS dal gruppo di sicurezza di ELB. – Eli

0

Ho intenzione di suggerire il seguente approccio aggiuntivo che arriva molto tempo dopo che la soluzione originale è stata accettata. La soluzione originale è forse la migliore, ma l'approccio di seguito è semplice e se nient'altro potrebbe aiutare nella risoluzione dei problemi.

In primo luogo, dissociare dalle istanze eventuali regole o gruppi di sicurezza che consentono HTTP dal web in generale. Essere particolarmente sospettoso di 0.0.0.0/0 che significa tutti gli indirizzi IP. Quindi, nel gruppo di sicurezza applicato all'istanza, consentire la porta 80/http dallo spazio degli indirizzi privati ​​del VPC. Se, ad esempio, lo spazio degli indirizzi privati ​​del VPC è 172.31.0.0/16, quindi consentire a tale intervallo di accedere all'istanza tramite un gruppo di sicurezza applicato direttamente all'istanza. A questo punto il server httpd si collega all'istanza dovrebbe mostrare i tentativi di accesso dagli specifici indirizzi privati ​​del servizio di bilanciamento del carico. Supponendo che il file di destinazione del controllo dello stato esista e sia servito correttamente da httpd, lo stato di controllo dello stato del gruppo target dovrebbe passare da non salutare a sano. Si noti che il controllo dello stato del bilanciamento del carico si identifica chiaramente nei registri httpd come ELB-HealthChecker.

172.31.3.56 - - [24/Oct/2017:17:02:36 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 
172.31.20.249 - - [24/Oct/2017:17:02:36 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 
172.31.3.56 - - [24/Oct/2017:17:03:06 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 
172.31.20.249 - - [24/Oct/2017:17:03:06 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 

A questo punto si potrebbe limitare gli indirizzi IP consentiti dal gruppo di protezione solo a quelli mostrando nei registri httpd, ma vorrei stare attento, perché se l'ELB viene riavviato o se la sua configurazione viene modificato o ricaricato, dubito che sia garantito riacquistare gli stessi indirizzi privati ​​che aveva prima.

Ora che il bilanciamento del carico riconosce i suoi obiettivi come sani, li considererà pronti per il servizio e inizieranno a indirizzare il traffico verso di essi. E secondo gli obiettivi del poster originale ("Il problema è che entrambe le istanze possono anche essere colpite con HTTP dall'intero web.") Questo approccio non consente l'accesso alle istanze dall'intero web.

Molti lettori avranno familiarità con l'indirizzamento privato. Per chiunque non sia the Wikipedia article è un buon riferimento come qualsiasi.

Problemi correlati