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.
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.
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.
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.
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.
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
- Informationen darüber, welcher Trusted Cloud Load-Balancer Ihren Anforderungen am besten entspricht, finden Sie unter Load-Balancer auswählen.
- Informationen zu den Komponenten verschiedener Arten von Trusted Cloud Load-Balancern finden Sie unter Cloud Load Balancing-Ressourcenmodell.
- Eine vergleichende Übersicht über die von Cloud Load Balancing angebotenen Load-Balancing-Features finden Sie unter Load-Balancer-Features im Vergleich.
- Wenn Sie vordefinierte Terraform-Vorlagen verwenden möchten, um die Einrichtung und Verwaltung der Netzwerkinfrastruktur von Trusted Cloudzu optimieren, sehen Sie sich das GitHub-Repository für vereinfachte Lösungen für die Cloud-Netzwerkkonfiguration an.