Ho un nodo EC2, nodo1 (gruppo di sicurezza SG1) che dovrebbe essere accessibile da un altro nodo EC2, nodo2 (gruppo di sicurezza SG2) sulla porta 9200. Ora, quando aggiungo una regola in entrata in SG1 con la porta 9200 e specifica SG2 come origine nella sezione IP personalizzata, non riesco ad accedere a node1 da node2. D'altra parte, se si specifica una regola in entrata in SG1 con origine come 0.0.0.0/0 o IP di node2, funziona correttamente. Cosa c'è di sbagliato nel mio approccio?Il gruppo di sicurezza dell'origine non funziona come previsto in AWS
risposta
Si sta tentando di connettersi all'indirizzo pubblico o privato di node1? Dal documentation:
Quando si specifica un gruppo di protezione come l'origine o la destinazione per una regola , la regola ha effetto su tutti casi associati con la sicurezza gruppo. Ad esempio, il traffico in entrata è consentito in base agli indirizzi IP privati delle istanze associate al gruppo di sicurezza di origine.
Sono stato masterizzato su questo prima tentando di connettersi all'indirizzo pubblico di un'istanza EC2 ... suona molto simile alla tua configurazione, in realtà. Quando si collega la regola in entrata in modo che l'origine sia un gruppo di sicurezza, è necessario comunicare attraverso l'indirizzo privato dell'istanza di origine.
Alcune cose di essere a conoscenza di:
- In EC2 Classic, indirizzi IP privati possono cambiare su Stop/Start di un'istanza EC2. Se stai utilizzando EC2 classic potresti voler esaminare this discussion on Elastic DNS Names per una soluzione di indirizzamento più statica.
- Se si imposta l'ambiente in VPC, private IP addresses are static. È inoltre possibile modificare l'appartenenza al gruppo di sicurezza delle istanze in esecuzione.
Motivo: La comunicazione inter-gruppo di sicurezza funziona tramite indirizzamento privato. Se si utilizza l'indirizzo IP pubblico, la regola del firewall non riconoscerà il gruppo di sicurezza dell'origine.
Soluzione: È necessario indirizzare le istanze utilizzando il record DNS pubblico: questo verrà effettivamente indirizzato all'indirizzo IP privato quando una delle istanze interroga il nome DNS.
ad es. se l'istanza ha IP pubblico 203.0.113.185
e IP privato 10.1.234.12
, viene fornito un nome DNS pubblico come ec2-203-0-113-185.eu-west-1.compute.amazonaws.com
.
ec2-203-0-113-185.eu-west-1.compute.amazonaws.com
risolverà a 203.0.113.185
se richiesto esternamente o 10.1.234.12
se richiesto internamente. Ciò consentirà ai gruppi di sicurezza di funzionare come previsto.
Ciò consentirà di utilizzare un IP elastico poiché si utilizza semplicemente la voce Public DNS dell'IP elastico. Inoltre, having the DNS resolve to the internal IP means that you are not incurring bandwidth charges for your data between instances:
istanze che accedono altri casi attraverso il loro pubblico NAT IP indirizzo pagano per il trasferimento dei dati regionali o Internet, a seconda se le istanze sono nella stessa regione.
Il DNS pubblico non ha funzionato per me. Quello che ho fatto è stato invece creare una regola in entrata personalizzata usando il gruppo di sicurezza dell'altra istanza.
- 1. Il gruppo di Django non funziona come previsto
- 2. Posso aggiungere il nome DNS nel gruppo di sicurezza aws
- 3. Nome gruppo gruppo di sicurezza Cloudformation nome gruppo
- 4. PHP is_int non funziona come previsto
- 5. infine non funziona come previsto
- 6. kendo.ui.progress non funziona come previsto
- 7. chrome.runtime.sendMessage non funziona come previsto
- 8. StrUtils.SplitString non funziona come previsto
- 9. e.stopPropagation() non funziona come previsto?
- 10. @AfterThrowing non funziona come previsto
- 11. TagBuilder.MergeAttributes non funziona come previsto
- 12. DateTime.AddDays() non funziona come previsto
- 13. pigrizia non funziona come previsto
- 14. SimpleDateFormat non funziona come previsto
- 15. raggiungibilità non funziona come previsto
- 16. Time.use_zone non funziona come previsto
- 17. jQuery.inArray() non funziona come previsto
- 18. nubBy non funziona come previsto
- 19. AWS boto controlla se il gruppo di sicurezza o altri elementi sono pronti
- 20. Focus non funziona come previsto in ListView
- 21. .split() non funziona come previsto in IE8
- 22. I gruppi di sicurezza AWS su un account AWS possono fare riferimento a gruppi di sicurezza in un altro?
- 23. postfix per il ciclo in Perl non funziona come previsto
- 24. Kubernetes e AWS: impostare LoadBalancer per utilizzare il gruppo di sicurezza predefinito
- 25. Rx Riprova() non funziona come previsto
- 26. Il metodo `bind` di JavaScript non funziona come previsto
- 27. Il costruttore di array non funziona come previsto
- 28. java.io.File (genitore, figlio) non funziona come previsto
- 29. Android launchmode = "singleTask" non funziona come previsto
- 30. match_parent che non funziona come previsto