Wie kann ich mit Cloudflare eine Balance-Site zwischen GCP und AWS laden?

Erfahren Sie, wie Sie den Cloudflare Load Balancer (LB) verwenden können, um den Datenverkehr zwischen AWS (Amazon Web Services) und GCP (Google Cloud Platform) zu verteilen.

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

Wenn Sie jedoch unternehmenskritische Anwendungen ausführen, für die weltweit ständig Betriebszeit benötigt wird, benötigen Sie einen Cloud-Load-Balancer.

Nicht nur die Betriebszeit, sondern viele andere Faktoren.

Ex:

  • Aktiv-Passiv- oder Aktiv-Aktiv-Rechenzentrumsanforderung
  • Disaster-Recovery-Plan
  • Nutzung mehrerer Rechenzentren, um Anfragen vom nächstgelegenen Standort aus zu bearbeiten
  • Beachtung

Wolkenflare 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 Zustandsprüfung fehlschlägt
  • Reduzieren Sie die Latenz, indem Sie den Datenverkehr zum nächstgelegenen Server leiten
  • DNS-Ebene und unterstützt HTTP(S), TCP und UDP
  • Sitzungsbindung, um sicherzustellen, dass die Anfrage an denselben Server geht

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, DigitalOceanAlibaba usw. Aber ich habe GCP und AWS für die Demonstration ausgewählt.

AWS- und GCP-Einrichtungsdetails

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

  • Nginx installiert
  • index.html mit benutzerdefiniertem Text hinzugefügt, um anzuzeigen, dass die Seite vom jeweiligen Server bereitgestellt wird
  • Nginx gestartet, und die Seite ist von beiden Servern aus zugänglich
  Post in Instagram Story kann nicht geteilt werden – warum nicht?

Wechseln wir zu Cloudflare, um LB zu implementieren.

Aktivieren von Cloudflare Load Balancer

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

Hinweis: Load Balancer von Cloudflare ist nicht KOSTENLOS und Preisgestaltung 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 ich in meinem vorherigen Beitrag erklärt habe.

  • Melden Sie sich bei Cloudflare an und wählen Sie die Domain aus, in der Sie das Balancing aktivieren möchten
  • Gehen Sie zur Registerkarte Verkehr und aktivieren Sie den Lastenausgleich.

  • Konfigurieren Sie die Funktionen basierend auf der Anforderung. Ich gehe mit minimaler Konfiguration vor.

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

  • Bestätigen Sie das Abonnement und aktivieren Sie es.

Wie Sie sehen können, können Sie mit zwei Ursprungsservern und einem einminütigen Integritätsprüfungsintervall ab 5 US-Dollar pro Monat starten.

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

  So treten Sie einem Zoom-Meeting bei: Login mit Passwort

Dies zeigt an, dass Cloudflare LB aktiviert und bereit zur Konfiguration ist.

Erstellen von Cloudflare LB

Es dauert einige Sekunden, bis das Abonnement bestätigt ist und Sie zurück zur Traffic-Seite gelangen.

  • Klicken Sie auf Load-Balancer erstellen

  • Geben Sie die Domäne ein, in der Sie den Ausgleich einrichten möchten.
  • Erweitern Sie Sitzungsaffinität und wählen Sie Durch Cloudflare-Cookie aus, wenn Sie die Sitzungsbindung aktivieren müssen

  • Geben Sie einen Poolnamen ein, und es ist der Ursprung (Server, an den der Datenverkehr umgeleitet werden soll)

  • Als Nächstes können Sie eine Zustandsprü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 auf Port 80 lauscht, können Sie HTTP oder https für Port 443 auswählen.

Mit Cloudflare können Sie auch erweiterte Zustandsprüfungseinstellungen konfigurieren, wie zum Beispiel:

  • GET- oder HEAD-Methode
  • Erwarteter HTTP-Statuscode
  • Inhaltsvalidierung im Antworttext
  • Anzahl der Versuche, bevor sie als gesund oder ungesund eingestuft werden
  • Überprüfung des Header-Namens

Speichern Sie schließlich die Konfiguration und stellen Sie sie bereit

  • LB führt eine Zustandsprüfung durch und in wenigen Sekunden sehen Sie, dass der Status fehlerfrei ist.
  So richten Sie iMessage auf einem Mac ein und verwenden es

Großartig, das kommt zu dem Schluss, dass Cloudflare Load Balancer bereit ist, Datenverkehr aus der ganzen Welt zu akzeptieren und an die konfigurierten Ursprungsserver weiterzuleiten.

Load-Balancer testen

Lassen Sie uns einen grundlegenden Test durchführen, um zu sehen, ob es funktioniert.

  • Versuchen Sie zunächst, auf die Domäne zuzugreifen.

Genial!

LB hat eine Anfrage an Google Cloud VM weitergeleitet und die Antwort erhalten. 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.

  • Und los geht’s. Eine angeforderte Seite wird von AWS bereitgestellt.

Wie ich sehe, hat LB das Mitglied des GCP-Pools heruntergefahren.

Standardmäßig wird die Cloudflare-IP in den Nginx-Zugriffsprotokollen angezeigt, und wenn Sie die Client-IP wiederherstellen müssen, können Sie sich diese Anleitung ansehen.

Fazit

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

Haben Sie den Artikel gerne gelesen? Wie wäre es mit dem Teilen mit der Welt?