20 Stimmen

Amazon RDS-Endpunkt intern

Wie kann ich eine EC2-Instanz mit einer RDS-Instanz auf AWS über die interne IP-Adresse oder DNS kommunizieren lassen? Ich sehe nur einen öffentlichen DNS wie xxx.cehmrvc73g1g.eu-west-1.rds.amazonaws.com:3306 Wird die interne IP-Adresse schneller sein als der öffentliche DNS?

Danke

37voto

Felipe Alvarez Punkte 3474

Eine Notiz für die Nachwelt, stellen Sie sicher, dass Sie DNS auf dem VPC Peering-Link aktivieren! Bildbeschreibung hier eingeben

Aktivieren der DNS-Auflösungsunterstützung für eine VPC-Peering-Verbindung

Um einem VPC zu ermöglichen, öffentliche IPv4-DNS-Hostnamen in private IPv4-Adressen aufzulösen, wenn sie von Instanzen im Partner-VPC abgefragt werden, müssen Sie die Peering-Verbindung ändern.

Beide VPCs müssen für DNS-Hostnamen und DNS-Auflösung aktiviert sein.

Um die DNS-Auflösungsunterstützung für die Peering-Verbindung zu aktivieren

  1. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsbereich Peering-Verbindungen.

  3. Wählen Sie die VPC-Peering-Verbindung aus und wählen Sie Aktionen, DNS-Einstellungen bearbeiten.

  4. Um sicherzustellen, dass Anfragen aus dem Partner-VPC in private IP-Adressen in Ihrem lokalen VPC aufgelöst werden, wählen Sie die Option zur Aktivierung der DNS-Auflösung für Anfragen aus dem Partner-VPC.

  5. Wenn sich der Partner-VPC im selben AWS-Konto befindet, können Sie die Option zur Aktivierung der DNS-Auflösung für Anfragen aus dem lokalen VPC wählen. Dies gewährleistet, dass Anfragen aus dem lokalen VPC in private IP-Adressen im Partner-VPC aufgelöst werden. Diese Option ist nicht verfügbar, wenn sich der Partner-VPC in einem anderen AWS-Konto befindet.

  6. Wählen Sie Speichern.

  7. Wenn sich der Partner-VPC in einem anderen AWS-Konto befindet, muss der Besitzer des Partner-VPC sich in die VPC-Konsole anmelden, die Schritte 2 bis 4 durchführen und Speichern wählen.

14voto

Neo Punkte 10202

Sie können den "Endpunkt" DNS-Namen verwenden. Dieser wird auf die interne IP aufgelöst, wenn er innerhalb des VPC verwendet wird, und auf eine öffentliche IP aufgelöst, wenn er außerhalb Ihres AWS-Netzwerks verwendet wird. Sie sollten niemals die tatsächliche IP-Adresse verwenden, da sich die Art und Weise, wie RDS funktioniert, möglicherweise in Zukunft ändern könnte.

Sie können dies überprüfen, indem Sie von Ihrem EC2-Server (im selben VPC) aus einen Ping darauf ausführen.

Es ist erstaunlich zu sehen, wie viele negative Bewertungen ich erhalten habe, obwohl meine Antwort die einzig korrekte Antwort ist. Hier sind 2 weitere Quellen:

https://forums.aws.amazon.de/thread.jspa?threadID=70112

Sie können den "Endpunkt" DNS-Namen verwenden. Dieser wird auf die interne IP aufgelöst, wenn er innerhalb von EC2 verwendet wird.

https://serverfault.de/fragen/601548/kann-die-private-ip-adresse-meiner-amazon-rds-instanz-nicht-finden2

Der im AWS-Konsole bereitgestellte DNS-Endpunkt wird intern zu den IPs von Amazon aufgelöst.

4voto

Ryan Parman Punkte 6740

Schauen Sie sich die AWS EC2-Dokumentation an: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-private-addresses.

Es scheint jedoch nicht, dass dies unbedingt auf RDS zutrifft.

0voto

Simon Pilepich Punkte 1

Beim Auflösen Ihrer RDS-Instanz innerhalb derselben VPC wird die interne IP-Adresse vom Amazon-DNS-Dienst zurückgegeben und sollte die interne IP-Adresse zurückgeben, wenn sie sich in derselben VPC befindet. Sie sollten nichts weiter tun müssen.

Wenn die RDS-Instanz extern erreichbar ist, sehen Sie die externe IP-Adresse von außerhalb der VPC. Wenn die EC2-Instanz jedoch nicht öffentlich erreichbar ist, wird die interne IP-Adresse sowohl für externe als auch interne Abfragen zurückgegeben.

Wird die interne IP-Adresse schneller sein als die externe Adresse, die vom öffentlichen DNS bereitgestellt wird? Vermutlich, da die Pakete beim Verwenden der externen Adressen erst aus dem VPC heraus geroutet werden müssen und dann zurückkommen, was die Latenz erhöht.

Es erfordert auch, dass Ihre EC2-Instanzen eine öffentliche IP oder ein NAT-Gateway sowie entsprechende Sicherheitsgruppen und Routen haben, was die Kosten erhöht, die Komplexität erhöht und die Sicherheit verringert.

0voto

Raun Punkte 19

Es ist ziemlich einfach, verbinden Sie Ihren RDS-Endpunkt mit dem Telnet-Befehl über die Eingabeaufforderung unter Windows oder das Unix-Terminal

zum Beispiel: telnet "Ihr RDS-Endpunkt" "Port"

Versuchen Sie, "Ihre RDS-interne IP hier zu erhalten" zu verbinden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X