Skip to content

Lastbalanserare ​

En lastbalanserare distribuerar inkommande trafik över en pool av backend-instanser. Frostmoln erbjuder två typer; du väljer en vid skapande — den kan inte ändras på plats (för att byta, ta bort och återskapa).

Välja en typ ​

l7 (standard)l4
LagerL4 och L7 (HTTP/HTTPS)Endast L4 (TCP/UDP/SCTP)
TLS-termineringJa (via plattformens nyckelhanterare)Nej
PROXY-protokoll / headerinjektionJaNej
Käll-IP till backendsX-Forwarded-For (L7) eller PROXY-protokoll (L4)Bevaras nativt (L4)
OverheadKör en lastbalanserarinstansIngen instans (inbyggd i nätverksväven)
Bäst förWebbappar, TLS, HTTP-routningL4 med hög genomströmning, käll-IP-känsliga arbetslaster
bash
fm load-balancer create --name web-lb --vpc my-vpc --subnet my-subnet              # l7 (standard)
fm load-balancer create --name l4-lb  --vpc my-vpc --subnet my-subnet --type l4    # l4

fm lb är ett alias för fm load-balancer. I Terraform är resursen frostmoln_load_balancer och attributet heter type (typ och storlek är oföränderliga / force-new).

Intern kontra publik ​

En lastbalanserare är intern som standard (en privat VIP nåbar inom VPC:n). För en publik allokerar du först en publik IP och skickar med den:

bash
fm load-balancer create --name web-lb --vpc my-vpc --subnet my-subnet \
  --scheme public --public-ip <public-ip-id>

Lyssnare — och obligatoriska tillåtna CIDR:er ​

En lyssnare tar emot trafik på ett protokoll/port (t.ex. HTTPS:443). Lyssnare nekar som standard: du måste ange de klient-CIDR:er som tillåts nå dem — detta är obligatoriskt, inte valfritt. Använd 0.0.0.0/0 för att ta emot från var som helst.

bash
fm load-balancer listener create --lb web-lb --name https \
  --protocol https --port 443 --allowed-cidr 0.0.0.0/0

Pooler, medlemmar och hälsoövervakare ​

  • En pool är uppsättningen backend-medlemmar, med en lastbalanseringsalgoritm: round_robin (standard), least_connections eller source_ip. (Pooler på en l4-lastbalanserare måste använda source_ip_port.)
  • Medlemmar är backend-instanser (adress + port, valfri vikt, valfri backup). Medlemmar utanför lastbalanserarens subnät behöver flaggan för korssubnät.
  • En hälsoövervakare sonderar medlemmar (tcp / http / https, med fördröjning, timeout, omförsök och för HTTP en sökväg + förväntade koder) och tar bort ohälsosamma från rotationen.
bash
fm load-balancer pool   create --lb web-lb --name web-pool --protocol http --algorithm round_robin
fm load-balancer member create --pool web-pool --address 10.0.1.10 --port 8080
fm load-balancer health-monitor create --pool web-pool --type http --url-path /healthz

TLS, PROXY-protokoll och käll-IP (l7) ​

  • TLS-terminering — skapa en terminated_https-lyssnare som refererar till ett TLS-certifikat; lastbalanseraren terminerar TLS och vidarebefordrar till poolen. (Endast l7.)
  • PROXY-protokoll (v1/v2) — bevarar den verkliga klient-IP:n till L4-backends; dina medlemmar måste konfigureras att acceptera PROXY-headern. (Endast l7.)
  • Käll-IP: på en l4-lastbalanserare bevaras klient-IP:n alltid. På en l7 beror det på lyssnaren: en L7-lyssnare terminerar anslutningen, så läs klient-IP:n från X-Forwarded-For; en L4-lyssnare bevarar den, eller använd PROXY-protokoll för att skicka den explicit.

Status och statistik ​

En lastbalanserare är active när den är frisk, eller degraded när den är tillhandahållen och redigerbar men dess backend-medlemmar för närvarande är ohälsosamma (inte ett fel — åtgärda medlemmarna eller hälsokontrollen). En l7-lastbalanserare rapporterar trafikräknare (anslutningar, byte, fel) plus hälsa per medlem; en l4 rapporterar endast medlemshälsa (inga räknare).

Koppla en publik IP för publik räckvidd och tillåt lyssnarportarna i den relevanta säkerhetsgruppen.

Relaterat ​