← Tillbaka till listan

Lastbalansering i detalj: även kallad F5, med verkliga exempel

itadol5j

Inom drift och säkerhet kommer man nästan omöjligt förbi ett ord – lastbalansering. Och när det nämns är den första enheten många tänker på ”F5”. Det intressanta är att F5 egentligen är ett företagsnamn (F5 Networks), men produkten var så uppmärksammad att den gradvis blivit synonym med lastbalanserare – ungefär som ”googla” blivit vardagsspråk för att söka.

Lastbalansering F5

Här går vi igenom allt: vad F5 egentligen är, var skillnaden mellan lager 4 och lager 7 ligger och hur verkliga scenarier konfigureras.

1. Vad löser lastbalansering egentligen

Lastbalansering (Load Balance) handlar i grunden om att fördela arbetsuppgifter över flera operativa enheter – webbservrar, FTP-servrar, företagets kritiska applikationsservrar – så att de tillsammans utför arbetet.

Tekniskt sett presenterar den utåt envirtuell serveradress. När användare ansluter vidarebefordras anslutningen via tvåvägs-NAT (nätverksadressöversättning) till den mest lämpade riktiga servern. Användaren ser alltid samma ingång, medan en hel grupp maskiner bär bördan bakom kulisserna.

Den ska lösa tre problem:rädseln för krascher(enkel felkälla),rädseln för att inte orka(prestandaflaskhals),rädseln för att inte kunna skala(ingen horisontell skalbarhet).

2. Lager 4 mot lager 7: det lättförväxlade

Skillnaden i kärnan är en enda mening:ska applikationslagrets protokoll tolkas eller inte. Den skillnaden avgör direkt förmågans gränser och prestandan.

Lastbalansering på lager 4 (transportskiktet)

  • Arbetsskikt: OSI-lager 4, TCP/UDP-protokollen
  • Vidarebefordringsunderlag: käll-IP, mål-IP och portnummer – applikationsdata berörs inte
  • Kärnförmågor: portvidarebefordran, återanvändning av TCP-anslutningar, hälso Kontroll på lager 4 (TCP-handskakning), grundläggande DDoS-skydd
  • Prestanda: extremt effektiv vidarebefordran, nära hårdvarans gräns, fördröjning i mikrosekunder
  • Typiska scenarier: databaser (MySQL/Redis), TCP-tjänster (spelservrar, Netty-tjänster), länklastbalansering mellan datacenter
  • Representativa produkter: LVS, F5 (lager 4-läge), HAProxy (lager 4-läge), Nginx (stream-modulen)

Lastbalansering på lager 7 (applikationsskiktet)

  • Arbetsskikt: OSI-lager 7, applikationsprotokoll som HTTP/HTTPS, DNS, FTP
  • Vidarebefordringsunderlag: URL, cookie, HTTP-huvuden, requestparametrar, JSON-innehåll
  • Kärnförmågor: innehållsbaserad routing, SSL-avlastning, cache, hastighetsbegränsning och strömbrytare, WAF-integration, sessionspersistens, canary-utrullning
  • Prestanda: funktionsrik, men kräver tolkning av applikationsprotokoll – något högre fördröjning (millisekunder), kompenseras med klusterutskalning
  • Typiska scenarier: webbapplikationer, mikrotjänst-API:er, HTTPS-tjänster, canary-utrullning, API-gateways
  • Representativa produkter: Nginx, HAProxy (lager 7-läge), F5 (lager 7-modulen), Kong, Spring Cloud Gateway

En minnesregel: på lager 4 tittar man på ”vägskylten” (IP och port) och vidarebefordrar; på lager 7 måste man ”öppna paketet” (titta på innehållet) innan man bestämmer vart det ska skickas. Välj lager 4 för prestanda, lager 7 för kraftfulla finesser.

3. Vad som gör F5 BIG-IP så starkt

F5:s flaggskepp BIG-IP LTM heter officielltlokal trafikhanterare (Local Traffic Manager)och klarar lastbalansering i lager 4–7. Den är inte bara en vidarebefordrare – funktionslistan är lång: applikationsväxling, sessionsväxling, tillståndsövervakning, intelligent NAT, generell persistens, hantering av svarsfel, IPv6-gateway, avancerad routing, SSL-acceleration, intelligent HTTP-komprimering, TCP-optimering, innehållsbuffring, cookie-kryptering, filtrering av applikationsattacker, DoS- och SYN Flood-skydd, brandväggspaketfilter …

Vi lyfter fram de mest användbara:

1. Lastbalansering och redundans över flera länkar

Kritiska verksamheter behöver ofta flera ISP-linjer för att garantera kvalitet och eliminera enkel felkälla. Här finns två riktningar:

  • OUTBOUND-trafik(internt nät mot internet): BIG-IP LC fördelar trafiken intelligent mellan olika Internet-gränssnitt och gör källadress-NAT
  • INBOUND-trafik(internet mot internt nät): binder båda ISP:ernas offentliga adresser, besvarar DNS-frågor till båda ISP:erna och svarar intelligent utifrån servrarnas hälsa och RTT-tider

2. Serverlastbalansering

Tjänster tillhandahålls utåt via en VIP (virtuellt IP, bestående av IP-adress och TCP/UDP-port), med löpande hälso Kontroller L4–L7 mot targetservrarna. Upptäcks en felande server tas den ur lastbalanseringsgruppen. Med iRules kan dessutom TCP/UDP-paket öppnas och bearbetas regelstyrt efter innehåll – till exempel styra trafiken till olika servrar per URL.

3. Hög systemtillgänglighet

Det här är F5:s största praktpoäng. I dubblerat redundanslägeväxlas på millisekundnivå(snabbast inom 200 ms), med lovade 99,999 % tillgänglighet. Principen: när sessionerna passerar Active-enheten synkroniseras sessionsinformationen via synkroniseringskabeln till Backup-enheten – därför avbryts inte användarnas åtkomst vid växling. En watchdog-krets i enheten övervakar motpartens signalnivå via heartbeat-kabeln; faller Active underrättas Backup omedelbart som övertar delad IP och VIP.

4. Säkerhet

BIG-IP bygger på brandväggsprincipenneka som förval. Den kan riva lediga anslutningar mot DoS, spåra källrutter mot IP-förfalskning och neka SYN utan ACK mot SYN-attacker. Funktionen Dynamic Reaping städar bort effektivt lediga anslutningar under DoS-attacker, ochtakten i nedläggning av anslutningar ökar med attackvolymen– en riktigt kärv detalj. Tekniken Delay Binding ger dessutom backendservrarna fullständigt SYN Flood-skydd.

5. SSL-acceleration

Varje BIG-IP har en hårdvarukrets för SSL-acceleration, med licens för 100 TPS inbyggd – ingen extra kostnad. Vid senare utskalning räcker det att uppgradera licensen.

F5 BIG-IP lastbalanserare

4. F5 eller Nginx? Jämförelse inför valet

Detta är den fråga som oftast dyker upp i praktiken. De två är inte rivaler utan snarare komplement.

F5 BIG-IP (hårdvara)

  • Driftsättningsform: specialbyggd hårdvaruenhet (med specialkretsar)
  • Prestanda: miljontals TCP-anslutningar, fördröjning i mikrosekunder
  • Funktioner: allt-i-ett – lager 4+7, SSL-avlastning, DDoS-skydd, WAF, VPN, länklastbalansering
  • Tillförlitlighet: hårdvaruredundans (aktiv-standby), 99,999 % tillgänglighet
  • Kostnad: hög (hundratusentals till miljoner), kräver specialiserade ingenjörer för underhåll
  • Skalbarhet: beroende av hårdvaruuppgraderingar, låg flexibilitet
  • Drift: komplex, kräver förtrogenhet med det egna konfigurationsgränssnittet och CLI

Nginx (mjukvara)

  • Driftsättningsform: mjukvara, kör på generella servrar eller molninstanser
  • Prestanda: hundratusentals TCP-anslutningar, fördröjning i millisekunder, klusterutskalning möjlig
  • Funktioner: lätt och effektiv – lager 7 i kärnan, stöd för lager 4, SSL-avlastning, cache, hastighetsbegränsning, omvänd proxy
  • Tillförlitlighet: aktiv-standby måste konfigureras manuellt (Keepalived), beroende av serverhårdvarans stabilitet
  • Kostnad: gratis med öppen källkod; även Nginx Plus är förhållandevis billigt
  • Skalbarhet: stödjer klusterdrift, elastisk utskalning i molnmiljöer
  • Drift: enkel, lättlästa konfigurationsfiler, backendutvecklare kommer snabbt igång

Vägvalet vid korsningen – följ bara kartan:

  • TCP-tjänster med hög samtidighet (spel, värdepapper) + extrem tillgänglighet → F5 lager 4
  • Ingång för kärnverksamhet + säkerhetsbehov (WAF/DDoS) → F5 lager 7
  • API-gateway för mikrotjänster + molndrift → Nginx lager 7
  • Databas-/Redis-last + bästa pris/prestanda → Nginx lager 4
  • Medelstora verksamheter + snabb iteration → Nginx (lager 4/7)
  • Företagsdatacenter + flera länkar → F5 vid ingången, Nginx för intern tjänstelastbalansering

Den sista kombinationen är mycket vanlig hos de stora aktörerna – F5 vaktar grinden, Nginx sköter det inre.

5. Fallstudie: hur snårig F5-konfiguration kan vara

Många som får en F5 i handen tänker först:det här följer en helt annan tankegång än vid switchar – var ska man över huvud taget börja. Konfigurationslogiken följer ett eget system.

Scenariot: två webbservrar betjänar utåt med IP 192.168.192.10-20/24, och lastbalansering ska ske via den externa adressen 192.168.27.100 port 80.

Enkelastbalansering kräver bara tre parametrar, sammanlänkade steg för steg:

  • Node (nod): den mest grundläggande definitionen – varje server är en Node
  • Pool (resurspool): en grupp av Noder som tar emot och bearbetar trafik, till exempel ett webbserverkluster
  • Virtual Server (virtuell server): den externa ingången, knuten till en Pool

Dataflöde: klientbegäran → Virtual Server → Pool → Node.

Praktiska steg (BIG-IP:s hanteringsgränssnitt):

  • Steg ett: aktivera enheten. Aktivera F5 så snart du fått den; guiden är enkel, men kom ihågatt den måste vara uppkopplad mot nätet – gör det helst innan rackmonteringen– en lärdom av bitna erfarenheter
  • Steg två: logga in. Öppna https://administrations-IP i webbläsaren; som standard är både användarnamn och lösenord admin
  • Steg tre: skapa VLAN. Network → VLANs, skapa VLAN och lägg till gränssnitten (välj in som Untagged)
  • Steg fyra: konfigurera IP. Networks → Self IPs, definiera adress för varje VLAN
  • Steg fem: konfigurera routing. Networks → Routes, sätt standardgateway eller statiska rutter
  • Steg sex: konfigurera Pool. Local Traffic → Virtual Servers → Pools: ange namn, hälso Kontroll (t.ex. TCP), lastbalanseringsalgoritm (t.ex. observed-member, observationsmetoden), servrarnas riktiga IP och port
  • Steg sju: konfigurera Virtual Server. Local Traffic → Virtual Servers: koppla Poolen ovan och välj fördelningsmetod (oftast RoundRobin)
  • Steg åtta: konfigurera Monitor. Local Traffic → Monitors: kontrollera servrarnas hälsotillstånd och koppla till Poolen
  • Steg nio: konfigurera Redundantför aktiv-standby-redundans

6. Några viktiga parametrar för Virtual Server

F5:s kärna är Virtual Server – några parametrar man inte får förbise, annars blir det problem.

VS Type (typ), tre vanliga varianter:

  • Performance L4: ren lager 4-vidarebefordran; TMM sköter bara anslutningsfördelningen och ändrar inte TCP-parametrar, klient- och serveranslutningen är 1:1. Snabb vidarebefordran, ofta använd i företag. För att minska påverkan på applikationerna –välj detta i första hand när det går
  • Standard VS: klientens och serverns TCP-anslutningar är helt oberoende. Används när lager 7-funktioner behövs (cookie-persistens, Session ID-persistens, Header-persistens, transaktionsbaserad delning av långa anslutningar, SYN-attacksskydd). Notera en egenskap:dess port är alltid öppen utåt– även om alla backend-Noder ligger nere går VIP:ens port 80 fortfarande att telnetta, det är bara webbsidan som inte öppnas. Kom ihåg detta vid felsökning
  • Forwarding IP: används för anslutningar mellan internt och externt nät; saknar Pool Member, och vidarebefordran styrs av den lokala routingen. Som standard saknar F5 routingfunktion – för att aktivera den krävs en VS med alla nollor

Timeout måste stämma överens(en riktig fallgrop). Är en TCP-profil konfigurerad på VS tas UDP-anslutningar inte emot. Var särskilt uppmärksam på värdet för Idle Timeout i tcp –det måste samordnas med servern. Är det 150 sekunder på F5 men 300 sekunder på IIS-servern uppstår massor av fel. De två sidorna måste komma överens om tiderna.

Address/Port Translation: båda är enabled som standard. Skiljer sig VS-IP från servrarnas riktiga IP, aktivera Address Translation; motsvarar VS port 8080 den riktiga adressens port 80, aktivera Port Translation.

SNAT AutoMap: det VLAN trafiken går ut via avgör SNAT-källadressen – den blir VLAN:ets Self IP. Finns flera Self IP på samma VLAN används de omväxlande.

7. Varför du måste förstå ”sessionspersistens”

Detta är det begrepp inom lastbalansering som lättast förbises och lättast orsakar incidenter.

I system som e-handel och onlineautentisering krävs flera interaktioner för att en kund ska genomföra en transaktion. Dessa interaktioner ärnära sammanlänkade– när servern bearbetar steg två behöver den ofta känna till resultatet av steg ett. Det ställer krav på att alla dessa interaktionermåste hanteras av samma server, inte spridas ut på olika maskiner av lastbalanseraren.

Det är därför sessionspersistens (Persistence) finns. F5 realiserar det via Connectivity, med valbara lägen:

  • Källadresspersistens: bindning enligt klientens käll-IP
  • Cookie-persistens: F5 infogar automatiskt en sessionscookie – vanligast på lager 7
  • SSL Session ID-persistens: återanvändning av SSL-sessioner
  • Persistenstabell: stödjer flera timeout- och matchningsregler

Vad händer om det är felkonfigurerat? Användaren lägger varor i varukorgen, uppdaterar sidan – och varorna är borta, för att begäran hamnade på en annan server. Sådana driftincidenter är mödosamma att felsöka.

8. Några praktiska detaljer man inte kommer förbi

Till slut några fallgropar andra snubblat i, med slutsatser direkt:

  • Välj rätt nivå för hälso Kontrollen: tittar du bara på TCP-handskakningen vidarebefordras trafiken även när serverns port lever men applikationen hängt sig; kontrollera applikationsnivån med en HTTP-Monitor mot gränssnitt som /actuator/health
  • Brandväggen ska byggas som ”smörgås”: en enskild brandvägg når ofta bara 30 % av linjehastigheten i genomströmning – för att öka kapaciteten måste flera staplas. Men brandväggar kräver att data går in och ut via samma enhet, annars avvisas anslutningen – F5:s brandväggslastbalansering löser detta och realiserar persistens genom transparenta enheter
  • SSL-avlastning är den stora CPU-besparingen: låt F5 sköta HTTPS-handskakning och kryptering/dekryptering, så att backendens Javaapplikationer bara hanterar HTTP – prestandavinsten är tydlig
  • Belastningstesta innan produktion: lager 4 är snabbt, men aktiverar du sessionspersistens på en lager 4-VS inför du tillstånd – prestandaförväntningarna måste räknas om
  • Övervaka tre mått: poolstatus, den virtuella serverns genomströmning, nodernas hälsotillstånd
  • Felsökningskommandon: tmsh show ltm pool <pool-name> visar poolstatus, tmsh show ltm virtual <vs-name> visar den virtuella serverns status
Lastbalansering på lager 4 och 7

Avslutningsvis

Lastbalansering ser ut som en ”vidarebefordringsenhet”, men den står i själva verket på arkitekturens allra mest kritiska position – all trafik passerar genom dess händer. Är den välkonfigurerad märker användarna den inte; är den dåligt konfigurerad ringer telefonen mitt i natten.

I dagens molnnativa våg räcker mjukvarulösningarna LVS, Nginx och HAProxy helt för mindre scenarier, med klar kostnadsfördel. Men när det gäller kärningångar inom finans, värdepapper och storskalig e-handel går hårdvarulastbalanseringens värde i stabilitet, millisekundväxling och integrerad säkerhet ännu inte att ersätta på kort sikt.

Namnet ”F5” i sig, som gick från företag till kategori, säger sitt – när en produkt börjar användas som verb har den redan vunnit marknaden.

Lager 4 tittar på vägskylten, lager 7 öppnar paketet; prestanda – välj lager 4, kraftfulla finesser – välj lager 7.

Referenser: officiellt material om F5 BIG-IP LTM, F5-lastbalanseringsfall i ”Network Operations and Management”, tekniska jämförelser av lager 4/lager 7-lastbalansering