FAQ

Last change on 2024-12-06 • Created on 2020-07-02 • ID: NE-8FDC1

Was ist ein Load Balancer und warum könnte er für mich nützlich sein?

Ein Load Balancer wird normalerweise vor deinen Anwendungsservern platziert und fungiert als erster Ansprechpartner für eingehende Anfragen. Je nachdem welcher Algorithmus verwendet wird, kann der Datenverkehr dann auf deine Infrastruktur verteilt werden. Dies führt zu einer erhöhten Verfügbarkeit, Skalierbarkeit und Leistung deiner Anwendung.

Jeder Load Balancer besitzt:

  • Öffentliche IPv4
  • Öffentliche IPv6
  • Private IPv4 (wenn in einem privaten Netzwerk)

Welche Server IPs können einem Load Balancer als Target hinzugefügt werden?

Einem Load Balancer können die öffentliche oder private IPv4 eines Cloud Servers und die öffentliche oder private IPv4 eines Dedicated Root Servers (Robot Account) als Target hinzugefügt werden.

Der Dedicated Root Server muss dem Inhaber des Projektes gehören, in dem der Load Balancer sich befindet und er muss durch denselben Account über Hetzner Robot verwaltet werden. In der Hetzner Console wird die IP-Adresse eines Cloud Servers automatisch aus dem Projekt übernommen und als Target hinzugefügt. Die IP-Adresse eines Dedicated Root Servers muss hingegen manuell angegeben werden.

Folgendes musst du bei privaten IP-Targets beachten:

Cloud Server

  • Cloud Server und Load Balancer müssen im selben privaten Cloud Netzwerk sein.

Dedicated Root Server

  • Dedicated Server und Load Balancer müssen im selben privaten Cloud Netzwerk sein (vSwitch).
  • Die private IP-Adresse muss innerhalb des entsprechenden vSwitch Subnetz-IP-Bereichs liegen.

Wie viele Load Balancer kann ich erstellen?

Jeder Kunde hat ein Standardlimit für die Anzahl der Cloud Ressourcen, die wir gleichzeitig bereitstellen. Wenn du dein Limit erhöhen möchtest, kannst du eine Anfrage an unser Support-Team senden, indem du ein Support-Ticket über die Hetzner Console öffnest. Unser Team wird deine Anfrage schnell prüfen und, wenn alles in Ordnung ist, dein Limit erhöhen.

Wie werden Load Balancer abgerechnet?

Load Balancer werden wie Server in Rechnung gestellt. Beide haben sowohl eine monatliche Preisobergrenze als auch einen Preis pro Stunde.

Welche Leistung kann ich von Load Balancern erwarten?

Die Leistung hängt von der Konfiguration und Arbeitslast deines Load Balancers ab (z.B. wenn du TLS-Terminierung benötigst). Unsere Load Balancer-Tarife sind so konzipiert, dass sie für die meisten Anwendungsfälle eine effiziente und zuverlässige Verteilung des Datenverkehrs bieten.

Der entscheidende Faktor ist die Anzahl der gleichzeitig offenen Verbindungen, die jeder Tarif unterstützt:

  • LB11 bis zu 10.000 Verbindungen
  • LB21 bis zu 20.000 Verbindungen
  • LB31 bis zu 40.000 Verbindungen

Größere Tarife besitzen mehr CPU und Speicher, um die höhere Nachfrage zu bewältigen.

Die Bandbreite wird von uns nicht explizit eingeschränkt. Allerdings teilen sich alle Load Balancer, die auf demselben physischen Server laufen, dessen 2x10Gbit-Schnittstelle, was ein hardwarebasiertes Limit darstellt.

Wir begrenzen auch nicht die Anzahl neuer Verbindungen, die über einen bestimmten Zeitraum hinweg aufgebaut werden. Die Verbindungsrate hängt lediglich von den verfügbaren Ressourcen des Systems ab.

Wähle einen Tarif, der den Anforderungen an die Skalierbarkeit und Leistung deiner Anwendung entspricht.

Ist mein Load Balancer hoch verfügbar?

Ja! Wir haben Load Balancer so konzipiert, dass sie hochverfügbar sind. Bei einem Hardwarefehler tritt ein automatisches Failover auf und für die Clients ist nur eine kurze Service Unterbrechung sichtbar.

Welche Protokolle werden von Load Balancern unterstützt?

Unsere Load Balancer können jeden TCP-basierten Datenverkehr sowie HTTP und HTTPS verarbeiten. Sie sprechen standardmäßig HTTP / 2, abhängig von den Fähigkeiten des Clients.

Wenn du den Service bei unseren Load Balancern mit HTTPS konfigurierst, wird die verschlüsselte Verbindung am Load Balancer terminiert (TLS Termination) und nicht am Target. Die Kommunikation zwischen Load Balancer und Targets erfolgt über HTTP. Ist HTTPS erwünscht muss ein TCP Service verwendet werden.

Health Checks können von Load Balancern hingegen über HTTPS durchgeführt werden.

Was sind Health Checks?

Health Checks schützen deine Anwendung vor Ausfällen eines einzelnen Servers, indem sichergestellt wird, dass der Datenverkehr nur an fehlerfreie Ziele weitergeleitet wird. Es gibt zwei Arten von Health Checks: aktive und passive. Unsere Load Balancer unterstützen beide.

Aktive Health Checks können vom Benutzer konfiguriert werden und prüfen in bestimmten Intervallen aktiv, ob die Load Balancer Ziele noch aktiv sind und auf Anforderungen reagieren.

Passive Health Checks sind Prüfungen, die passiv bei jeder Anforderung durchgeführt werden, die vom Load Balancer an ein Ziel weitergeleitet wird.

Sobald ein Ziel als nicht ansprechbar und damit "unhealthy" eingestuft wird, wird es nicht mehr für Anforderungen verwendet. Die aktiven Health Checks laufen jedoch weiter, und das Ziel wird wiederbelebt, wenn die konfigurierte Anzahl von Prüfungen erfolgreich war.

Was bedeutet Proxy-Protokoll und sollte ich es einschalten?

!! Durch Aktivierung des Proxy-Protokolls für Ziel-Server, die diese Funktion nicht unterstützen, wird der gesamte Dienst unerreichbar !!

ProxyProtocol wird verwendet, um die Verbindungsinformationen über mehrere Verbindungsebenen hinweg zu übertragen. Es kann verwendet werden, um die ursprüngliche IP-Adresse des Clients an den Zieldienst weiterzuleiten. Damit dies funktioniert, muss die Software, die Anfragen am Ziel verarbeitet, diese Funktion unterstützen und explizit aktiviert haben.

Hier ist ein Beispiel für die Aktivierung für Nginx: https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/

Leiten Load Balancer spezielle HTTP-Header weiter?

Wenn du das Protokoll http oder https wählst, fügt der Load Balancer diese Header zur weitergeleiteten Anforderung hinzu:

  • X-Forwarded-For - enthält die IP-Adresse des ursprünglichen Clients, der die Anforderung gestellt hat.
  • X-Forwarded-Port - enthält den Listen-Port des Load Balancer Service. Wenn dein Load Balancer also Port 80 abhört, enthält er 80.
  • X-Forwarded-Proto - enthält das Protokoll, mit dem der Client den Load Balancer kontaktiert. Kann http oder https sein.

Diese HTTP header werden nicht angefügt, wenn das Protokoll TCP ist.

Wie bestimme ich, von welcher IP-Adresse eine Anfrage ursprünglich kam?

Für Dienstprotokolle http und https enthält der HTTP-Header "X-Forwarded-For" die IP-Adresse des anfordernden Clients.

Wenn dein Target dies unterstützt, kannst du die Verwendung der ProxyProtocol-Funktion prüfen, um dies zu erreichen. Für das Dienstprotokoll TCP ist dies der einzige Weg.

Kann ich mir das Log für meinen Load Balancer zusenden lassen?

Die Load Balancer protokollieren aus Datenschutz-, Leistungs- und Kostengründen nicht die einzelnen eingehenden Anfragen. Daher besitzen wir dazu keine Logs, die wir dir zusenden könnten. Wenn du Logs in dieser Detaillierung benötigst, musst du die Ziel-Server entsprechend selbst konfigurieren.

Kann ich meinem Load Balancer eine Floating IP zuweisen?

Floating IPs unterstützen derzeit nur Server als Ziel. Load Balancer sind hochverfügbar implementiert, so dass die Nutzung einer Floating IP nicht notwendig ist, um die beste Verfügbarkeit zu erreichen.

Aufgrund von erhöhter Nachfrage prüfen wir jedoch eine Erweiterung der Load Balancer, um in der Zukunft Floating IPs zu unterstützen.

Sind Load Balancer ortsgebunden?

Nein, Targets innerhalb eines Load Balancers müssen nicht vom selben Standort sein. Beachte aber, dass der Load Balancer aus der selben Netzwerkzone sein muss wie die Targets. IP basierte Targets sind ausschließlich bei Load Balancern der Netzwerkzone eu-central möglich.

Netzwerkzone Standorte
ap-southeast Singapur (sin)
eu-central Falkenstein (fsn1), Helsinki (hel1), Nürnberg (nbg1)
us-east Ashburn, VA (ash)
us-west Hillsboro, OR (hil)

Wie kann ich Zertifikate für meinen Load Balancer löschen?

Diese Option wirst du nicht bei den Load Balancers direkt finden, sondern in den Sicherheit Einstellungen des Projektes.

Wähle zunächst bitte das Projekt aus, dann Sicherheit auf der linken Seite, danach Zertifikate in der oberen Leiste. Dort wirst du eine komplette Liste deiner konfigurierten SSL-Zertifikate finden. Auf der rechten Seite klickst du auf die drei horizontalen Punkte. Von dort aus kannst du das Zertifikat im Pop-up löschen.

Table of Contents