Was ist ein Load Balancer und warum könnte er für mich nützlich sein?
Ein Load Balancer wird normalerweise vor Ihren Anwendungsservern platziert und fungiert als erster Ansprechpartner für eingehende Anfragen. Je nachdem welcher Algorithmus verwendet wird, kann der Datenverkehr dann auf Ihre Infrastruktur verteilt werden. Dies führt zu einer erhöhten Verfügbarkeit, Skalierbarkeit und Leistung Ihrer 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 Cloud 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 müssen Sie 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 Sie Ihr Limit erhöhen möchten, können Sie eine Anfrage an unser Support-Team senden, indem Sie ein Support-Ticket über die Cloud Console öffnen. Unser Team wird Ihre Anfrage schnell prüfen und, wenn alles in Ordnung ist, Ihr 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 Ihres Load Balancers ab (z.B. wenn Sie TLS-Terminierung benötigen). 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ählen Sie einen Tarif, der den Anforderungen an die Skalierbarkeit und Leistung Ihrer 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 Sie den Service bei unseren Load Balancern mit HTTPS konfigurieren, 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 Ihre 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 Sie das Protokoll http oder https wählen, 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 Ihr 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 Ihr Target dies unterstützt, können Sie 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 Ihnen zusenden könnten. Wenn Sie Logs in dieser Detaillierung benötigen, müssen Sie 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. Beachten Sie 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 meine Zertifikate verwalten?
Sie können Ihre Zertifikate übersichtlich in der Cloud Console verwalten. Öffnen Sie dazu Ihr Projekt und wählen Sie in der linken Menüleiste Sicherheit. Wählen Sie anschließend in der oberen Leiste Zertifikate und dann ZERTIFIKAT HINZUFÜGEN.
Es gibt zwei Möglichkeiten:
- Zertifikat erstellen
Damit können Sie ein von Hetzner verwaltetes Let's Encrypt Zertifikat erstellen. Dieses wird automatisch durch Hetzner erneuert. Die Domain muss für dieses Zertifikat durch das Hetzner DNS verwaltet werden.
- Zertifikat hochladen
Damit können Sie ein eigenes, bereits existierendes Zertifikat hochladen. Dieses Zertifikat müssen Sie selbst verwalten und selbst erneuern.
Nachdem ein Zertifikat hinzugefügt wurde, können Sie dieses über die Dropdown-Liste am rechten Rand umbenennen, löschen oder Labels hinzufügen.
Sollte es zu einer Fehlermeldung kommen, können Sie es über die Dropdown-Liste erneut versuchen.
Was ist ein Managed Let's Encrypt Zertifikat?
Mit einem TLS/SSL-Zertifikat wird bei Webseiten belegt, dass die Kommunikation zwischen dem Client und dem Server verschlüsselt ist, wodurch vertrauliche Informationen geschützt werden können. Let's Encrypt ist eine Zertifizierungsstelle, die kostenlos TLS/SSL-Zertifikate ausstellt. Sobald ein Zertifikat ausgestellt wurde, beginnt die URL mit https
, wobei s
für secure steht, also sicher. Zusätzlich erscheint direkt neben der URL ein grünes Schloss.
Bei Hetzner Cloud können Sie TLS/SSL-Zertifikate zu Ihrem Projekt hinzufügen. Dabei können Sie entweder ein Neues erstellen oder ein Eigenes hochladen. Wenn Sie die Option Zertifikat erstellen wählen, wird von uns ein Let's Encrypt Zertifikat für Sie erstellt und automatisch erneuert. Das ist ein Managed Let's Encrypt Zertifikat.
Was brauche ich für ein Let's Encrypt Zertifikat?
Für ein Let's Encrypt Zertifikat benötigen Sie eine Domain (example.com), ein Domain Name System (DNS) und Zugriff auf den Server mit dem entsprechenden Webserver.
Unsere Managed Let's Encrypt Zertifikate können nur mit einer Hetzner DNS Zone erstellt werden. Dazu können Sie Hetzner DNS entweder direkt verwenden oder Sie nutzen eine externe DNS und delegieren die ACME-Challenge auf Hetzner DNS.
Das Domain Name System (DNS) ist im Grunde eine Liste von Domains und den dazugehörigen IP-Adressen. Diese Information wird auf sogenannten Nameservern gespeichert, die über das Internet erreichbar sind.
Hetzner DNS
Unter dns.hetzner.com können Sie sich Ihre eigene Hetzner DNS Zone erstellen. Dafür müssen Sie bereits eine Domain besitzen. Die Nameserver heißen hier:
- hydrogen.ns.hetzner.com
- oxygen.ns.hetzner.com
- helium.ns.hetzner.de
Die Informationen über eine Domain befinden sich auf den Nameservern (ns). Damit ein Zertifikat erstellt werden kann, muss das DNS korrekt antworten können. Dafür müssen die Nameserver die oben gelisteten Namen besitzen.
Um Ihre DNS-Einträge über die Hetzner DNS Console zu verwalten, müssen Sie von Ihrem bisherigen DNS-Provider auf die Hetzner-Nameserver verweisen. Weitere Informationen finden Sie in unserer Dokumentation zur DNS Console
Externe DNS
Wenn Sie ein externes DNS besitzen, können Sie die ACME-Challenge auf Hetzner DNS delegieren und diese Hetzner DNS Zone nutzen, um ein Managed Let's Encrypt Zertifikat zu erstellen. In dem Tutorial Einrichten eines Let's Encrypt Zertifikats auf Cloud Load Balancern wird erklärt, wie Sie eine Hetzner DNS Zone erstellen und die externe DNS Zone darauf umleiten können.
Wie kann ich Zertifikate für meinen Load Balancer löschen?
Diese Option werden Sie nicht bei den Load Balancers direkt finden, sondern in den Sicherheit
Einstellungen des Projektes.
Wählen Sie zunächst bitte das Projekt aus, dann Sicherheit
auf der linken Seite, danach Zertifikate
in der oberen Leiste. Dort werden Sie eine kompletter Liste Ihrer konfigurierten SSL-Zertifikate finden. Auf der rechten Seite klicken Sie auf die drei horizontale Punkte. Von dort aus können Sie das Zertifikat im Pop-up löschen.
Wie kann ich ein Zertifikat inklusive Zwischenzertifikate hinzufügen?
Um ein Server Zertifikat mit allen Zwischenzertifikaten hinzuzufügen, müssen diese Zertifikate kombiniert werden. So funktioniert es:
-----BEGIN CERTIFICATE-----
(Ihr primäres Server Zertifikat)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Ihr Zwischenzertifikat(e))
-----END CERTIFICATE-----
Die kombinierten Zertifikate können dann in das Zertifikat Feld eingefügt werden.