Direkt zum Inhalt

Wie behebe ich Verbindungs-Timeout-Fehler, wenn ich versuche, eine Verbindung zu meinem Datenbank-Cluster von Aurora PostgreSQL-Compatible herzustellen?

Lesedauer: 6 Minute
0

Ich möchte Verbindungs-Timeout-Fehler beheben, wenn ich versuche, eine Verbindung zu meinem Datenbank (DB)-Cluster von Amazon Aurora PostgreSQL-Compatible Edition herzustellen.

Lösung

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.

Probleme mit der Netzwerkkonfiguration führen häufig zu Verbindungs-Timeout-Fehlern, wenn du eine Verbindung zu einem DB-Cluster von Aurora PostgreSQL-Compatible herstellst. Gehe wie folgt vor, um Verbindungs-Timeout-Fehler zu ermitteln und zu beheben.

Überprüfen des Status der Datenbank-Instance

Gehe wie folgt vor:

  1. Öffne die Amazon Relational Database Service (Amazon RDS)-Konsole.
  2. Wähle im Navigationsbereich Datenbanken aus.
  3. Stelle in der Spalte Status sicher, dass sich deine DB-Instance von Aurora PostgreSQL-Compatible im Status Verfügbar befindet.<br id=hardline_break/> Wichtig: Wenn die Instance nicht verfügbar ist, warte, bis sie verfügbar ist, bevor du mit der weiteren Problembehandlung fortfährst.

Überprüfen der Sicherheitsgruppenkonfigurationen

Gehe wie folgt vor, um Regeln sowohl für eingehenden als auch ausgehenden Datenverkehr zu überprüfen:

  1. Öffne die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.
  2. Wähle im Navigationsbereich Sicherheitsgruppen aus.
  3. Wähle die Sicherheitsgruppe aus, die dem DB-Cluster von Aurora PostgreSQL-Compatible zugeordnet ist.
  4. Wähle Regeln für eingehenden Datenverkehr.
  5. Stelle sicher, dass es eine Regel gibt, die den Datenverkehr von der IP-Adresse oder Sicherheitsgruppe des Clients auf Port 5432 oder deinen benutzerdefinierten Port zulässt.<br id=hardline_break/> Hinweis: Wähle Regeln für eingehenden Datenverkehr bearbeiten, um Regeln hinzuzufügen oder zu ändern, die den erforderlichen Datenverkehr annehmen.
  6. Wenn du eine Verbindung von einer Amazon-EC2-Instance aus herstellst, wähle Regeln für ausgehenden Datenverkehr.
  7. Stelle sicher, dass die Sicherheitsgruppe der Amazon-EC2-Instance ausgehenden Datenverkehr an die Sicherheitsgruppe des Aurora-PostgreSQL-Compatible-Clusters auf Port 5432 zulässt.<br id=hardline_break/> Hinweis: Wähle Regeln für ausgehenden Datenverkehr bearbeiten, um Regeln hinzuzufügen oder zu ändern, die den erforderlichen Datenverkehr annehmen.

Überprüfen der Netzwerk-ACL-Konfigurationen

Gehe wie folgt vor, um die Konfigurationen der Netzwerk-Zugriffssteuerungsliste (Netzwerk-ACL) zu überprüfen:

  1. Öffne die Amazon Virtual Private Cloud (Amazon VPC)-Konsole.
  2. Wähle im Navigationsbereich Netzwerk-ACLs aus.
  3. Wähle die Netzwerk-ACL aus, die dem Subnetz des DB-Clusters von Aurora PostgreSQL-Compatible zugeordnet ist.
  4. Wähle sowohl Regeln für eingehenden Datenverkehr als auch Regeln für ausgehenden Datenverkehr aus und stelle dann sicher, dass die Regeln den Datenverkehr auf Port 5432 zwischen dem Client und der Datenbank zulassen.

Überprüfen der Konfiguration der Routing-Tabelle

Gehe wie folgt vor, um die Konfiguration der Routing-Tabelle zu überprüfen:

  1. Öffne die Amazon-VPC-Konsole.
  2. Wähle im Navigationsbereich die Option Routing-Tabelle aus.
  3. Wähle die Routing-Tabelle aus, die dem Subnetz des DB-Clusters von Aurora PostgreSQL-Compatible zugeordnet ist.
  4. Stelle sicher, dass es eine Route für das klassenlose Routing zwischen Domains gibt, die auf das richtige Ziel verweist.

Das Ziel kann beispielsweise das Internet-Gateway, das NAT-Gateway oder die Peering-Verbindung sein. Wenn du eine Verbindung von einer anderen VPC oder einem On-Premises-Netzwerk aus herstellst, stelle sicher, dass die erforderlichen Routen vorhanden sind.

Überprüfen der VPC-Peering- oder Transit-Gateway-Konfigurationen

Wenn du über VPC-Peering eine Verbindung von verschiedenen VPCs aus herstellst, gehe wie folgt vor:

  1. Befolge den VPC-Peering-Prozess, um zu überprüfen, ob das VPC-Peering zwischen VPCs richtig eingerichtet ist.
  2. Stelle sicher, dass die Routing-Tabellen in beiden VPCs über die erforderlichen Routen verfügen, um den Datenverkehr zwischen ihnen zu leiten.
  3. Stelle sicher, dass die Sicherheitsgruppen in beiden VPCs den erforderlichen Datenverkehr annehmen.

Wenn du über das Transit-Gateway eine Verbindung von verschiedenen VPCs aus herstellst, gehe wie folgt vor:

  1. Befolge die bewährten Methoden für das Design, um sicherzustellen, dass das Transit-Gateway zwischen VPCs richtig eingerichtet ist.
  2. Stelle sicher, dass die Routing-Tabellen für alle VPC-Anhänge die erforderlichen Routen enthalten, um den Datenverkehr zwischen ihnen zu leiten.
  3. Stelle sicher, dass die Sicherheitsgruppen in beiden VPCs den erforderlichen Datenverkehr annehmen.

Überprüfung der DNS-Auflösung

Wenn du eine Verbindung über VPCs herstellst, überprüfe, ob du die DNS-Auflösung für die VPC-Peering-Verbindung aktiviert hast.

Gehe wie folgt vor:

  1. Öffne die Amazon-VPC-Konsole.
  2. Wähle im Navigationsbereich Peering-Verbindungen aus.
  3. Wähle deine Peering-Verbindung aus.
  4. Wähle Aktionen und dann DNS-Einstellungen bearbeiten.
  5. Erlaube im Abschnitt DNS-Einstellungen bearbeiten die DNS-Auflösung sowohl für die Anforderer- als auch für die Akzeptor-VPCs.

Überprüfen der IP-Adresse des Internet-Gateways

Wenn du versuchst, eine Verbindung von außerhalb der VPC herzustellen und der Cluster öffentlich zugänglich ist, gehe wie folgt vor:

  1. Öffne die Amazon-VPC-Konsole.
  2. Wähle im Navigationsbereich Internet-Gateways aus.
  3. Suche das Internet-Gateway für deine VPC und stelle dann sicher, dass sich das Internet-Gateway im Status Angefügt befindet.
  4. Wähle die VPC-ID für das Internet-Gateway aus.
  5. Wähle unter Details die Haupt-Routing-Tabelle aus.
  6. Wähle Routen aus und stelle dann sicher, dass eine Route mit der Ziel-IP-Adresse 0.0.0.0/0 vorhanden ist, die auf das Ziel-Internet-Gateway verweist.

Verbindung zur Datenbank-Instance testen

Teste die Verbindung, um zu überprüfen, ob du ein Netzwerk- oder Authentifizierungs-bezogenes Problem hast. Wenn der Verbindungstest erfolgreich ist, liegt das Problem wahrscheinlich an den Datenbank-Anmeldeinformationen.

Führe den folgenden Befehl aus, um die Netzwerkkonnektivität mit Telnet zu testen:

telnet CLUSTER-ENDPOINT 5432

Hinweis: Ersetze CLUSTER-ENDPOINT durch deinen Cluster-Endpunkt von Aurora PostgreSQL-Compatible und 5432 durch deinen Datenbank-Port. Der Standard-Datenbank-Port für PostgreSQL ist 5432.

Führe den folgenden Befehl aus, um die Netzwerkkonnektivität zu testen, wenn Telnet nicht verfügbar ist:

nc -zv CLUSTER-ENDPOINT 5432

Hinweis: Ersetze CLUSTER-ENDPOINT durch deinen Cluster-Endpunkt von Aurora PostgreSQL-Compatible und 5432 durch deinen Datenbank-Port.

Wenn die Verbindung erfolgreich ist, ist die Sicherheitsgruppe ordnungsgemäß konfiguriert.

Hinweis: Amazon RDS nimmt keinen Internet Control Message Protocol (ICMP)-Datenverkehr an, einschließlich Ping.

Überprüfen der öffentlich zugänglichen Konfiguration

Wenn du versuchst, von außerhalb der VPC eine Verbindung zum Cluster herzustellen, muss der Cluster öffentlich zugänglich sein. Du kannst auch andere Verbindungsmethoden wie einen Bastion-Host oder AWS Direct Connect verwenden.

Gehe wie folgt vor, um zu überprüfen, ob der Cluster öffentlich zugänglich ist:

  1. Öffne die Amazon RDS-Konsole.
  2. Wähle im Navigationsbereich Datenbanken aus.
  3. Wähle deinen Aurora-PostgreSQL-Compatible-Cluster, und dann Ändern aus.
  4. Wähle im Abschnitt Konnektivität die Option Zusätzliche Konfiguration aus.
  5. Stelle sicher, dass du den Cluster auf Öffentlich zugänglich setzt.

Nach IP-Adresskonflikten suchen

Stelle sicher, dass keine IP-Adresskonflikte zwischen dem lokalen Netzwerk und dem VPC-CIDR-Bereich bestehen. Wenn Konflikte bestehen, musst du möglicherweise NAT verwenden oder deine Netzwerkkonfiguration anpassen.

Gehe wie folgt vor, um das CIDR für die VPC zu überprüfen:

  1. Öffne die Amazon-VPC-Konsole.
  2. Wähle im Navigationsbereich Ihre VPCs und dann die VPC aus, die du für die lokale Netzwerkverbindung verwendest.
  3. Wähle die Registerkarte CIDRs und stelle dann sicher, dass sich der CIDR-Block nicht mit einer IP-Adresse in deinem lokalen Netzwerk überschneidet.

Überprüfen des VPC-CIDR mithilfe der AWS CLI

Um die AWS CLI zur Beschreibung von VPC-CIDR-Blöcken zu verwenden, führe den folgenden AWS-CLI-Befehl describe-vpcs aus:

aws ec2 describe-vpcs \
    --vpc-ids VPC-ID \
    --region REGION

Hinweis: Ersetze VPC-ID durch deine VPC-ID und REGION durch deine AWS-Region.

Ähnliche Informationen

Verbindung mit einem Amazon-Aurora-DB-Cluster herstellen

Datenverkehr zu den AWS-Ressourcen mithilfe von Sicherheitsgruppen steuern

Subnetz-Datenverkehr mit Netzwerk-Zugriffssteuerungslisten steuern

Subnetz-Routing-Tabellen verwalten

Was ist VPC-Peering?

AWS OFFICIALAktualisiert vor 6 Monaten