Erfahren Sie, wie Sie Cloudflare Load Balancer (LB) verwenden können, um Datenverkehr zwischen zu verteilen AWS (Amazon Webdienste) und GCP (Google Cloud-Plattform).

Die meisten Webanwendungen erfordern oder führen einen Lastausgleich zwischen Servern/Diensten im selben Rechenzentrum durch.

Wenn Sie jedoch geschäftskritische Anwendungen ausführen, bei denen weltweit ständig Verfügbarkeit erforderlich ist, benötigen Sie eine Cloud Load Balancer.

Nicht nur Betriebszeit könnte aber viele andere Faktoren sein.

Ex:

  • Aktiv-Passiv- oder Aktiv-Aktiv-Rechenzentrumsanforderung
  • Notfallwiederherstellungsplan
  • Nutzung mehrerer Rechenzentren, um Anfragen vom nächstgelegenen Standort aus zu bearbeiten
  • Compliance

Cloudflare bietet lokale und globale Load-Balancing-Optionen, die dabei helfen, den Datenverkehr an mehrere Rechenzentren weiterzuleiten.

Einige der Cloudflare LB Funktionen sind:

  • Integritätsprüfungen sind integriert, sodass Sie einen fehlerhaften Server schnell herunterfahren können.
  • Failover auslösen, wenn die Integritätsprüfung fehlschlägt
  • Reduzieren Sie die Latenz, indem Sie den Datenverkehr an den nächstgelegenen Server weiterleiten
  • DNS-Ebene und unterstützt HTTP(S), TCP und UDP
  • Sitzungsstabilität, um sicherzustellen, dass die Anforderung an denselben Server gesendet wird

Sie können ganze Dinge entweder über das Cloudflare-Dashboard oder die API konfigurieren.

Technisch gelten die folgenden Anweisungen für den Lastenausgleich auf jeder Cloud-Plattform wie Azure, DigitalOcean, Alibaba usw. Aber ich habe GCP und AWS für die Demonstration ausgewählt.

cloudflare-lb

AWS & GCP Setup Details

Ich habe einen Server in der GCP- und AWS-Plattform mit den folgenden bereitgestellt.

  • Installiertes Nginx
  • Hinzugefügt index.html mit benutzerdefiniertem Text, um anzuzeigen, dass die Seite vom jeweiligen Server bereitgestellt wird
  • Nginx gestartet, und die Seite ist von beiden Servern aus zugänglich
aws-gcp-testseite

Wechseln wir zu Cloudflare, um LB zu implementieren.

Activating Cloudflare Load Balancer

Ich habe eine verfügbare Domain (bloggerflare.com), die ich für dieses Labor verwenden werde.

Hinweis: Load Balancer von Cloudflare ist nicht KOSTENLOS und gebühr beginnt bei 5 $ pro Monat.

Ich gehe davon aus, dass Sie bereits ein Konto bei Cloudflare haben. Wenn nicht, können Sie die Domain erstellen und hinzufügen, wie in meinem Abschnitt erläutert previous post.

  • Melden Sie sich bei Cloudflare an und wählen Sie die Domäne aus, in der Sie den Ausgleich aktivieren möchten
  • Gehen Sie zur Registerkarte Verkehr und Aktivieren Sie den Lastausgleich.
cloudflare-enable-lb
  • Konfigurieren Sie die Funktionen basierend auf der Anforderung. Ich gehe mit minimaler Konfiguration vor.
cloudflare-lb-setup

Wenn Sie möchten, dass Anforderungen an den nächstgelegenen Speicherort umgeleitet werden, müssen Sie diese aktivieren Geo-Routing.

  • Bestätigen Sie das Abonnement und aktivieren Sie es.
cloudflare-lb-Abonnement

Wie Sie sehen können, können Sie es mit zwei Ursprungsservern und einem einminütigen Intervall für die Gesundheitsprüfung ab 5 US-Dollar pro Monat starten.

Die Infrastruktur ist jetzt so erschwinglich. Können Sie sich vor 5 Jahren einen Cloud Load Balancer für 5 US-Dollar vorstellen?

Dies zeigt an, dass Cloudflare LB aktiviert und bereit ist, konfiguriert zu werden.

Creating Cloudflare LB

Es dauert einige Sekunden, um das Abonnement zu bestätigen und zur Seite "Verkehr" zurückzukehren.

  • Klicken Sie Load Balancer erstellen
cloudflare-lb-aktiviert
  • Geben Sie die Domäne ein, in der Sie den Ausgleich einrichten möchten.
  • Erweitern Sitzungsaffinität und wählen Sie Von Cloudflare Cookie Wenn Sie die Klebrigkeit der Sitzung aktivieren müssen
cloudflare-create-lb
  • Geben Sie einen Poolnamen ein und es ist der Ursprung (Server, auf den der Datenverkehr umgeleitet werden soll)
cloudflare-lb-pool
  • Als Nächstes können Sie eine Integritätsprüfung konfigurieren.

Ein Gesundheitscheck ist unerlässlich. Cloudflare hört auf, Datenverkehr an den fehlerhaften Ursprung zu senden, wenn eine Zustandsprüfung fehlschlägt.

  • Wenn Ihr Ursprung Port 80 abhört, können Sie auswählen HTTP or https für 443 Port.
cloudflare-lb-enable-healthcheck

Mit Cloudflare können Sie auch konfigurieren fortgeschrittener Gesundheitscheck Einstellungen wie:

  • GET- oder HEAD-Methode
  • Voraussichtlich HTTP-Statuscode
  • Inhaltsvalidierung im Antworttext
  • Anzahl der Versuche, bevor sie als gesund oder ungesund gelten
  • Überprüfung des Headernamens

Und schließlich speichern Sie die Konfiguration und einsetzen

cloudflare-lb-final-bereitstellung
  • LB führt eine Gesundheitsprüfung durch und in wenigen Sekunden sehen Sie den Status gesund.
cloudflare-lb-gesund

Groß, schließt dies, dass der Cloudflare-Load-Balancer bereit ist, Datenverkehr aus der ganzen Welt zu akzeptieren und an die konfigurierten Ursprungsserver weiterzuleiten.

Testing Load Balancer

Lassen Sie uns einen grundlegenden Test durchführen, um festzustellen, ob er funktioniert.

  • Versuchen Sie zunächst, auf die Domäne zuzugreifen.
seite-aus-gcp

Genial!

LB leitete eine Anfrage an Google Cloud VM weiter und erhielt die Antwort. Ich kann die Anfrage in Nginx sehen.

162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
  • Lassen Sie mich Nginx auf GCP herunterfahren und erneut auf die Seite zugreifen.
Seite von aws
  • Und los geht's. Eine angeforderte Seite wird von AWS bereitgestellt.

Ich kann sehen, dass LB das GCP-Poolmitglied heruntergenommen hat.

cloudflare-lb-Gesundheitstest

Standardmäßig wird Cloudflare IP in Nginx-Zugriffsprotokollen angezeigt. Wenn Sie die Client-IP wiederherstellen müssen, können Sie dies tun Schauen Sie sich diese Anleitung an.

Fazit

Die Implementierung eines Cloudflare Load Balancers ist einfach und kann es in weniger als 15 Minuten starten. Wenn Sie nach Hochverfügbarkeit zwischen mehreren Rechenzentren oder Ursprungsservern suchen, probieren Sie es aus, um zu sehen, wie es funktioniert.