Was muss ich über die IP-Adressen wissen, die meinen Amazon-RDS-DB-Instances zugewiesen sind?

Lesedauer: 5 Minute
0

Ich suche nach Informationen zu den IP-Adressen, die meinen Amazon-Relational-Database-Services (Amazon RDS)-Instances zugewiesen sind.

Auflösung

Wenn Amazon RDS eine DB-Instance in einer Virtual Private Cloud (VPC) erstellt, wird Ihrer DB-Instance eine Netzwerkschnittstelle mit einer IP-Adresse aus Ihrer DB-Subnetzgruppe zugewiesen. Zwei verschiedene Arten von IP-Adressen werden Ihrer Instance basierend auf der Konfiguration Ihrer Instance zugewiesen.

  • Private IP-Adresse: Wenn Sie eine DB-Instance innerhalb einer VPC starten, verfügt die DB-Instance über eine private IP-Adresse für den Datenverkehr innerhalb der VPC. Auf diese IP-Adresse kann nicht über das Internet zugegriffen werden. Diese IP-Adresse wird für die Verbindung mit der Instance von den Ressourcen innerhalb derselben VPC verwendet. Standardmäßig hat jede Amazon-RDS-DB-Instance eine private IP-Adresse. Diese IP-Adresse wird aus dem Bereich zugewiesen, den Sie in Ihrer DB-Subnetzgruppe definiert haben.
  • Öffentliche IP-Adresse: Die öffentliche IP-Adresse ist über das Internet zugänglich. Diese IP-Adresse wird für die Verbindung mit der Instance von den Ressourcen außerhalb der VPC oder aus dem Internet verwendet. Eine öffentliche IP-Adresse wird Ihrer DB-Instance nur zugewiesen, wenn die Konfigurationseinstellung Öffentlich zugänglich für die Instance ausgewählt ist.

Ich habe die Einstellung Öffentlich zugänglich für meine RDS-Instance ausgewählt, der Instance ist jedoch keine öffentliche IP-Adresse zugewiesen

In der Regel passiert dies, wenn die Subnetze in Ihrer DB-Subnetzgruppe private Subnetze sind.

Gehen Sie wie folgt vor, um dieses Problem zu beheben:

  1. Öffnen Sie die Amazon-RDS-Konsole.
  2. Wählen Sie im Navigationsbereich Subnetz-Gruppen aus.
  3. Wählen Sie die Subnetzgruppe aus, mit der die DB-Instance verknüpft ist.
    Sie können die Subnetzgruppen mit der VPC-ID und den Subnetz-IDs der verknüpften Subnetze anzeigen.
  4. Öffnen Sie die Amazon-VPC-Konsole.
  5. Wählen Sie im Navigationsbereich Internet-Gateways aus.
  6. Prüfen Sie, ob Ihre VPC an ein Internet-Gateway angeschlossen ist.
    Wenn Ihre VPC nicht an ein Internet-Gateway angeschlossen ist, erstellen Sie ein Internet-Gateway und schließen Sie es an Ihre VPC an.
  7. Wählen Sie im Navigationsbereich Routing-Tabellen aus.
  8. Wählen Sie die mit Ihrer VPC verknüpfte Routing-Tabelle aus.
  9. Wählen Sie die Registerkarte Subnetzzuordnungen. Stellen Sie dann sicher, dass alle Subnetze in Ihrer DB-Subnetzgruppe an die Routing-Tabelle angefügt sind.
    Wenn die Subnetze nicht mit der Routing-Tabelle verknüpft sind, wählen Sie Subnetzzuordnungen bearbeiten. Wählen Sie dann das Subnetz aus, das mit der Routing-Tabelle verknüpft werden soll. Weitere Informationen finden Sie unter Zuordnen eines Subnetzes mit einer Routing-Tabelle.
  10. Wählen Sie die Registerkarte Routen. Stellen Sie dann sicher, dass alle Subnetze in Ihrer DB-Subnetzgruppe 0.0.0.0/0 im Feld Ziel und die Internet-Gateway-ID im Feld Ziel haben.
    Wenn die Subnetze unterschiedliche Werte für die Felder Ziel und Ziel haben, bearbeiten Sie die Route so, dass sie die vorhergehenden Werte einschließt. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von Routen aus einer Routing-Tabelle.
  11. Öffnen Sie die Amazon-RDS-Konsole.
  12. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.
  13. Wählen Sie die DB-Instance aus, die Sie ändern möchten, und wählen Sie dann Ändern.
  14. Erweitern Sie unter Konnektivität den Abschnitt Zusätzliche Konfiguration und wählen Sie dann Öffentlich zugänglich aus.
  15. Wählen Sie Weiter.
  16. Wählen Sie DB-Instance ändern.

Hinweis: Stellen Sie sicher, dass Ihre Subnetzgruppe keine Kombination aus öffentlichen und privaten Subnetzen enthält. Diese Kombination kann zu Situationen führen, z. B. die primäre Instance, die im öffentlichen Subnetz ausgeführt wird, während die sekundäre Instance in einem privaten Subnetz in einer Multi-AZ-Konfiguration ausgeführt wird. Diese Situationen führen nach einem Failover zu Verbindungsproblemen.

Ich möchte die privaten und öffentlichen IP-Adressen für meine Amazon-RDS-DB-Instance finden

In Amazon RDS sind die IP-Adressen dynamisch, während die Endpunkte statisch sind. Daher empfiehlt es sich, Endpunkte zu verwenden, um eine Verbindung zu Ihrer Instance herzustellen. Jede Amazon-RDS-Instance hat einen Endpunkt. Gehen Sie wie folgt vor, um den Endpunkt, auch DNS-Name genannt, Ihrer Instance zu finden:

  1. Öffnen Sie die Amazon-RDS-Konsole.
  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.
  3. Wählen Sie die Datenbankinstance aus, für die Sie die IP-Adresse finden möchten.
  4. Wählen Sie die Registerkarte Verbindung und Sicherheit aus.

Sie können die Endpunktinformationen im Abschnitt Endpunkt und Port einsehen.

Wenn Sie versuchen, von Ressourcen innerhalb derselben VPC eine Verbindung zu Ihrer DB-Instance herzustellen, wird Ihr RDS-Endpunkt automatisch in die private IP-Adresse aufgelöst. Wenn Sie von außerhalb der VPC oder des Internets eine Verbindung zu Ihrer DB-Instance herstellen, wird der Endpunkt in eine öffentliche IP-Adresse aufgelöst.

Sie können die IP-Adresse Ihrer RDS-Instance auch ermitteln, indem Sie einen der folgenden Befehle ausführen:

nslookup example-rds-endpoint

-oder-

dig example-rds-endpoint

Möglicherweise wird eine Ausgabe ähnlich der folgenden angezeigt, wenn Sie den nslookup-Befehl für eine RDS-DB-Instance ausführen:

  • Die Ausgabe einer Amazon-Elastic-Compute-Cloud (Amazon EC2)-Instance in derselben VPC wird in eine private IP-Adresse aufgelöst:
[ec2-user@ip-172-xx-xx-xx ~]$ nslookup myoracledb.xxxxx.us-east-1.rds.amazonaws.com
Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53
Non-authoritative answer: myoracledb.xxxxx.us-east-1.rds.amazonaws.com canonical name = ec2-3-232-189-42.compute-1.amazonaws.com.
Name: ec2-3-232-189-42.compute-1.amazonaws.com
Address: 172.31.8.27
  • Die Ausgabe einer Amazon-EC2-Instance in einer anderen VPC wird auf die öffentliche IP-Adresse aufgelöst:
[ec2-user@ip-172-xx-xx-xx ~]$ nslookup myoracledb.xxxxx.us-east-1.rds.amazonaws.com
Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53
Non-authoritative answer: myoracledb.xxxxx.us-east-1.rds.amazonaws.com canonical name = ec2-3-232-189-42.compute-1.amazonaws.com.
Name: ec2-3-232-189-42.compute-1.amazonaws.com
Address: 3.232.189.42

Die IP-Adressen meiner DB-Instances sind nicht konsistent

Da die IP-Adresse Ihrer Instance dynamisch ist, können Sie Ihrer Instance keine statische IP-Adresse oder eine elastische IP-Adresse zuweisen. Die einer RDS-DB-Instance zugewiesene IP-Adresse ändert sich unter einer oder mehreren der folgenden Bedingungen:

  • Die Instance wird angehalten und erneut gestartet.
    Hinweis: Wenn die Instance neu gestartet wird, ändern sich die IP-Adressen nicht.
  • Der zugrunde liegende Host wird aufgrund von Umständen wie Instance-Ausfall und Aktualisierung der DB-Instance-Klasse ersetzt.
  • Auf der Instance fand eine Hardware-Wartung statt.
  • Die Instance befindet sich in einer Multi-AZ-Umgebung und es kam zu einem Failover.
  • Das Betriebssystem der DB-Instance wird einem Software-Patching unterzogen.
  • Ein manuelles Failover der DB-Instance wird durch einen Neustart mit Failover eingeleitet.
  • Die DB-Engine wird einem Haupt- oder Nebenversionsupgrade unterzogen.
  • In der Availability Zone der Instance liegt ein Ausfall vor.

Relevante Informationen

Arbeiten mit einer DB-Instance in einer VPC

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren