Azure Load Balancer
Sprer requests utover flere VMer eller andre tjenester.
Default måte å mappe trafikken til tilgjengelige servere er å bruke en five-tuple hash. Denne hashen genereres av
- Source IP
- Source Port
- Destination IP
- Destination Port
- Protocol
Load Balancere er ikke fysiske instanser. Det er objekter som utrykker hvordan Azure konfiurerer sin infrastruktur.
Det finnes 2 availability typer
- Availability sets
- Beskytter mot hardware feil i datacenter
- Availability Zones
- Beskytter mot hele datacenter feil
Availability Sets
En logisk gruppering. Isolerer ressurser fra hverandre når de blir deployet, og dermed skal det takle at noe hardware plutselig feiler.
Availability Zones
Virtuelle maskiner er plassert på forskjellige fysiske lokasjoner i samme region. Disse lokasjonene bruker egen strøm, cooling og nettverk.
Bare visse VM sizes og noen Azure regioner støtter dette.
Load balancer produkter
Det finnes 2 produkter å velge mellom
- Basic load balancers
- Port forwarding
- Automatic reconfiguration
- Health probes
- Utgående connection gjennom "Source network address translation (SNAT)"
- Diagnostistikk gjennom Azure Log Analytics for public-facing load balancers.
- Standard loadbalancers
- All of the above
- HTTS health probes
- Availability zones
- Diagnostistikk gjennom Azure monitor, for multidimensjonale metrics
- High availability ports
- Utgående regler
- En garantert SLA (99.99% for to eller flere virtuelle maskiner)
Internal vs External
External ruter trafikk som kommer fra internett
Internal ruter trafikk fra Azure ressurser til andre ressurser.
Distribution modes
Default modus er at all nettverk trafikk blir delt likt mellom de virtuelle maskinene.
5 tuple mode
Default. Ettersom Source Port er med i hashen kan vil det skje at clienter blir rutet til forskjellige servere ettersom hver session har en ny source port.
2 tuple mode
Om man er avhengig av at klienter alltid snakker med samme server så kan man bruke 2 tuple mode som bruker
- Source IP
- Destination IP
Denne modusen heter "sourceIp" om man bruker Powershell APIer, og "Client Ip" om man bruker Azure Portalen
Health Probe
En ressur man lager der man spesifiserer hvilken protokoll og port en server skal svare på, slik at load balanceren skal kunne si noe om serveren er oppe å går eller ike.
For å legge til ting i loadbalanceren bruker man backendPool navn. Når man lager en LB så spesifieserer man et backend pool navn. Dette kan man så senere bruke for å f.eks. konfigurere network interfacer til VMer der en spesifiserer hvilket backendpool denne hører til.