Übersicht über Cloud Load Balancing

Ein Load-Balancer verteilt den Nutzertraffic auf mehrere Instanzen Ihrer Anwendungen. Durch die Verteilung der Last lässt sich mit Load-Balancing das Risiko verringern, dass Ihre Anwendungen Leistungsprobleme verursachen. Cloud Load Balancing von Google basiert auf zuverlässigen, leistungsstarken Technologien wie Maglev, Andromeda, Google Front Ends und Envoy – denselben Technologien, die auch für die eigenen Produkte von Google verwendet werden.

Cloud Load Balancing bietet ein umfassendes Portfolio an regionalen Application und Network Load Balancern. Mit unseren Load Balancern können Sie Millionen von Anfragen pro Sekunde auf Backends in einer einzelnen Region verteilen. Sie können diese Load Balancer so konfigurieren, dass sie über eine einzige Anycast-IP-Adresse zugänglich sind. Implementieren Sie mit unseren regionalen Proxy-Load-Balancern eine strenge rechtliche Kontrolle und behalten Sie Ihre Back-Ends und Proxys in Ihrer Region, ohne sich um TLS/SSL-Auslagerungen kümmern zu müssen. Verwenden Sie unsere regionalen Passthrough-Load-Balancer, um mehrere Protokolle schnell an Back-Ends mit der hohen Leistung von Direct Server Return (DSR) weiterzuleiten.

Übersicht über Cloud Load Balancing
Übersicht über Cloud Load Balancing (zum Vergrößern klicken).

Wichtige Funktionen von Cloud Load Balancing

Cloud Load Balancing bietet die folgenden Load Balancing-Features:

  • Einzelne Anycast-IP-Adresse. Mit Cloud Load Balancing ist eine einzige Anycast-IP-Adresse das Frontend für alle Ihre Backend-Instanzen.

  • Nahtloses Autoscaling. Mit Cloud Load Balancing wird einfach dem Nutzer- und Trafficaufkommen entsprechend skaliert. Dies gilt auch für die Verarbeitung unerwarteter und plötzlich auftretender starker Spitzen. Der Traffic wird dabei an Backends in anderen Zonen umgeleitet, die Traffic aufnehmen können. Autoscaling erfordert keine Vorbereitung. Sie können innerhalb von Sekunden von null auf vollen Traffic skalieren. Cloud Load Balancing reagiert sofort auf Änderungen hinsichtlich Nutzern, Traffic, Netzwerk, Backend-Zustand und anderen damit verbundenen Bedingungen.

  • Softwarebasiertes Load-Balancing. Cloud Load Balancing ist ein vollständig verteilter, softwarebasierter verwalteter Dienst für Ihren gesamten Traffic. Da Cloud Load Balancing nicht auf Instanzen oder Geräten beruht, sind Sie an keine physische Load-Balancing-Infrastruktur gebunden. Auch die Herausforderungen hinsichtlich Hochverfügbarkeit, Skalierung und Verwaltung, wie sie bei instanzbasierten Load-Balancern auftreten, entfallen.

  • Layer-4- und Layer-7-Load-Balancing. Verwenden Sie das Layer-4-basierte Load-Balancing, um Traffic anhand von Daten aus Netzwerk- und Transportschichtprotokollen wie TCP, UDP, ESP, GRE, ICMP und ICMPv6 weiterzuleiten. Verwenden Sie Layer-7-basiertes Load-Balancing zum Hinzufügen von Entscheidungen über das Anfragerouting basierend auf Attributen wie HTTP-Header und Uniform Resource Identifier.

  • Externes und internes Load-Balancing Gibt an, ob der Load-Balancer für externen oder internen Zugriff verwendet werden kann. Sie können einen externen Load Balancer verwenden, wenn Ihre Clients über das Internet auf Ihre Anwendung zugreifen müssen. Sie können einen internen Load-Balancer verwenden, wenn sich Ihre Clients inTrusted Cloudbefinden. Weitere Informationen finden Sie unter Externes und internes Load-Balancing.

Arten von Trusted Cloud Load-Balancern

Cloud Load Balancing bietet zwei Arten von Load-Balancern: Application Load Balancer und Network Load Balancer. Wählen Sie einen Application Load Balancer aus, wenn Sie einen Layer-7-Load-Balancer für Ihre Anwendungen mit HTTP(S)-Traffic benötigen. Wählen Sie einen Network Load Balancer aus, wenn Sie einen Layer-4-Load-Balancer benötigen, der TLS-Auslagerung (mit einem Proxy-Load-Balancer) unterstützt, oder wenn Sie Unterstützung für IP-Protokolle wie UDP, ESP und ICMP (mit einem Passthrough-Load-Balancer) benötigen.

Application Load Balancer

Application Load Balancer sind proxybasierte Layer-7-Load-Balancer, mit denen Sie Ihre Services hinter einer Anycast-IP-Adresse ausführen und skalieren können. Der Application Load Balancer verteilt HTTP- und HTTPS-Traffic auf Back-Ends, die auf einer Vielzahl von Trusted Cloud Plattformen wie Compute Engine und Google Kubernetes Engine (GKE) gehostet werden, sowie auf externe Back-Ends außerhalb vonTrusted Cloud.

Application Load Balancer können extern oder intern bereitgestellt werden, je nachdem, ob Ihre Anwendung mit dem Internet oder intern verbunden ist. In beiden Fällen unterstützen diese Load Balancer nur Backends in einer einzelnen Region.

  • Regionale externe Application Load Balancer werden als verwaltete Dienste auf Envoy-Proxys implementiert. Clients können von überall im Internet aus eine Verbindung zu diesen Load Balancern herstellen. Application Load Balancer verwenden den Open-Source-Envoy-Proxy, um erweiterte Funktionen zur Trafficverwaltung zu aktivieren.
  • Regionale interne Application Load Balancer basieren auf dem Andromeda-Stack zur Netzwerkvirtualisierung und dem Open-Source-Envoy-Proxy. Dieser Load-Balancer bietet internes Proxy-basiertes Load-Balancing für Layer-7-Anwendungsdaten. Der Load Balancer verwendet eine interne IP-Adresse, auf die nur Clients im selben VPC-Netzwerk oder Clients, die mit Ihrem VPC-Netzwerk verbunden sind, Zugriff haben.

Das folgende Diagramm zeigt eine Beispielarchitektur für einen Application Load Balancer.

Architektur eines Application Load Balancers
Architektur eines Application Load Balancers (zum Vergrößern klicken)

Network Load Balancer

Network Load Balancer sind Layer-4-Load-Balancer, die TCP-, UDP- oder anderen IP-Protokoll-Traffic verarbeiten können. Diese Load-Balancer sind entweder als Proxy-Load-Balancer oder als Passthrough-Load-Balancer verfügbar. Sie können einen Load-Balancer abhängig von den Anforderungen Ihrer Anwendung und der Art des zu verarbeitenden Traffics auswählen. Wählen Sie einen Proxy-Network-Load-Balancer aus, wenn Sie einen Reverse-Proxy-Load-Balancer mit Unterstützung für erweiterte Trafficsteuerungen und Back-Ends lokal und in anderen Cloud-Umgebungen konfigurieren möchten. Wählen Sie einen Passthrough-Network Load Balancer aus, wenn Sie die Quell-IP-Adresse der Clientpakete beibehalten möchten, die direkte Serverrückgabe für Antworten bevorzugen oder eine Vielzahl von IP-Protokollen wie TCP, UDP, ESP, GRE, ICMP und ICMPv6 verarbeiten möchten.

Proxy-Network-Load-Balancer

Proxy-Network-Load-Balancer sind Layer-4-Reverse-Proxy-Load-Balancer, die TCP-Traffic auf VM-Instanzen (virtuelle Maschine) in Ihrem Trusted Cloud-VPC-Netzwerk verteilen. Der Traffic wird auf der Load Balancing-Ebene beendet und dann über TCP an das nächstgelegene verfügbare Backend weitergeleitet.

Proxy-Network-Load-Balancer können extern oder intern bereitgestellt werden, je nachdem, ob Ihre Anwendung mit dem Internet oder intern verbunden ist. In beiden Fällen unterstützen diese Load Balancer nur Backends in einer einzelnen Region.

  • Regionale externe Proxy-Network-Load-Balancer sind Layer-4-Load-Balancer, die Traffic aus dem Internet auf Back-Ends in Ihrem Trusted Cloud VPC-Netzwerk, lokal oder in anderen Cloud-Umgebungen verteilen.
  • Interne Proxy-Network-Load-Balancer sind Envoy-Proxy-basierte regionale Layer-4-Load-Balancer, mit denen Sie Ihren TCP-Diensttraffic hinter einer internen IP-Adresse, auf die nur Clients im selben VPC-Netzwerk oder Clients, die mit Ihrem VPC-Netzwerk verbunden sind, Zugriff haben, ausführen und skalieren können.

Das folgende Diagramm zeigt ein Beispiel für eine Network-Load-Balancer-Architektur.

Architektur des Proxy-Network-Load-Balancers
Architektur des Proxy-Network Load Balancers (zum Vergrößern klicken)

Passthrough-Network-Load-Balancer

Passthrough-Network-Load-Balancer sind regionale Layer-4-Passthrough-Load-Balancer. Diese Load-Balancer verteilen den Traffic zwischen Back-Ends in derselben Region wie der Load-Balancer. Sie werden mithilfe eines virtuellen Andromeda-Netzwerks und Google Maglev implementiert.

Wie der Name verrät, sind diese Load Balancer keine Proxys. Pakete mit Load-Balancing werden von Backend-VMs mit den Quell- und Ziel-IP-Adressen des Pakets, dem Protokoll und den unveränderten Quell- und Zielports angezeigt, wenn das Protokoll portbasiert ist. Verbindungen mit Load Balancing werden bei den Backends beendet. Antworten von den Backend-VMs werden direkt an die Clients gesendet, nicht über den Load-Balancer. Der Branchenbegriff hierfür ist direkte Serverrückgabe (DSR).

Diese Load Balancer werden, wie im folgenden Bild dargestellt, in zwei Modi bereitgestellt, je nachdem, ob der Load Balancer mit dem Internet oder intern verbunden ist.

  • Externe Passthrough-Network-Load-Balancer basieren auf Maglev. Clients können unabhängig von ihren Netzwerkdienststufen von überall im Internet aus eine Verbindung zu diesen Load Balancern herstellen. Der Load-Balancer kann auch Traffic von Trusted Cloud VMs mit externen IP-Adressen oder von Trusted Cloud VMs empfangen, die über Cloud NAT oder instanzbasiertes NAT Internetzugriff haben.

    Backends für externe Passthrough-Network Load Balancer können entweder mit einem Backend-Dienst oder mit einem Zielpool bereitgestellt werden. Für neue Bereitstellungen empfehlen wir die Verwendung von Backend-Diensten.

  • Interne Passthrough-Network-Load-Balancer basieren auf dem Andromeda-Stack zur Netzwerkvirtualisierung. Mit einem internen Passthrough-Network-Load-Balancer können Sie TCP/UDP-Traffic hinter einer internen Load-Balancing-IP-Adresse, die nur für Systeme im selben VPC-Netzwerk oder für Systeme, die mit Ihrem VPC-Netzwerk verbunden sind, gleichmäßig verteilen. Außerdem kann dieser Load-Balancer nur in der Premiumstufe konfiguriert werden.

Das folgende Diagramm zeigt ein Beispiel für die Architektur eines Passthrough-Network-Load-Balancers.

Architektur des Passthrough-Network-Load-Balancers
Architektur des Passthrough-Network Load Balancers (zum Vergrößern klicken)

Zugrunde liegende Technologien von Trusted Cloud Load-Balancern

In der folgenden Tabelle ist die zugrunde liegende Technologie aufgeführt, auf der jederTrusted Cloud Load-Balancer basiert.

  • Google Front Ends (GFEs) sind softwarebasierte, verteilte Systeme, die sich in Google-PoPs (Points of Presence) befinden und globales Load-Balancing in Verbindung mit anderen Systemen und Steuerungsebenen ausführen.
  • Andromeda ist der softwarebasierte Netzwerkvirtualisierungs-Stack von Google Cloud.
  • Maglev ist ein verteiltes System für das Netzwerk-Load-Balancing.
  • Envoy ist ein Open-Source-Edge- und ‑Dienstproxy, der für cloudnative Anwendungen entwickelt wurde.
Load-Balancer Technologie
Regionaler externer Application Load Balancer Envoy
Regionaler interner Application Load Balancer Envoy
Regionaler externer Proxy-Network Load Balancer Envoy
Regionaler interner Proxy-Network Load Balancer Envoy
Externer Passthrough-Network Load Balancer Maglev
Interner Passthrough-Network Load Balancer Andromeda

Load-Balancer auswählen

Um zu bestimmen, welches Cloud Load Balancing-Produkt verwendet werden soll, müssen Sie erst einmal festlegen, welche Art von Traffic Ihre Load-Balancer verarbeiten müssen. In der Regel wählen Sie einen Application Load Balancer aus, wenn Sie ein flexibles Feature-Set für Ihre Anwendungen mit HTTP(S)-Traffic benötigen. Außerdem verwenden Sie einen Network Load Balancer, wenn Sie eine umfangreiche TLS-Auslagerung oder Unterstützung für UDP benötigen oder Client-IP-Adressen für Ihre Anwendungen freigeben müssen.

Sie können Ihre Auswahl weiter eingrenzen, je nachdem, ob Ihre Anwendung extern (mit dem Internet) oder intern verbunden ist.

Das folgende Diagramm zeigt alle verfügbaren Bereitstellungsmodi für Cloud Load Balancing. Weitere Informationen finden Sie im Leitfaden zum Auswählen eines Load-Balancers.

Load-Balancer auswählen.
Wählen Sie einen Load Balancer aus (zum Vergrößern klicken).

Zusammenfassung der Typen von Trusted Cloud Load-Balancern

Die folgende Tabelle enthält Details wie die Netzwerkdienststufe, auf der jeder Load Balancer ausgeführt wird, sowie das zugehörige Load-Balancing-Schema.

Load-Balancer Bereitstellungsmodus Traffictyp Netzwerkdienststufe Load-Balancing-Schema1
Application Load Balancer Regional, extern HTTP oder HTTPS Premium- oder Standardstufe EXTERNAL_MANAGED
Regional intern HTTP oder HTTPS Premium-Stufe INTERNAL_MANAGED
Proxy-Network-Load-Balancer Regional, extern TCP Premium- oder Standardstufe EXTERNAL_MANAGED
Regional intern TCP ohne SSL-Übertragung Premium-Stufe INTERNAL_MANAGED
Passthrough-Network-Load-Balancer

Extern

Immer regional

TCP, UDP, ESP, GRE, ICMP und ICMPv6 Premium- oder Standardstufe EXTERN

Intern

Immer regional

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH und GRE Premium-Stufe INTERN

1 Das Load-Balancing-Schema ist ein Attribut für die Weiterleitungsregel und den Backend-Dienst eines Load-Balancers und gibt an, ob der Load-Balancer für internen oder externen Traffic verwendet werden kann.

Der Begriff verwaltet in EXTERNAL_MANAGED oder INTERNAL_MANAGED gibt an, dass der Load Balancer als verwalteter Dienst entweder auf einem Google Front End (GFE) oder auf dem Open-Source-Envoy-Proxy implementiert wird. In einem Load-Balancing-Schema, das verwaltet ist, werden Anfragen entweder an das GFE oder an den Envoy-Proxy weitergeleitet.

Schnittstellen

Sie können Ihre Load-Balancer über folgende Oberflächen konfigurieren und aktualisieren:

  • Die Google Cloud-CLI: Ein Befehlszeilentool, das in der Google Cloud-CLI enthalten ist. In der Dokumentation wird dieses Tool häufig zum Ausführen von Aufgaben erwähnt. Eine vollständige Übersicht über das Tool finden Sie im Leitfaden zur gcloud CLI. Befehle im Zusammenhang mit dem Load-Balancing finden Sie in der Befehlsgruppe gcloud compute.

    Ausführliche Hilfe zu jedem gcloud-Befehl erhalten Sie auch mit dem Flag --help:

    gcloud compute http-health-checks create --help
    
  • Die Trusted Cloud Console: Load-Balancing-Aufgaben können über die Trusted Cloud Console ausgeführt werden.

  • Die REST API: Alle Load-Balancing-Aufgaben können mit der Cloud Load Balancing API ausgeführt werden. In der API-Referenzdokumentation werden die verfügbaren Ressourcen und Methoden beschrieben.

  • Terraform: Sie können ein Open-Source-Infrastruktur-als-Code-Tool wie Terraform verwenden, um die Trusted Cloud-Load-Balancing-Infrastruktur bereitzustellen, zu aktualisieren und zu löschen.

Nächste Schritte