Hvordan du konfigurerer applikasjonsbelastningsbalanse for intelligent ruting

Hvordan du konfigurerer applikasjonsbelastningsbalanse for intelligent ruting
Application Load Balancer (ALB) er en type elastisk belastningsbalanse levert av AWS. Den fungerer på det syvende laget av OSI -lagsmodellen og kan konfigureres for intelligent ruting. Ved hjelp av applikasjonsbalanser kan trafikk føres til forskjellige målgrupper avhengig av følgende parametere:

● HTTP -metoder
● Spørringsparametere
● Kilde IP
● HTTP -overskrift
● Sti
● DNS -basert ruting (vertsoverskrifter)

Forespørselen kan videresendes til et spesifikt mål ved å validere en av de ovennevnte parametrene. I denne artikkelen vil vi diskutere hvordan vi kan rute trafikken basert på ovennevnte parametere ved å bruke applikasjonsbelastningsbalanse på AWS.

Sette opp miljøet

For å videreføre intelligent ruting, må du sette opp det grunnleggende miljøet, inkludert forekomster, målgruppe og applikasjonsbelastningsbalanse.

Opprette EC2 -forekomster

For å konfigurere EC2 -forekomsten, følg bare følgende trinn:

● Velg Amazon Machine Image (AMI)
● Velg forekomsttype
● Oppgi konfigurasjonsdetaljer (VPC, Subnet, AZ, Metadata, etc.)
● Fest lagring (EBS, Instance Store)
● Administrer sikkerhetsgruppe
● Gjennomgå og lansere

Forekomstene er nå konfigurert. Neste er å opprette målgruppen.

Opprette målgruppe

Vi trenger minst to målgrupper for å kunne demonstrere rutingsmetodene for applikasjonsbelastningsbalansen, så vi kommer til å opprette to målgrupper ved å bruke følgende trinn:

● Velg måltype
● Velg nettverksprotokoll og port
● Velg VPC
● Konfigurer helsekontroller
● Registrer mål

Først må vi velge måltypen - det kan enten være en forekomst, IP -adresse, lambda -funksjon eller en annen applikasjonsbelastningsbalanse.

Velg nettverksprotokoll. I dette tilfellet vil vi velge HTTP på standardport 80 siden dette er protokollen som støttes av en applikasjonsbelastningsbalanse. Du må også velge VPC som forekomstene dine kjører.

For å konfigurere helsekontrollen, velg bare protokollen du bruker for applikasjonen din. Helsekontroller hjelper til med å dirigere trafikken bare til sunne mål.

Registrer målene (som er EC2 -forekomster i dette tilfellet).

Etter å ha registrert målene, klikker du på Create Target Group, og den vil bli opprettet.

Opprette applikasjonsbalanser (ALB)

Nå skal vi opprette applikasjonsbelastningsbalansen. Prosedyren er definert nedenfor.

● Velg nettverksordning (offentlig / privat)
● Velg IP -adressetype (IPv4 / IPv4 & IPv6)
● Velg VPC
● Velg tilgjengelighetssoner (AZ)
● Konfigurer sikkerhetsgruppe
● Legg til lyttere

Du kan ganske enkelt besøke følgende artikkel for å opprette og konfigurere applikasjonsbelastningsbalansen på AWS.

https: // linuxhint.com/create-and-configure-application-lad-balancer-on-aws/

Administrere regler for intelligent ruting

Vi har allerede laget EC2 -forekomster, målgrupper og en applikasjonsbelastningsbalanse. Nå vil vi diskutere hvordan du kan lage regler for en applikasjonsbelastning for å rute trafikk deretter. Intelligent ruting er en evne som gjør det mulig.

For å sette opp reglene for intelligent ruting, åpner du bare lytteren på ALB og klikker på Vis/Rediger reglene for lytteren din.

I denne konsollen kan du opprette og redigere rutingsbetingelser og regler.

La oss komme i gang og se i detaljer alle metodene vi har listet opp fra start.

Vertshodet

Her må du spesifisere målet basert på DNS ​​for den mottatte forespørselen. Du kan angi flere domener som peker på en enkelt belastningsbalanse; Hver vil ha et spesifikt mål. Denne ordningen er også kjent som DNS -basert ruting.

Klikk på kategorien Sett inn regel og velg Host Header fra rullegardinmenyen.

Spesifiser vertshodet du vil ha.

Velg deretter handlingen du vil ta hvis forespørselen mottas fra vertshodet du spesifiserte i forrige trinn. Du kan enten videresende forespørselen, omdirigere forespørselen eller returnere et fast svar på forespørselen. For denne demoen vil vi videresende forespørselen til en målgruppe.

Velg målgruppen. Nå all trafikk fra DNS www.eksempel1.com vil bli videresendt til målgruppen som er navngitt Demo-TG-1.

Tilsvarende kan du legge til flere regler som spesifiserer forskjellige mål for hver vertshode.

Banebasert ruting

I banebasert ruting definerer vi hele DNS -banen i tilstanden til lytterregelen. For eksempel, hvis du har en bloggseksjon og bildeseksjon på nettstedet ditt, kan du enkelt rute trafikk for hver seksjon til et annet mål.

Opprett en ny regel og velg PATH -alternativet.

Spesifiser destinasjonens fulle vei.

Legg til handlingen for å videresende forespørslene til ønsket målgruppe.

Den første regelen betyr at trafikken fra /api/v1 vil bli videresendt til Demo-TG-1. Den andre regelen betyr at trafikken fra /api/v2 vil bli dirigert til Demo-TG-2.

Http header

Når det er server- og klientkommunikasjon gjennom HTTP -forespørslene, blir det ført noen data mellom serveren og klienten som bruker HTTP -overskriftene. Disse overskriftene er av forskjellige typer som forespørselsoverskrifter, svaroverskrifter, generelle overskrifter og enhetsoverskrifter. Disse er i form av nøkkel- og verdipar. Nettverkstrafikken på applikasjonen din kan også dirigeres til forskjellige mål, avhengig av disse HTTP -overskriftene som er definert i forespørselen.

Definer HTTP -overskriften basert på hvor du vil rute nettverksforespørselen. For demonstrasjon har vi tatt overskriften som beliggenhet = L1.

Etter å ha definert HTTP -overskriften, legg til målet for regelen og bare opprette den.

På denne måten kan vi spesifisere at forespørselen med stedsoverskriften som er satt til L1, vil treffe måldemo-TG-1 og L2 vil treffe måldemo-TG-2.

HTTP Forespørsel

Det er flere forespørselsmetoder for HTTP -forespørsler som Get, Post, Put, Delete, etc. Her skal vi se hvordan vi kan rute forespørslene våre basert på disse forespørslene.

For å gjøre dette, oppretter du en ny regel for HTTP -forespørselsmetoden.

Gi typen HTTP -forespørselsmetode. Vi legger inn GET -forespørselen for denne demonstrasjonen.

Legg til målet som du vil videresende alle GET -forespørslene for webapplikasjonen din og klikk på Lagre, og regelen din vil bli aktiv. På denne måten kan forskjellige forespørsler føres til forskjellige målgrupper.

Spørringsparametere

Denne tilleggsinformasjonen blir noen ganger lagt til med HTTP -forespørslene. Det er definert i form av nøkkelverdipar. Nettverkstrafikken i en belastningsbalanse kan også føres til en bestemt destinasjon avhengig av spørringsstrengparametrene gitt i brukerens forespørsel.

For å komme i gang, velg spørringsstrengen som en betingelse for din regel.

Nå, definer et nøkkelverdipar som spørringsparameteren.

Velg målet og fullfør regelkonfigurasjonen.

Du kan se nedenfor de to reglene. Forespørslene med spørringsparametertype = T1 blir videresendt til Demo-TG-1 mens og forespørslene med spørringsparametertype = T2 nådde måldemo-TG-2.

Kilde IP

Du kan også angi en lytterregel for å videresende forespørselen til en spesifikk målgruppe, avhengig av IP -adressen til brukeren som ber om lastbalansen.

For å sette opp kilden IP, bare oppgi CIDR og velg målet du ønsker.

Hvert IP- eller IP -adresseområde kan spesifikt føres til et annet mål som vist nedenfor.

Konklusjon

Intelligent ruting er veldig viktig når det gjelder å designe en avansert og høyt nivå webapplikasjon. Som det som demonstreres i denne artikkelen, kan vi videresende forespørslene til mange mål ved å bruke en enkelt applikasjonsbalansering basert på forespørselsparametrene vi får fra brukerne. Sjekk de andre artiklene på Linux Hint for flere tips og opplæringsprogrammer.