Hur laddar man saldowebbplats mellan GCP och AWS med Cloudflare?

By rik

Sprid din trafik med Cloudflare Load Balancer mellan AWS och GCP

Många webbapplikationer använder lastbalansering för att hantera trafik mellan servrar i samma datacenter. Men för affärskritiska applikationer som kräver ständig tillgänglighet över hela världen, är en molnbaserad lastbalanserare nödvändig.

Det handlar inte bara om tillgänglighet, utan också andra viktiga aspekter:

  • Krav på aktiv-passiv eller aktiv-aktiv datacenterkonfiguration.
  • Planer för katastrofåterställning.
  • Möjligheten att utnyttja flera datacenter för att minska latensen.
  • Efterlevnad av olika regelverk.

Cloudflare erbjuder både lokala och globala lastbalanseringsalternativ, vilket underlättar fördelningen av trafik mellan flera datacenter.

Cloudflare LB erbjuder bland annat:

  • Integrerade hälsokontroller för att snabbt identifiera och ta bort felaktiga servrar.
  • Automatisk failover vid misslyckade hälsokontroller.
  • Minskad latens genom att dirigera trafik till närmaste server.
  • Stöd för DNS, HTTP(S), TCP och UDP.
  • Session-stickiness för att säkerställa att förfrågningar dirigeras till samma server.

Konfigurationen kan göras via Cloudflares webbgränssnitt eller via API.

Även om dessa instruktioner i grunden fungerar för alla molnplattformar som Azure, DigitalOcean, Alibaba och andra, har vi valt GCP och AWS för denna demonstration.

Konfiguration av AWS och GCP

Vi har satt upp en server i både GCP och AWS med följande konfiguration:

  • Nginx installerad.
  • En `index.html`-fil med en unik text för att visa vilken server som levererar sidan.
  • Nginx är startad, och sidan är tillgänglig från båda servrarna.

Låt oss gå vidare till Cloudflare för att implementera lastbalanseringen.

Aktivering av Cloudflare Load Balancer

Vi använder en befintlig domän (bloggerflare.com) för detta test.

Observera att Cloudflares lastbalanserare inte är gratis, och priserna börjar på $5 per månad.

Vi antar att du redan har ett konto hos Cloudflare. Om inte, skapa ett och lägg till din domän enligt anvisningarna i tidigare artiklar.

  • Logga in på Cloudflare och välj domänen där du vill aktivera lastbalansering.
  • Gå till ”Trafik”-fliken och aktivera lastbalansering.

  • Konfigurera funktionerna efter behov. Vi fortsätter med en minimal konfiguration.

Om du vill att trafik ska dirigeras till närmaste server, aktivera Geo Routing.

  • Bekräfta prenumerationen och aktivera tjänsten.

Som du ser, kan du komma igång från $5 i månaden med två servrar och en hälsokontroll som körs varje minut.

Infrastrukturen har blivit så mycket billigare. För bara fem år sedan, hade du kunnat föreställa dig en molnbaserad lastbalanserare för $5?

Detta visar att Cloudflare LB nu är aktiverad och redo att konfigureras.

Skapa Cloudflare LB

Efter några sekunder är prenumerationen bekräftad och du kommer tillbaka till trafiksidan.

  • Klicka på ”Skapa lastbalanserare”.

  • Ange domänen du vill balansera.
  • Om du behöver session stickiness, expandera ”Session Affinity” och välj ”By Cloudflare Cookie”.

  • Ange ett poolnamn och lägg till dina ursprungsservrar (servrarna som trafiken ska dirigeras till).

  • Konfigurera nu en hälsokontroll.

En hälsokontroll är avgörande. Cloudflare slutar att skicka trafik till en server som inte klarar hälsokontrollen.

  • Om din server lyssnar på port 80, välj HTTP. För port 443, välj HTTPS.

Cloudflare låter dig konfigurera avancerade hälsokontrollinställningar, så som:

  • GET eller HEAD-metoden.
  • Förväntad HTTP statuskod.
  • Innehållsvalidering i svarsmeddelandet.
  • Antalet försök innan en server markeras som ohälsosam.
  • Verifiering av rubrik-namn.

Spara sedan konfigurationen och distribuera den.

  • LB kommer att utföra en hälsokontroll och inom några sekunder kommer statusen att visas som frisk.

Utmärkt! Cloudflares lastbalanserare är nu redo att ta emot trafik från internet och vidarebefordra den till dina konfigurerade servrar.

Testa lastbalanseraren

Låt oss göra ett enkelt test för att se om allt fungerar som det ska.

  • Försök först att komma åt domänen.

Fantastiskt!

Lastbalanseraren skickade begäran till Google Cloud VM och fick ett svar. Detta bekräftas i Nginx-loggarna:

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"
  • Låt oss nu stänga av Nginx på GCP och försöka komma åt sidan igen.

  • Och där ser vi, nu serveras sidan från AWS.

Vi ser att lastbalanseraren tog bort GCP-servern ur poolen.

Som standard visas Cloudflares IP i Nginx-loggarna. Om du behöver återställa klientens IP, finns det en bra guide för detta.

Slutsats

Att implementera Cloudflare lastbalanserare är enkelt och kan göras på mindre än 15 minuter. Om du behöver hög tillgänglighet mellan flera datacenter eller servrar, rekommenderar vi att prova det och se hur det fungerar.

Har du gillat artikeln? Varför inte dela den med andra?