Ich habe mehrere Instanzen in derselben Sicherheitsgruppe (z. B. Gruppe A), die miteinander kommunizieren müssen, insbesondere Port 4369.
Jede Instanz hat eine andere elastische IP.
Die Sicherheitsgruppe ist so konfiguriert, dass eingehender Datenverkehr über TCP zugelassen wird: 4369 Soruce: sg-XXXXX (Gruppe A)
Instanzen können jedoch nur über die interne IP (10.xxx.xxx.xx) oder das öffentliche DNS von Amazon miteinander kommunizieren: ec2-ELASTIC-IP.compute-1.amazonaws.com (Anscheinend übersetzt Amazon dies in die interne IP) .
Wenn ich Elastic IP verwende, funktioniert es nicht. Wenn ich meinen eigenen vollqualifizierten Domänennamen verwende, der auf die elastische IP verweist, funktioniert dies nicht.
Wenn ich die Quelle in der Eingangsregel von sg-XXXXX (Gruppe A) auf 0.0.0.0 ändere, funktioniert dies mit meinem eigenen vollqualifizierten Domänennamen und der elastischen IP. Wir werden dies jedoch nicht aus Sicherheitsgründen verwenden. Wenn ich die eingehende Regel entferne, funktioniert nichts, selbst wenn Sie die interne IP verwenden.
Was soll ich also tun, wenn ich meinen eigenen vollqualifizierten Domänennamen verwenden möchte? (worker-1.company.com -> Elastic IP), das viel besser lesbar und einfacher zu verwalten ist.
Es ist nicht perfekt, aber Sie können den privaten IPs in der Hosts-Datei jeder Instanz explizite Zuordnungen von den FQDNs hinzufügen. Ihr Code verwendet also einen vollqualifizierten Domänennamen, während das Netzwerk tatsächlich private Kommunikation verwendet (was ohnehin sicherer ist).
Dies ist eine vernünftige Option, wenn Sie eine kleine, relativ feste Anzahl von Instanzen haben. Sie sollten diesen Prozess wahrscheinlich nach Möglichkeit automatisieren.
Sie können auch Route 53, das DNS von Amazon, als Dienst verwenden. Ordnen Sie Ihren vollqualifizierten Domänennamen dem öffentlichen DNS-Namen der Instanz zu. In EC2 wird dies der privaten IP zugeordnet. Sie müssen dies weiterhin mithilfe der Route 53-API automatisieren.
quelle