Direkt zum Inhalt

Wie behebe ich Probleme mit den IP-Adressen für meine Amazon RDS-DB-Instances?

Lesedauer: 4 Minute
0

Ich möchte Probleme mit den IP-Adressen beheben, die Amazon Relational Database Services (Amazon RDS) meinen DB-Instances zuweist.

Lösung

Wenn Amazon RDS eine DB-Instance in einer Virtual Private Cloud (VPC) erstellt, weist Amazon RDS deiner DB-Instance eine Netzwerkschnittstelle zu. Je nachdem, wie du die Instance konfigurierst, weist Amazon RDS entweder eine private IP-Adresse oder eine öffentliche IP-Adresse zu.

Ich habe die Einstellung „Öffentlich zugänglich“ gewählt, aber Amazon RDS hat der DB-Instance keine öffentliche IP-Adresse zugewiesen

Wenn die Subnetze in deiner DB-Subnetzgruppe privat sind, weist Amazon RDS deiner DB-Instance keine öffentliche IP-Adresse zu.

Gehe wie folgt vor, um dieses Problem zu beheben:

  1. Öffne die Amazon-RDS-Konsole.
  2. Wähle im Navigationsbereich die Option Subnetzgruppen.
  3. Wähle die Subnetzgruppe aus, der die DB-Instance zugeordnet ist.
    Hinweis: Du kannst die Subnetzgruppen mit der VPC-ID und den zugehörigen Subnetz-IDs anzeigen.
  4. Öffne die Amazon Virtual Private Cloud (Amazon VPC)-Konsole.
  5. Wähle im Navigationsbereich Internet-Gateways aus.
  6. Prüfe, ob deine VPC an ein Internet-Gateway angeschlossen ist.
    Hinweis: Wenn deine VPC nicht mit einem Internet-Gateway verbunden ist, erstelle eines und hänge es an deine VPC an.
  7. Wähle im Navigationsbereich die Option Routing-Tabellen aus.
  8. Wähle die Routing-Tabelle aus, die deiner VPC zugeordnet ist.
  9. Wähle die Registerkarte Subnetzzuordnungen und stelle dann sicher, dass alle Subnetze in deiner DB-Subnetzgruppe an die Routing-Tabelle angehängt sind.
    Hinweis: Wenn die Subnetze nicht mit der Routing-Tabelle verknüpft sind, wähle Subnetzzuordnungen bearbeiten aus. Wähle das Subnetz aus, das du mit der Routing-Tabelle verknüpfen möchtest.
  10. Wähle die Registerkarte Routes aus. Vergewissere dich, dass alle Subnetze in deiner DB-Subnetzgruppe 0.0.0.0/0 im Feld Zielort und die Internet-Gateway-ID im Feld Ziel haben.
    Hinweis: Wenn die Subnetze unterschiedliche Werte für die Felder Zielort und Ziel haben, ändere die Route so, dass sie die vorherigen Werte enthält.
  11. Öffne die Amazon-RDS-Konsole.
  12. Wähle im Navigationsbereich Datenbanken.
  13. Wähle die DB-Instance und anschließend Ändern aus.
  14. Erweitere unter Konnektivität den Abschnitt Zusätzliche Konfiguration und wähle dann Öffentlich zugänglich aus.
  15. Wähle Weiter aus.
  16. Wähle DB-Instance ändern aus.

Hinweis: Eine Subnetzgruppe, die eine Kombination aus öffentlichen und privaten Subnetzen umfasst, kann nach einem Failover zu Verbindungsproblemen führen. In einer Konfiguration mit Multi-Availability Zone können beispielsweise Verbindungsprobleme auftreten, wenn die primäre Instance ein öffentliches Subnetz verwendet und die sekundäre Instance ein privates Subnetz verwendet.

Ich möchte die Verbindungsinformationen für meine Amazon RDS DB-Instance finden

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Wenn du versuchst, von Ressourcen innerhalb derselben VPC aus eine Verbindung zu deiner DB-Instance herzustellen, wird dein Amazon RDS-Endpunkt automatisch in die private IP-Adresse aufgelöst. Wenn du von außerhalb der VPC oder des Internets eine Verbindung zu deiner DB-Instance herstellst, wird der Endpunkt in eine öffentliche IP-Adresse aufgelöst.

Um Verbindungsinformationen zu finden, kannst du die Amazon RDS-Konsole verwenden, den AWS-CLI-Befehl describe-db-instances oder die Amazon RDS-API DescribeDBInstances ausführen.

Oder du kannst einen der folgenden Befehle ausführen:

dig example-rds-endpoint

-oder-

nslookup example-rds-endpoint

Hinweis: Ersetze example-rds-endpoint durch den Endpunkt.

Wenn du den Befehl nslookup ausführst, um den Amazon RDS-Endpunkt abzurufen, wird eine Ausgabe angezeigt, die den folgenden Beispielen ähnelt.

Ausgabe einer Amazon Elastic Compute Cloud (Amazon EC2)-Instance in derselben VPC, die in eine private IP-Adresse aufgelöst wird:

[ec2-user@ip-172-xx-xx-xx ~] nslookup myoracledb.abcd123.region.rds.amazonaws.com  
Server: 172.16.0.0
Address: 172.31.255.255#53
Non-authoritative answer: myoracledb.abcd123.region.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

Ausgabe einer Amazon EC2-Instance in einer anderen VPC, die in die öffentliche IP-Adresse aufgelöst wird:

[ec2-user@ip-172-xx-xx-xx ~] nslookup myoracledb.abcd123.region.rds.amazonaws.com  
Server: 192.0.2.0
Address: 192.0.2.255#53
Non-authoritative answer: myoracledb.abcd123.region.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

Die IP-Adresse der Amazon RDS DB-Instance kann sich in den folgenden Situationen ändern:

  • Du beendest die DB-Instance und startest sie neu.
    Hinweis: Wenn du die DB-Instance neu startest, ändert sich die IP-Adresse nicht.
  • Amazon RDS ersetzt den zugrunde liegenden Host aufgrund eines DB-Instance-Fehlers oder einer Aktualisierung der DB-Instance-Klasse.
  • Amazon RDS führt die Hardware-Wartung der DB-Instance durch.
  • Die DB-Instance befindet sich in einer Multi-AZ-Umgebung und es ist ein Failover aufgetreten.
  • Auf dem Betriebssystem (OS) der DB-Instance wird ein Software-Patching durchgeführt.
  • Du verwendest einen Neustart mit Failover, um ein manuelles Failover der DB-Instance einzuleiten.
  • Die DB-Engine wird auf eine Haupt- oder Nebenversion aktualisiert.
  • In der Availability Zone der Instance ist ein Ausfall aufgetreten.

Hinweis: Da die IP-Adresse deiner Instance dynamisch ist, kannst du deiner Instance keine statische IP-Adresse oder Elastic-IP-Adresse zuweisen.