Wie behebe ich Probleme, wenn ich eine Verbindung zu meiner Amazon-RDS-DB-Instance herstelle?
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:
- Amazon Virtual Private Cloud (Amazon VPC)-Sicherheitsgruppen, die der DB-Instance zugeordnet sind: Füge Regeln zu der Sicherheitsgruppe hinzu, die der Amazon VPC zugeordnet ist und Datenverkehr im Zusammenhang mit der Quelle zur und von der DB-Instance zulässt. Du kannst eine IP-Adresse, einen Bereich von IP-Adressen oder eine andere VPC-Sicherheitsgruppe angeben. Allgemeine Informationen zu VPC und DB-Instances findest du unter Szenarien für den Zugriff auf eine DB-Instance in einer VPC.
- Netzwerk-ACLs: Netzwerk-ACLs dienen als Firewall für Ressourcen in einem bestimmten Subnetz in einer VPC. Wenn du Netzwerk-ACLs in der VPC verwendest, stelle sicher, dass sie über Regeln verfügen, die eingehenden und ausgehenden Datenverkehr zur und von der DB-Instance zulassen.
- Verbindungen außerhalb einer VPC: Stelle sicher, dass die DB-Instance öffentlich zugänglich und einem öffentlichen Subnetz zugeordnet ist. Beispielsweise ermöglicht die Routing-Tabelle den Zugriff von einem Internet-Gateway aus. Weitere Informationen findest du unter Szenarien für den Zugriff auf eine DB-Instance in einer VPC.
Verwende für DB-Instances in einem privaten Subnetz VPC-Peering oder AWS Site-to-Site VPN, um eine sichere Verbindung zur Instance herzustellen. Mit Site-to-Site VPN konfigurierst du ein Kunden-Gateway, mit dem du die VPC mit dem Remote-Netzwerk verbinden kannst. Verwende VPC-Peering, um eine Peering-Verbindung zwischen der Quell-VPC und der VPC der Instance herzustellen, um von außerhalb ihrer VPC auf die Instance zuzugreifen. Du kannst eine Amazon-EC2-Instance auch als Bastion (Sprung)-Host verwenden. - Netzwerk- oder lokale Firewalls: Frage deinen Netzwerkadministrator, ob das Netzwerk den ein- und ausgehenden Datenverkehr von den Ports zulässt, die die DB-Instance für die eingehende und ausgehende Kommunikation verwendet.
Hinweis: Amazon RDS akzeptiert keinen Internet Control Message Protocol (ICMP)-Datenverkehr, einschließlich Ping.
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
Verwenden von SSL/TLS zum Verschlüsseln einer Verbindung zu einer DB-Instance oder einem Cluster
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor 2 Monaten
AWS OFFICIALAktualisiert vor 2 Monaten
AWS OFFICIALAktualisiert vor 3 Jahren