Lastbalancere
En lastbalancer fordeler indgående trafik over en pool af backend-instanser. Frostmoln tilbyder to typer; du vælger én ved oprettelsen — den kan ikke ændres på stedet (skift ved at slette og oprette på ny).
Valg af type
l7 (standard) | l4 | |
|---|---|---|
| Lag | L4 og L7 (HTTP/HTTPS) | Kun L4 (TCP/UDP/SCTP) |
| TLS-terminering | Ja (via platformens nøglehåndtering) | Nej |
| PROXY-protokol / headerindsættelse | Ja | Nej |
| Kilde-IP til backends | X-Forwarded-For (L7) eller PROXY-protokol (L4) | Bevares nativt (L4) |
| Overhead | Kører en lastbalancer-instans | Ingen instans (indbygget i netværksstrukturen) |
| Bedst til | Webapps, TLS, HTTP-routing | Høj gennemstrømning på L4, kilde-IP-følsomme arbejdslaster |
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 # l4fm lb er et alias for fm load-balancer. I Terraform hedder ressourcen frostmoln_load_balancer, og attributten hedder type (type og flavor er uforanderlige / force-new).
Intern kontra offentlig
En lastbalancer er intern som standard (en privat VIP, der kan nås inde i VPC'en). Til en offentlig lastbalancer skal du først allokere en offentlig IP-adresse og sende den med:
fm load-balancer create --name web-lb --vpc my-vpc --subnet my-subnet \
--scheme public --public-ip <public-ip-id>Lyttere — og påkrævede tilladte CIDR'er
En lytter modtager trafik på en protokol/port (f.eks. HTTPS:443). Lyttere afviser som standard: du skal angive de klient-CIDR'er, der må nå dem — det er påkrævet, ikke valgfrit. Brug 0.0.0.0/0 for at modtage trafik alle steder fra.
fm load-balancer listener create --lb web-lb --name https \
--protocol https --port 443 --allowed-cidr 0.0.0.0/0Pools, medlemmer og sundhedsovervågere
- En pool er sættet af backend-medlemmer med en lastbalancerings-algoritme:
round_robin(standard),least_connectionsellersource_ip. (Pools på enl4-lastbalancer skal brugesource_ip_port.) - Medlemmer er backend-instanser (adresse + port, valgfri vægt, valgfri backup). Medlemmer uden for lastbalancerens subnet kræver kryds-subnet-flaget.
- En sundhedsovervåger sonderer medlemmerne (
tcp/http/https, med forsinkelse, timeout, gentagne forsøg og for HTTP en sti + forventede koder) og fjerner usunde medlemmer fra rotationen.
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 /healthzTLS, PROXY-protokol og kilde-IP (l7)
- TLS-terminering — opret en
terminated_https-lytter, der refererer til et TLS-certifikat; lastbalanceren terminerer TLS og videresender til poolen. (Kunl7.) - PROXY-protokol (v1/v2) — bevarer den rigtige klient-IP hen til L4-backends; dine medlemmer skal være konfigureret til at acceptere PROXY-headeren. (Kun
l7.) - Kilde-IP: på en
l4-lastbalancer bevares klient-IP'en altid. På enl7afhænger det af lytteren: en L7-lytter terminerer forbindelsen, så læs klient-IP'en fraX-Forwarded-For; en L4-lytter bevarer den, eller brug PROXY-protokol til at sende den eksplicit videre.
Status og statistik
En lastbalancer er active, når den er sund, eller degraded, når den er klargjort og kan redigeres, men dens backend-medlemmer aktuelt er usunde (ikke en fejl — udbedr medlemmerne eller sundhedstjekket). En l7-lastbalancer rapporterer trafiktællere (forbindelser, bytes, fejl) plus sundhed pr. medlem; en l4 rapporterer kun medlemmernes sundhed (ingen tællere).
Tilknyt en offentlig IP-adresse for at kunne nås offentligt, og tillad lytterportene i den relevante sikkerhedsgruppe.