Direkt zum Inhalt

Wie behebe ich Probleme, wenn ich eine Verbindung zu meiner Amazon-RDS-DB-Instance herstelle?

Lesedauer: 6 Minute
0

Ich möchte herausfinden, warum ich keine Verbindung zu meiner Amazon Relational Database Service (Amazon RDS)-DB-Instance herstellen kann.

Kurzbeschreibung

Im Folgenden sind häufige Gründe aufgeführt, warum die Verbindung zu deiner Amazon-RDS-DB-Instance blockiert ist:

  • Die DB-Instance befindet sich in einem anderen Status als Verfügbar, Speicheroptimierung oder Wird gesichert.
  • Die Quelle für die Verbindung mit der DB-Instance hat keinen Autorisierungszugriff in der Sicherheitsgruppe, den Netzwerk-Zugriffssteuerungslisten (ACLs) oder lokalen Firewalls.
  • Du verwendest den falschen DNS-Namen oder Endpunkt, um eine Verbindung zur DB-Instance herzustellen.
  • Bei der Multi-AZ-DB-Instance ist ein Failover aufgetreten, und die sekundäre DB-Instance verwendet ein Subnetz oder eine Routing-Tabelle, die keine eingehenden Verbindungen zulässt.
  • Die Benutzerauthentifizierung ist nicht korrekt.

Lösung

Führe eine oder mehrere der folgenden Aufgaben aus, um dein Verbindungsproblem zu beheben.

Ein Automatisierungs-Runbook verwenden

Verwende das AWS-Systems-Manager-Automation-Dokument AWSSupport-TroubleshootConnectivityToRDS, um das Problem zu diagnostizieren.

Dieses Automatisierungsdokument kann Netzwerk-ACLs auf der Grundlage der primären IP-Adresse der Amazon Elastic Compute Cloud (Amazon EC2)-Instance diagnostizieren. Kurzlebige Ports werden jedoch nicht verifiziert. Das Automatisierungsdokument überprüft auch Sicherheitsgruppen auf der Grundlage der primären IP-Adresse der Amazon-EC2-Instance, aber diese Automatisierung überprüft keine bestimmten Ports. Weitere Informationen findest du unter Ausführen einer automatisierten Operation, die von Systems Manager Automation unterstützt wird.

Anweisungen zum Ausführen des Runbooks und Einzelheiten zu den Überprüfungen findest du unter AWSSupport-TroubleshootConnectivityToRDS.

Wenn die Automatisierung abgeschlossen ist, findest du im Abschnitt Ausgaben detaillierte Ergebnisse. Wenn das Runbook das Problem nicht identifizieren kann, fahre mit den folgenden manuellen Schritten fort.

Stelle sicher, dass sich die DB-Instance im Status „Verfügbar“ befindet

Wenn du die DB-Instance kürzlich gestartet oder neu gestartet hast, stelle sicher, dass sich die DB-Instance in der Amazon-RDS-Konsole im Status Verfügbar befindet. Je nach Größe der DB-Instance können bis zu 20 Minuten vergehen, bis die DB-Instance für Netzwerkverbindungen verfügbar ist.

Sich vergewissern, dass die DB-Instance Verbindungen zulässt

Stelle sicher, dass eine oder mehrere der folgenden Konfigurationsanforderungen den Datenverkehr von der Quelle, die eine Verbindung zu deiner DB-Instance herstellt, nicht blockieren:

Zur Behebung von Verbindungsproblemen zwischen Amazon RDS und deiner VPC kannst du den Reachability Analyzer verwenden.

Mögliche Probleme mit DNS-Namen oder Endpunkten

Wenn du eine Verbindung zur DB-Instance herstellst, verwende einen DNS-Namen (Endpunkt), der von der Amazon-RDS-Konsole bereitgestellt wird. Stelle sicher, den richtigen Endpunkt zu verwenden. Stelle dem Client, den du für die Verbindung mit der DB-Instance verwendest, außerdem den Endpunkt im richtigen Format bereit. Weitere Informationen zu DB-Engine-Verbindungen und zur Verwendung eines Endpunkts in verschiedenen Client-Anwendungen findest du unter Erste Schritte mit Amazon RDS.

Verwende beispielsweise nslookup, um den DB-Instance-Endpunkt von einer Amazon-EC2-Instance innerhalb der VPC aus anzuzeigen:

nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com Server: xx.xx.xx.xx
Address: xx.xx.xx.xx#53

Beispiel für eine nicht autoritative Antwort:

Name: myexampledb.xxxx.us-east-1.rds.amazonaws.comAddress: 172.31.xx.x

Überprüfen der Konnektivität

Führe einen der folgenden Befehle aus, um deine Verbindung zu überprüfen:

telnet <RDS endpoint> <port number>
nc -zv <RDS endpoint> <port number>

Die Befehle telnet und nc testen die Verbindung zwischen dem Client und dem Server. Wenn entweder die telnet- oder nc-Befehle erfolgreich waren, wurde eine Netzwerkverbindung hergestellt. Diese Verbindung bedeutet, dass die Benutzerauthentifizierung bei der Datenbank dieses Problem verursacht, z. B. ein Problem mit dem Benutzernamen oder dem Passwort.

Probleme auf Datenbankebene

Stelle sicher, dass die folgenden Einstellungen auf Datenbankebene korrekt konfiguriert sind:

  • Du hast den richtigen Benutzernamen und das richtige Passwort, um vom DB-Client aus auf die Instance zuzugreifen.
  • Der Benutzer hat die Datenbankberechtigungen, um eine Verbindung zur DB-Instance herzustellen.
  • In Amazon RDS gibt es keine Ressourcendrosselung, wie z. B. CPU- oder Speicherkonflikte. Speicherkonflikte können zu Problemen führen, wenn du neuere Verbindungen zur Instance herstellst. Ziehe eine Verbindungspooling-Lösung in Betracht, welche die Skalierbarkeit von Anwendungen verbessert, z. B. Amazon-RDS-Proxy, um den Speicher- und CPU-Overhead zu vermeiden, der durch das Öffnen neuer Verbindungen jedes Mal entsteht.
  • Für Amazon RDS MySQL-kompatibel hat die Instance das max_connections-Limit nicht erreicht.
  • Stelle sicher, dass du für Amazon RDS MySQL-kompatibel die Ressourcenbeschränkungen für Konten wie max_user_connections und max_updates nicht überschritten hast.
  • Bei Amazon RDS MySQL-kompatibel werden Client-Verbindungsfehler, die nacheinander von einem Host auftreten, auf die Systemvariable max_connect_errors angerechnet. Wenn du diese Variable überschreitest, wird der Host blockiert und Verbindungen von demselben Host werden verweigert. Um dieses Problem zu beheben, leere für MySQL-Versionen 8.0.23 und früher den Host-Cache. Oder kürze für spätere Versionen die Tabelle performance_schema host_cache. Weitere Informationen findest du unter Problembehandlung bei Amazon RDS für MySQL und Amazon RDS für MariaDB.

Überprüfen der mit der Instance verknüpften Routing-Tabellen

Stelle sicher, dass die Subnetze jeder DB-Instance denselben oder ähnlichen Routing-Tabellen zugeordnet sind. Wenn die primäre DB-Instance ein Failover zu einem Standby-Replikat durchführt, das mit einer anderen Routing-Tabelle verknüpft ist, wird der Datenverkehr möglicherweise nicht korrekt weitergeleitet. Selbst wenn dieser Datenverkehr zuvor ohne Probleme weitergeleitet wurde, wird er möglicherweise nicht mehr korrekt weitergeleitet.

Weitere Informationen findest du unter Routing-Tabellen konfigurieren und Konfiguration und Verwaltung einer Multi-AZ-Bereitstellung für Amazon RDS.

Hinweis: Wenn du eine Verbindung zur DB-Instance herstellst, aber eine Fehlermeldung angezeigt wird, findest du weitere Informationen unter Wie setze ich das Administrator-Benutzerpasswort für meine Amazon-RDS-DB-Instance zurück?

Ähnliche Informationen

Es kann keine Verbindung zu einer Amazon-RDS-DB-Instance hergestellt werden

Wie kann ich Verbindungsprobleme mit einer Amazon-RDS-DB-Instance beheben, die ein öffentliches oder privates Subnetz einer VPC verwendet?

Verwenden von SSL/TLS zum Verschlüsseln einer Verbindung zu einer DB-Instance oder einem Cluster

Problembehandlung bei der Netzwerkkonnektivität zu Amazon-RDS-Datenbanken mithilfe von VPC Reachability Analyzer