Hvordan indlæses balancestedet mellem GCP og AWS ved hjælp af Cloudflare?

Lær, hvordan du kan bruge Cloudflare load balancer (LB) til at distribuere trafik mellem AWS (Amazon Web Services) og GCP (Google Cloud Platform).

De fleste webapplikationer kræver eller gør belastningsbalance mellem servere/tjenester i det samme datacenter.

Men hvis du kører missionskritiske applikationer, hvor der er behov for oppetid hele tiden over hele verden, så har du brug for en cloud load balancer.

Ikke kun oppetid, men kan være mange andre faktorer.

Eks:

  • Aktiv-passiv eller aktiv-aktiv datacenterkrav
  • Katastrofegenopretningsplan
  • Udnyttelse af flere datacentre til at betjene anmodninger fra den nærmeste placering
  • Overholdelse

Cloudflare tilbyder lokale og globale belastningsbalanceringsmuligheder, som hjælper med at dirigere trafik til flere datacentre.

Nogle af Cloudflare LB-funktionerne er:

  • Sundhedstjek er indbygget, så du hurtigt kan fjerne en defekt server.
  • Udløs failover, når sundhedstjekket mislykkes
  • Reducer latens ved at dirigere trafik til den nærmeste server
  • DNS-niveau og understøtter HTTP(S), TCP og UDP
  • Session stickiness for at sikre, at anmodningen går til den samme server

Du kan konfigurere hele ting enten via Cloudflare-dashboardet eller API.

Teknisk set gælder følgende instruktioner for belastningsbalance på enhver cloudplatform som Azure, DigitalOceanAlibaba osv. Men jeg har valgt GCP og AWS til demonstrationen.

AWS- og GCP-opsætningsdetaljer

Jeg har klargjort én server i GCP- og AWS-platformen med følgende.

  • Installeret Nginx
  • Tilføjet index.html med tilpasset tekst for at vise, at siden bliver serveret fra den respektive server
  • Startede Nginx, og siden er tilgængelig fra begge servere
  Sådan vælger du, hvilke udvidelser der skal vises på din Edge-værktøjslinje

Lad os flytte til Cloudflare for at implementere LB.

Aktivering af Cloudflare Load Balancer

Jeg har et ledigt domæne (bloggerflare.com), som jeg vil bruge til dette laboratorium.

Bemærk: Load balancer fra Cloudflare er ikke GRATIS, og prissætning starter ved $5 om måneden.

Jeg går ud fra, at du allerede har en konto hos Cloudflare; hvis ikke, kan du oprette og tilføje domænet, som jeg forklarede i mit tidligere indlæg.

  • Log ind på Cloudflare og vælg det domæne, hvor du vil aktivere balancering
  • Gå til trafikfanen og aktiver belastningsbalancering.

  • Konfigurer funktionerne baseret på kravet. Jeg fortsætter med minimal konfiguration.

Hvis du ønsker, at anmodninger skal omdirigeres til den nærmeste placering, skal du aktivere Geo Routing.

  • Bekræft abonnementet og aktiver det.

Som du kan se, kan du starte det fra $5 om måneden med to oprindelsesservere og et interval på et minuts sundhedstjek.

  Sådan installeres DBeaver MySQL-klient på Ubuntu

Infrastruktur er så overkommelig nu. 5 år tilbage, kan du forestille dig cloud load balancer til $5?

Dette indikerer, at Cloudflare LB er aktiveret og klar til at blive konfigureret.

Oprettelse af Cloudflare LB

Det vil tage et par sekunder at bekræfte abonnementet og tage dig tilbage til Trafik-siden.

  • Klik på Opret belastningsbalancer

  • Indtast det domæne, hvor du vil konfigurere balancering.
  • Udvid Session Affinity og vælg By Cloudflare Cookie, hvis du har brug for at aktivere session stickiness

  • Indtast et puljenavn, og det er oprindelsen (serveren, hvor trafikken skal omdirigeres til)

  • Dernæst kan du konfigurere et sundhedstjek.

Et sundhedstjek er vigtigt. Cloudflare stopper med at sende trafik til den defekte oprindelse, når et sundhedstjek mislykkes.

  • Hvis din oprindelse lytter på port 80, kan du vælge HTTP eller https for 443-port.

Cloudflare giver dig også mulighed for at konfigurere avancerede sundhedstjekindstillinger såsom:

  • GET eller HEAD metode
  • Forventet HTTP-statuskode
  • Indholdsvalidering i svarlegemet
  • Antal forsøg, før de vurderer sundt eller usundt
  • Godkendelse af headernavn

Og til sidst skal du gemme konfigurationen og implementere

  Sådan deaktiveres eller slettes PowerPoint-animationer

  • LB vil udføre et sundhedstjek, og i løbet af få sekunder vil du se, at status er sund.

Fantastisk, dette konkluderer, at Cloudflare load balancer er klar til at acceptere trafik fra verden og videresende den til de konfigurerede oprindelsesservere.

Test af Load Balancer

Lad os udføre en grundlæggende test for at se, om det virker.

  • Prøv først at få adgang til domænet.

Fantastisk!

LB videresendte en anmodning til Google Cloud VM og fik svaret. Jeg kan se anmodningen i Nginx.

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"
  • Lad mig lukke Nginx på GCP og få adgang til siden igen.

  • Og her går du. En anmodet side serveres fra AWS.

Jeg kan se, at LB tog GCP-poolmedlemmet ned.

Som standard vil Cloudflare IP blive vist i Nginx-adgangslogfiler, og hvis du har brug for at gendanne klient-IP, så kan du tjekke denne vejledning.

Konklusion

Implementering af en Cloudflare load balancer er ligetil og kan få den i gang på mindre end 15 minutter. Hvis du leder efter høj tilgængelighed mellem flere datacentre eller oprindelsesservere, så prøv det for at se, hvordan det fungerer.

Nydt at læse artiklen? Hvad med at dele med verden?