Utforsk hvordan du kan dra nytte av Cloudflare lastbalansering (LB) for å fordele nettverkstrafikk mellom AWS (Amazon Web Services) og GCP (Google Cloud Platform).
Mange webapplikasjoner krever en lastbalansering for å håndtere trafikk mellom servere eller tjenester innenfor samme datasenter.
Imidlertid, dersom du drifter applikasjoner av kritisk betydning som krever kontinuerlig tilgjengelighet globalt, er en skylastbalanserer en nødvendighet.
Det er ikke bare oppetid som er avgjørende; det er flere faktorer å vurdere.
Eksempler:
- Krav om aktiv-passiv eller aktiv-aktiv datasenterdrift
- Planer for katastrofegjenoppretting
- Utnyttelse av flere datasentre for å betjene brukere fra nærmeste lokasjon
- Overholdelse av regelverk
Cloudflare tilbyr både lokale og globale lastbalanseringsmuligheter, noe som forenkler dirigeringen av trafikk over flere datasentre.
Noen av de sentrale funksjonene til Cloudflare LB inkluderer:
- Integrerte helsesjekker, som gir rask deteksjon og fjerning av defekte servere.
- Automatisk failover ved feil i helsesjekk.
- Redusert ventetid ved å dirigere trafikk til serveren som er nærmest brukeren.
- DNS-nivå støtte for HTTP(S), TCP og UDP.
- «Session stickiness» for å sørge for at en brukers forespørsler fortsetter til den samme serveren.
Du kan sette opp alt dette enten via Cloudflare sitt dashbord eller via API.
De følgende instruksjonene er i hovedsak anvendbare for lastbalansering på alle skyplattformer, som Azure, DigitalOcean, Alibaba, etc. I denne demonstrasjonen fokuserer vi imidlertid på GCP og AWS.
Detaljer om oppsett i AWS og GCP
Jeg har konfigurert en server i både GCP- og AWS-plattformene, som følger:
- Nginx er installert.
- En index.html-fil med tilpasset tekst er lagt til for å indikere hvilken server som leverer innholdet.
- Nginx er startet, og nettsidene er tilgjengelige fra begge serverne.
La oss nå gå til Cloudflare for å implementere LB.
Aktivering av Cloudflare Load Balancer
Jeg har et domene (bloggerflare.com) tilgjengelig, som jeg vil bruke for denne demonstrasjonen.
Viktig: Cloudflare sin lastbalansering er ikke gratis, og prisen starter på $5 per måned.
Det forutsettes at du allerede har en Cloudflare-konto; hvis ikke, kan du opprette en og legge til domenet, slik jeg har beskrevet i et tidligere innlegg.
- Logg inn på Cloudflare og velg domenet hvor du ønsker å aktivere lastbalansering.
- Gå til «Trafikk»-fanen og aktiver lastbalansering.
- Konfigurer funksjonene i henhold til dine behov. Jeg fortsetter med minimal konfigurasjon.
For å dirigere forespørsler til den nærmeste serveren, aktiver «Geo Routing».
- Bekreft abonnementet og aktiver tjenesten.
Som du ser, kan du starte med en pris på $5 per måned, inkludert to opprinnelsesservere og helsesjekker hvert minutt.
Infrastruktur er nå såpass rimelig. For bare 5 år siden, ville det vært utenkelig med skylastbalansering til $5?
Dette viser at Cloudflare LB er aktivert og klar for konfigurasjon.
Opprettelse av Cloudflare LB
Det tar et par sekunder å bekrefte abonnementet, før du blir ledet tilbake til «Trafikk»-siden.
- Klikk på «Opprett lastbalanserer».
- Angi domenet hvor du ønsker å sette opp balansering.
- Utvid «Session Affinity» og velg «By Cloudflare Cookie» dersom du trenger «session stickiness».
- Skriv inn et navn for «poolen», som er opprinnelsesserveren (serveren trafikken skal omdirigeres til).
- Konfigurer deretter en helsesjekk.
En helsesjekk er avgjørende. Cloudflare vil slutte å dirigere trafikk til en defekt opprinnelsesserver ved feil i helsesjekk.
- Hvis opprinnelsesserveren din lytter på port 80, kan du velge HTTP, eller HTTPS for port 443.
Cloudflare gir deg også mulighet til å konfigurere avanserte helsesjekkinnstillinger, som for eksempel:
- GET- eller HEAD-metoden
- Forventet HTTP-statuskode
- Validering av innhold i responsen
- Antall forsøk før server vurderes som frisk eller feil
- Bekreftelse av overskriftsnavn
Til slutt, lagre konfigurasjonen og distribuer.
- LB vil utføre en helsesjekk, og i løpet av få sekunder skal statusen vise at serveren er frisk.
Flott! Dette bekrefter at Cloudflare lastbalanseren er klar til å motta trafikk og videresende den til de konfigurerte opprinnelsesserverne.
Testing av lastbalanseren
La oss utføre en grunnleggende test for å se om alt fungerer som det skal.
- Prøv først å åpne domenet.
Perfekt!
LB videresendte forespørselen til Google Cloud VM og mottok responsen. Jeg kan se forespørselen i Nginx-loggen.
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"
- La meg nå stoppe Nginx på GCP og åpne siden på nytt.
- Der ser du! Nå serveres siden fra AWS.
Jeg ser at LB har fjernet GCP-serveren fra «poolen».
Som standard vil Cloudflare sin IP vises i Nginx-tilgangslogger. Hvis du trenger å gjenopprette klientens IP, kan du sjekke denne veiledningen.
Konklusjon
Implementering av Cloudflare sin lastbalansering er enkelt og kan settes opp på under 15 minutter. Hvis du ønsker høy tilgjengelighet mellom flere datasentre eller opprinnelsesservere, bør du prøve dette for å se hvordan det fungerer.
Likte du denne artikkelen? Del den gjerne med andre!