Wie behebe ich die Fehler „Connection timed out“ bei Elastic Load Balancing?

Lesedauer: 4 Minute
0

Ich verwende Elastic Load Balancing (ELB) und erhalte eine Fehlermeldung „Connection timed out“ (Zeitüberschreitung der Verbindung). Wie kann ich ein Verbindungs-Timeout zwischen meinem Load Balancer und einem Client beheben?

Lösung

Stellen Sie sicher, dass Ihr Load-Balancer-Schema Internetzugriff hat

Wenn der Client versucht, eine Verbindung über das Internet herzustellen, überprüfen Sie, ob das ELB-Schema Internetzugriff hat.

Stellen Sie sicher, dass ein Listener für den Load-Balancer-Port konfiguriert ist

Überprüfen Sie die Konfiguration der Listener für Ihren Load-Balancer-Port, mit dem der Client eine Verbindung herstellt:

Stellen Sie sicher, dass die Sicherheitsgruppen für Ihre Ziel-Instances Datenverkehr zulassen

Application Load Balancer und Classic Load Balancer

Prüfen Sie die Einstellungen der an den Load Balancer angefügten Sicherheitsgruppe. Stellen Sie sicher, dass für die Ports des Listeners und der Zustandsprüfung Datenverkehr in beide Richtungen zulässig ist. Weitere Informationen finden Sie unter Sicherheitsgruppen für den Application Load Balancer und Konfigurieren von Sicherheitsgruppen für den Classic Load Balancer.

Network Load Balancer

Wenn Sie EC2-Instances als Ziele registrieren, stellen Sie sicher, dass die Sicherheitsgruppen für diese Instances Datenverkehr sowohl auf dem Listener- als auch auf dem Zustandsprüfungs-Port zulassen. Wenn Sie Ziele nach IP-Adresse registrieren, stellen Sie sicher, dass die Sicherheitsgruppe für die Ziele Datenverkehr von den NLB-Knoten zulässt. Weitere Informationen finden Sie unter Ziele bei Ihrer Zielgruppe registrieren (Network Load Balancer).

Wenn Sie die Beibehaltung der Client-IP verwenden, vergewissern Sie sich, dass die Zielsicherheitsgruppe Datenverkehr von den Client-IP-Adressen zulässt. Weitere Informationen finden Sie unter Beibehaltung der Client-IP.

Stellen Sie sicher, dass die Netzwerk-ACL den erforderlichen Datenverkehr zulässt

Stellen Sie sicher, dass die Netzwerkzugriffssteuerungsliste (Netzwerk-ACL) mit den Subnetzen verknüpft ist, in denen Load-Balancer-Knoten vorhanden sind:

  • Erlaubt den Zugriff auf den Port, auf den zugegriffen werden soll
  • Erlaubt den Zugriff auf bestimmte Client-IP-Adressen in den Eingangsregeln.

Netzwerk-ACLs sind zustandslos, daher müssen Sie den Zugriff sowohl in den Eingangs- als auch in Ausgangsregeln zulassen. Vergewissern Sie sich außerdem, dass alle kurzlebigen Ports in Ihren Ausgangsregeln zulässig sind. Das Zulassen nur einiger kurzlebiger Ports kann zu zeitweiligen Verbindungsproblemen führen. Weitere Informationen finden Sie unter Netzwerk-ACLs für Load Balancer in einer VPC.

Stellen Sie sicher, dass die Routing-Tabellen korrekt konfiguriert sind

Vergewissern Sie sich bei Load Balancern mit Internetzugriff, dass die Routing-Tabellen, die den Subnetzen zugeordnet sind, in denen Load Balancer-Knoten vorhanden sind, über ein Internet-Gateway verfügen.

Bei internen Load Balancern, die eine private Verbindung zum Load Balancer verwenden, sind möglicherweise mehrere Routing-Tabellen mit verschiedenen Subnetzen verknüpft. Es können Konnektivitätsprobleme auf einzelnen Knoten auftreten und zu zeitweiligen Problemen führen. Überprüfen Sie die Routing-Tabellen, die allen Knoten zugeordnet sind. Wenn die Konnektivität für einen Knoten fehlschlägt, stellen Sie sicher, dass die mit der Untermenge von Load-Balancer-Knoten verknüpfte Routing-Tabelle konfiguriert ist. Fügen Sie nach Bedarf Routen hinzu.

Testen Sie die Knotenkonnektivität mit dem folgenden Befehl:

nc –v <ELB IP Address> <Port>
telnet <ELB IP Address> <Port>

Hinweis: Geben Sie Ihre Informationen für die ELB-IP-Adresse und den Port ein.

Stellen Sie sicher, dass der Client keine Verbindung zu einem beendeten Knoten herstellt (Application Load Balancer und Classic Load Balancer)

Vergewissern Sie sich, dass der Client keine Verbindung zu einem beendeten Knoten des Application Load Balancer oder Classic Load Balancer herstellt. Stellen Sie sicher, dass die IP-Adressen des Clients in der Liste der aktuellen IP-Adressen enthalten sind, die im ELB Domain Name System (DNS) veröffentlicht sind. Führen Sie den folgenden dig-Befehl mit Ihrem Domainnamen für example.com aus:

$ dig +short example.com
35.154.42.229
13.126.64.179

Stellen Sie sicher, dass keine clientseitige Firewall den Datenverkehr blockiert

Wenn andere Methoden zur Fehlerbehebung Ihre Konnektivitätsprobleme nicht beheben, blockiert eine clientseitige Firewall möglicherweise den Datenverkehr. Gehen Sie folgendermaßen vor, um das Problem zu beheben:

  • Wenn Sie VPC-Flow-Protokolle mit Metadaten verwenden, überprüfen Sie die Protokolle der Load-Balancer-Knoten-Schnittstellen. Vergewissern Sie sich, dass das SYN von der Client-IP-Adresse vom Load Balancer empfangen wird. Vergewissern Sie sich dann, dass das SYN, ACK vom Load-Balancer-Knoten an die Client-IP-Adresse zurückgesendet wird. Wenn SYN, ACK nicht vom Load-Balancer-Knoten zurückgegeben wird, liegt möglicherweise ein Problem mit diesem Knoten vor. Ein Beispiel für das Lesen von Flow-Protokollen finden Sie unter TCP-Flag-Sequenz.
  • Nehmen Sie eine Paketerfassung auf dem Computer vor, auf dem der Client ausgeführt wird. Verwenden Sie das Dienstprogramm tcpdump zum Abrufen des Netzwerkverkehrs für die Analyse. Wenn die Verbindung fehlschlägt, aktualisieren Sie Ihre Firewall-Regeln, um den erforderlichen Datenverkehr zuzulassen.

Relevante Informationen

Fehlerbehebung bei Ihrem Application Load Balancer

Fehlerbehebung bei Ihrem Classic Load Balancer

Benutzerdefinierte Netzwerk-ACLs

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren