Der GCP-Load Balancer kann keine Verbindung zur Instanzgruppe herstellen: fehlerhafter Upstream-Fehler

Der GCP-Load Balancer kann keine Verbindung zur Instanzgruppe herstellen: fehlerhafter Upstream-Fehler

Mein Ziel

Ich möchte meine Domain ( dashboards.example.com) mit meiner Google VM-Instanz auf Port 3000 verbinden, um Metabase zu präsentieren. Dazu verwende ich ein Google DNS und einen Load Balancer.

Mein Problem

Beim Versuch, dies zu tun und über „ auf Metabase zuzugreifen “ zu gelangen, https://dashboards.example.comwird mir ein schwarzer Bildschirm mit der Meldung angezeigt no unhealthy upstream. Darüber hinaus zeigen die Integritätsprüfungen der Lastverteiler ( http& https) an, dass die Backend-Dienste fehlerhaft sind.

Gibt es jemanden, der weiß, was ich übersehe? Ich glaube, ich übersehe etwas, aber obwohl ich das ganze Internet durchsuche, kann ich die Lösung nicht finden.

Ich habe beispielsweise versucht, meinen Computer neu zu starten oder den Domänen- und Browser-Cache zu leeren.

Das GCP-Setup

DNS Mein AKlassen-DNS verweist auf die beiden IP-Adressen der Load Balancer (global extern). Wenn ich die Domäne anpinge, dashboards.example.comwird mir korrekt die IP von einem der Load Balancer angezeigt.

Lastenausgleich

  • HTTPSIch habe einen globalen externen HTTPS-Load Balancer mit einem von Google verwalteten SSL-Zertifikat. Das Frontend hat eine temporäre IP-Adresse und verwendet Port 443. Die Netzwerkdienstebene ist premium. Das Backend backend-httpszeigt auf eine Instanzgruppe und verwendet das HTTPSProtokoll mit dem benannten Port https. Die Instanzgruppe ist in europe-west4und ich habe die Portnummer hinzugefügt 3000. Die Integritätsprüfung zeigt auch auf diesen Port. Die Routing-Route ist die Basisroute mit hostund pathleer, während sie auf dasselbe Backend zeigt.

  • HTTPIch habe auch einen globalen externen HTTP-Load Balancer. Das Frontend hat eine temporäre IP-Adresse und verwendet Port 80. Die Netzwerkdienstebene ist premium. Das Backend backend-http(ein anderes Backend, das auf dieselbe Instanzgruppe verweist) verwendet das HTTPProtokoll mit dem benannten Port http. Die Instanzgruppe ist in europe-west4und ich habe die Portnummer hinzugefügt 3000. Die Integritätsprüfung verweist auch auf diesen Port. Die Routing-Route ist die grundlegende mit hostund pathleer, während sie auf dasselbe Backend verweist.

Dann schlagen in der Übersicht die Integritätsprüfungen bereits fehl, ich kann nicht herausfinden, warum.

Instanzgruppe Die Instanzgruppe befindet sich in Zone europe-west4-aund enthält eine VM-Instanz. Darüber hinaus verfügt sie über zwei benannte Ports namens https&, httpdie beide zum Port führen 3000.

Vernetzung Alles wird im selben Subnetz oder VPC hinzugefügt. Ich habe Firewall-Regeln hinzugefügt, um Datenverkehr von den Integritätsprüfungen, SSH und den Lastenausgleichsmodulen zu allen Instanzen im Netzwerk auf dem TCP-Port zuzulassen 3000.

Extra Eine weitere seltsame Sache, die mir auffällt, ist, dass die Integritätsprüfungen in Ordnung zu sein scheinen, sobald ich die VM herunterfahre.


Kann jemand meinen Fehler erkennen?

Ich habe Dinge wie einen Neustart meines Rechners oder das Leeren des Domänen- und Browser-Caches ausprobiert. Ich habe auch mehrmals versucht, die Lastverteiler neu zu konfigurieren. Leider ohne Erfolg.

verwandte Informationen