Direkt zum Inhalt

Wie behebe ich Timeout-Fehler, wenn ich eine Verbindung zu meinen Instances in Amazon RDS für PostgreSQL herstelle?

Lesedauer: 3 Minute
0

Meine Datenbank (DB)-Instance in Amazon Relational Database Service (Amazon RDS) für PostgreSQL gibt Verbindungs-Timeout-Fehler zurück, wenn ich versuche, eine Verbindung von anderen AWS-Services herzustellen. Ich kann keine Verbindung zu meiner Datenbank herstellen.

Lösung

Um Verbindungs-Timeout-Fehler in RDS für PostgreSQL zu beheben, überprüfe die Datenbank-Endpunktkonfiguration, Netzwerkeinstellungen und Sicherheitsgruppen. Schließe je nach Verbindungsaufbau die folgenden Lösungsschritte durch.

Die Datenbankzugriffskonfiguration überprüfen

Stelle sicher, dass du den richtigen Endpunkt und Port für die DB-Instance verwendest. Informationen zu Endpunkten und Ports findest du unter Nach Verbindungsinformationen zu einer Amazon-RDS-DB-Instance suchen.

Um Datenbankzugriff zu gewähren, stelle als administrative(r) Benutzer:in des AWS-Kontos eine Verbindung zur Datenbank her. Führe dann den folgenden Befehl aus:

GRANT CONNECT ON DATABASE database_name TO user_name;

Hinweis: Ersetze database_name durch deinen Datenbanknamen und user_name durch den/die Datenbankbenutzer:in, dem/der du Zugriff gewährst.

Netzwerkkonfiguration prüfen

Wenn die DB-Instance öffentlich zugänglich ist, vergewissere dich, dass du die Option Öffentlicher Zugriff und ein Internet-Gateway in der Routing-Tabelle aktiviert hast.

Wenn sich die DB-Instance in einem privaten Subnetz befindet, stelle sicher, dass du über eine Routing-Tabelle mit einer NAT-Gateway-Route für den Internetzugang verfügst. Wenn du eine Verbindung von einer anderen Virtual Private Cloud (VPC) aus herstellst, erstelle eine VPC-Peering-Verbindung.

Verwende Reachability Analyzer, um Netzwerkprobleme zu beheben.

Sicherheitseinstellungen überprüfen

Stelle sicher, dass deine Sicherheitsgruppenregeln den Datenverkehr auf deinem Datenbankport von der Quell-IP-Adresse oder Sicherheitsgruppe zulassen. Port 5432 ist der Standardport für RDS-für-PostgreSQL-Datenbanken. Überprüfe die Regeln der Netzwerk-Zugriffssteuerungsliste (Netzwerk-ACL), um dich zu vergewissern, dass sie sowohl eingehenden als auch ausgehenden Datenverkehr auf dem Datenbankport zulassen.

Firewall-Einschränkungen beheben

Wenn du eine Verbindung von außerhalb von AWS über eine weitergeleitete Verbindung herstellst, blockiert die Firewall möglicherweise Verbindungen zum Datenbankport. Arbeite mit deinem/deiner Netzwerkadministrator:in zusammen, um ausgehende Verbindungen zum Endpunkt und Port der DB-Instance zuzulassen.

Informationen zum Ändern des Datenbankports findest du unter Ändern einer Amazon-RDS-DB-Instance.

Überprüfen, ob Portkonflikte vorliegen

Führe auf dem lokalen Computer oder der Amazon Elastic Compute Cloud (Amazon EC2)-Instance den folgenden Befehl aus, um zu überprüfen, ob der Port verwendet wird:

netstat -tuln | grep 5432

Hinweis: Wenn du einen anderen Port verwendest, ersetze 5432 durch deine Datenbank-Portnummer.

Wenn der Port verwendet wird, zeigt die Ausgabe den Port und den Prozess an, der ihn verwendet. Du kannst entweder den lokalen Dienst beenden oder die DB-Instance so ändern, dass sie einen anderen Port verwendet.

Automatisierte Problembehandlung durchführen

Verwende AWS Systems Manager Automation, um Verbindungsprobleme zwischen einer Amazon-EC2-Instance und der DB-Instance zu identifizieren. Die Automatisierung überprüft den Instance-Status, Subnetz-CIDRs, Netzwerk-ACLs, Sicherheitsgruppen und Routing-Tabellen. Weitere Informationen findest du unter Wie kann ich das Automatisierungs-Runbook von AWSSupport-TroubleshootConnectivityToRDS Systems Manager verwenden, um TroubleshootConnectivityToRDS zwischen einer Amazon-RDS-Quelldatenbank und einem Amazon-EC2-Ziel zu konfigurieren?

Hinweis: Die Automatisierung überprüft keine kurzlebigen Ports oder bestimmte Porteinstellungen.

Ähnliche Informationen

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

Zugriffssteuerung mit Sicherheitsgruppen

Error – Could not connect to server: Connection timed out

AWS OFFICIALAktualisiert vor 6 Monaten