Wie löse ich Probleme bei der Verbindung mit meiner Amazon RDS-DB-Instance?

Lesedauer: 6 Minute
0

Ich kann keine Verbindung zu meiner Amazon Relational Database Service (Amazon RDS)-DB-Instance herstellen.

Kurzbeschreibung

Es gibt eine Reihe von Hauptursachen für die Unfähigkeit, eine Verbindung zu einer Amazon RDS-DB-Instance herzustellen. Hier sind einige der häufigsten Gründe:

  • Die RDS-DB-Instance befindet sich in einem anderen Status als verfügbar, sodass sie keine Verbindungen annehmen kann.
  • Ihre Quelle für die Verbindung mit der DB-Instance hat keinen Autorisierungszugriff in Ihrer Sicherheitsgruppe, Netzwerk-Zugriffssteuerungslisten (ACLs) oder lokalen Firewalls.
  • Der falsche DNS-Name oder Endpunkt wird verwendet, 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 aus einem der folgenden Gründe falsch:
    Sie verwenden auf Datenbankebene einen falschen Benutzernamen oder ein falsches Passwort, um vom DB-Client aus auf die Instance zuzugreifen.
    Sie haben nicht die erforderlichen Datenbankberechtigungen, um auf die Instance zuzugreifen.
    Der Client läuft auf einer Version, die mit der Datenbankversion nicht kompatibel ist.

**Tipp:**Sie können die folgenden Schritte zur Problembehandlung verwenden, um die Ursache des Verbindungsproblems zu ermitteln. Oder Sie können das AWSSupport-TroubleshootConnectivityToRDS AWS Systems Manager Automation-Dokument verwenden, um das Problem für Sie 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 Anschlüsse werden jedoch nicht verifiziert. Das Automatisierungsdokument überprüft auch Sicherheitsgruppen auf der Grundlage der primären IP-Adresse der EC2-Instance, aber diese Automatisierung überprüft keine bestimmten Anschlüsse. Weitere Informationen finden Sie unter Ausführen einer Automatisierung.

Behebung

Stellen Sie sicher, dass sich Ihre DB-Instance im Status „Verfügbar“ befindet

Wenn Sie Ihre DB-Instance kürzlich gestartet oder neu gestartet haben, stellen Sie sicher, dass sich die DB-Instance in der Amazon RDS-Konsole im Status „Verfügbar“ befindet. Je nach Größe Ihrer DB-Instance kann es bis zu 20 Minuten dauern, bis die DB-Instance für Netzwerkverbindungen verfügbar ist.

Wenn sich Ihre DB-Instance im Status „Ausgefallen“ befindet, finden Sie weitere Informationen unter Warum befindet sich meine Amazon RDS-DB-Instance in einem ausgefallenen Zustand?

Stellen Sie sicher, dass Ihre DB-Instance Verbindungen zulässt

Stellen Sie sicher, dass der Datenverkehr von der Quelle, die eine Verbindung zu Ihrer DB-Instance herstellt, nicht durch eine oder mehrere der folgenden Faktoren blockiert wird:

  • Amazon Virtual Private Cloud (Amazon VPC)-Sicherheitsgruppen, die der DB-Instance zugeordnet sind. Fügen Sie bei Bedarf Regeln zu der Sicherheitsgruppe hinzu, die der VPC zugeordnet ist und Datenverkehr mit Bezug zur Quelle zur und von der DB-Instance zulässt. Sie können eine IP-Adresse, einen Bereich von IP-Adressen oder eine andere VPC-Sicherheitsgruppe angeben. Allgemeine Informationen zu VPC und DB-Instances finden Sie unter Szenarien für den Zugriff auf eine DB-Instance in einer VPC.
  • **Jede DB-Sicherheitsgruppe, die der DB-Instance zugeordnet ist.**Wenn sich die DB-Instance nicht in einer VPC befindet, verwendet die Instance möglicherweise eine DB-Sicherheitsgruppe, um den Verkehr zu steuern. Aktualisieren Sie Ihre DB-Sicherheitsgruppe, um Datenverkehr aus dem IP-Adressbereich oder der Amazon EC2-Sicherheitsgruppe zuzulassen, die Sie für die Verbindung verwenden.
  • **Verbindungen außerhalb einer VPC.**Stellen Sie sicher, dass die DB-Instance öffentlich zugänglich und mit einem öffentlichen Subnetz verknüpft ist (z. B. ermöglicht die Routing-Tabelle den Zugriff über ein Internet-Gateway). Weitere Informationen finden Sie unter Szenarien für den Zugriff auf eine DB-Instance in einer VPC.
    Wenn sich Ihre DB-Instance in einem privaten Subnetz befindet, stellen Sie sicher, dass Sie VPC-Peering oder AWS Site-to-Site VPN verwenden, um eine sichere Verbindung zu Ihrer Instance herzustellen. Mit Site-to-Site VPN konfigurieren Sie ein Kunden-Gateway, mit dem Sie Ihre VPC mit Ihrem Remote-Netzwerk verbinden können. Sie können VPC-Peering verwenden, indem Sie eine Peering-Verbindung zwischen Ihrer Quell-VPC und der VPC Ihrer Instance herstellen, um von außerhalb ihrer VPC auf die Instance zuzugreifen. Sie können eine Amazon EC2-Instance auch als Bastion-/Jump-Host verwenden.
  • **Netzwerk-ACLs.**Netzwerk-ACLs dienen als Firewall für Ressourcen in einem bestimmten Subnetz in einer VPC. Wenn Sie Netzwerk-ACLs in Ihrer VPC verwenden, stellen Sie sicher, dass sie über Regeln verfügen, die eingehenden und ausgehenden Datenverkehr zur und von der DB-Instance zulassen.
  • **Netzwerk- oder lokale Firewalls.**Prüfen Sie, ob Ihr Netzwerk Datenverkehr zu und von den Anschlüssen zulässt, die die DB-Instance für eingehende und ausgehende Kommunikation verwendet.
    Hinweis: Amazon RDS akzeptiert keinen ICMP-Verkehr (Internet Control Message Protocol), einschließlich Ping.

Beheben Sie potenzielle Probleme mit DNS-Namen oder Endpunkten

Wenn Sie eine Verbindung zu Ihrer DB-Instance herstellen, verwenden Sie einen DNS-Namen (Endpunkt), der von der Amazon RDS-Konsole bereitgestellt wird. Achten Sie darauf, den richtigen Endpunkt zu verwenden. Stellen Sie dem Client, den Sie für die Verbindung mit der DB-Instance verwenden, außerdem den Endpunkt im richtigen Format bereit. Weitere Informationen zu DB-Engine-Verbindungen und zur Verwendung eines Endpunkts in verschiedenen Client-Anwendungen finden Sie unter Erste Schritte mit Amazon RDS.

Führen Sie beispielsweise von einer EC2-Instance innerhalb der VPC aus einen nslookup zum DB-Instance-Endpunkt durch:

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

Sehen Sie sich das folgende Beispiel für eine nicht autoritative Antwort an:

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

Probleme auf Datenbankebene beheben

  • Stellen Sie sicher, dass Sie den richtigen Benutzernamen und das richtige Passwort verwenden, um von Ihrem DB-Client aus auf die Instance zuzugreifen.
  • Stellen Sie sicher, dass der Benutzer über die Datenbankberechtigungen verfügt, um eine Verbindung zur DB-Instance herzustellen.
  • Prüfen Sie, ob in Amazon RDS Ressourcen drosseln, z. B. CPU- oder Speicherkonflikte. Dieser Konflikt kann zu Problemen beim Herstellen neuer Verbindungen zur Instance führen.
  • Stellen Sie sicher, dass die Instanz das maximale Limit für max\ _connections nicht erreicht hat.

Überprüfen Sie die mit Ihrer Instance verknüpften Routing-Tabellen

Wenn Sie eine Multi-AZ-Bereitstellung erstellen, starten Sie mehrere Replikat-DB-Instances in verschiedenen Availability Zones, um die Fehlertoleranz Ihrer Anwendung zu verbessern. Vergewissern Sie sich, dass die Subnetze jeder DB-Instance denselben oder ähnlichen Routing-Tabellen zugeordnet sind. Wenn Ihre 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 Verkehr zuvor ohne Probleme weitergeleitet wurde, wird er möglicherweise nicht mehr korrekt weitergeleitet.

Weitere Informationen zur Konfiguration von Routing-Tabellen finden Sie unter Routing-Tabellen konfigurieren. Weitere Informationen zu Multi-AZ-Bereitstellungen finden Sie unter Multi-AZ-Bereitstellungen für hohe Verfügbarkeit.

**Hinweis:**Wenn Sie eine Verbindung zu Ihrer DB-Instance herstellen können, aber Authentifizierungsfehler angezeigt werden, finden Sie weitere Informationen unter Wie setze ich das Masterbenutzerkennwort für meine RDS-DB-Instance zurück?

Überprüfen Sie die Konnektivität

Überprüfen Sie Ihre Verbindung, indem Sie einen der folgenden Befehle ausführen:

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

Wenn entweder die Befehle telnet oder nc erfolgreich waren, wurde eine Netzwerkverbindung hergestellt. Das Problem wird dann wahrscheinlich durch die Benutzerauthentifizierung bei der Datenbank verursacht, z. B. durch den Benutzernamen und das Passwort.

Ä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?

Sicherheit in Amazon EFS

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