Fehlerbehebung bei internem HTTP(S)-Load-Balancing

Hier wird beschrieben, wie Sie Probleme mit der Konfiguration eines internen Google Cloud-Load-Balancers beheben können. Bevor Sie sie durchgehen, machen Sie sich mit folgenden Themen vertraut:

Fehlerbehebung

Load-Balancing-Traffic hat nicht die Quelladresse des ursprünglichen Clients

Das ist ganz normal. Das interne HTTP(S)-Load-Balancing fungiert als HTTP(S)-Reverse-Proxy (Gateway). Wenn ein Clientprogramm eine Verbindung zur IP-Adresse einer INTERNAL_MANAGED-Weiterleitungsregel herstellt, wird die Verbindung bei einem Proxy beendet. Der Proxy verarbeitet die Anfragen, die über diese Verbindung eingehen. Der Proxy wählt für jede Anfrage ein Back-End aus, um die Anfrage anhand der URL-Zuordnung und anderer Faktoren zu empfangen. Der Proxy sendet die Anfrage dann an das ausgewählte Back-End. Aus der Sicht des Back-Ends ist also die Quelle eines eingehenden Pakets eine IP-Adresse aus dem Proxy-Only-Subnetz der Region.

Anfragen werden vom Load-Balancer abgelehnt

Der Proxy wählt für jede Anfrage ein Back-End aus, um sie anhand eines Pfad-Matchers in der URL-Zuordnung des Load-Balancers zu empfangen. Wenn für die URL-Zuordnung kein Pfad-Matcher für eine Anfrage definiert ist, kann kein Back-End-Dienst ausgewählt werden. Daher wird der HTTP-Antwortcode 404 (nicht gefunden) zurückgegeben.

Load-Balancer stellt keine Verbindung zu Back-Ends her

Die Firewalls, die Ihre Back-End-Server schützen, müssen so konfiguriert sein, dass eingehender Traffic von den Proxys im Proxy-Only-Subnetzbereich zugelassen wird, den Sie der Region des internen HTTP(S)-Load-Balancers zugewiesen haben.

Die Proxys stellen über die Verbindungseinstellungen, die in der Konfiguration Ihres Back-End-Dienstes festgelegt sind, eine Verbindung zu Back-Ends her. Wenn diese Werte nicht mit der Konfiguration der Server übereinstimmen, die auf Ihren Back-Ends ausgeführt werden, kann der Proxy keine Anfragen an die Back-Ends weiterleiten.

Systemdiagnosetests können die Back-Ends nicht erreichen

Wenn Sie prüfen möchten, ob der Systemdiagnose-Traffic Ihre Back-End-VMs erreicht, aktivieren Sie das Logging für Systemdiagnosen und suchen Sie nach erfolgreichen Logeinträgen.

Clients können keine Verbindung zum Load-Balancer herstellen

Die Proxys überwachen Verbindungen zu der IP-Adresse und dem Port des Load-Balancers, die in der Weiterleitungsregel konfiguriert sind, z. B. 10.1.2.3:80. Dabei ist das Protokoll in der Weiterleitungsregel festgelegt (HTTP oder HTTPS). Wenn Ihre Clients keine Verbindung herstellen können, prüfen Sie, dass sie die richtige Adresse, den richtigen Port und das richtige Protokoll verwenden.

Achten Sie darauf, dass keine Firewall den Traffic zwischen Ihren Clientinstanzen und der IP-Adresse mit Load-Balancing blockiert.

Achten Sie darauf, dass sich die Clients in derselben Region wie der Load-Balancer befinden. Das interne HTTP(S)-Load-Balancing ist ein regionales Produkt. Daher müssen sich alle Clients und Back-Ends in derselben Region wie die Load-Balancer-Ressource befinden.

Beschränkung der Organisationsrichtlinie für freigegebene VPC

Wenn Sie eine freigegebene VPC verwenden und keinen neuen internen HTTP(S)-Load-Balancer in einem bestimmten Subnetz erstellen können, kann eine Organisationsrichtlinie die Ursache sein. Fügen Sie in der Organisationsrichtlinie das Subnetz der Liste zulässiger Subnetze hinzu oder wenden Sie sich an den Administrator Ihrer Organisation. Weitere Informationen finden Sie unter constraints/compute.restrictSharedVpcSubnetworks.

Beschränkungen

Wenn bei der Verwendung des internen HTTP(S)-Load-Balancing mit anderen Google Cloud-Netzwerkfunktionen Probleme auftreten, beachten Sie die aktuellen Beschränkungen hinsichtlich der Kompatibilität.