Indhold
- 1 Introduktion
- 2 AWS og ZEVENET infrastruktur
- 3 Implementering af to ZEVENET-forekomster på AWS Marketplace
- 4 Konfiguration af netværket til ZEVENET EC2-forekomster
- 5 Aktivering af ZEVENET EC2-forekomster med tidsmæssige licenser
- 6 Konfiguration af den virtuelle IP til belastningsbalancering
- 7 Konfiguration af ZEVENET Cluster-tjenesten i Amazon Web Services
- 8 Konfiguration af en simpel L4 Load-balance til webservices
- 9 Tilføjelse af nye grænseflader til Load Balancer
Introduktion
Den følgende artikel beskriver, hvordan man indstiller avancerede belastningsbalanceringstjenester med ZEVENET Load Balancer til høj tilgængelighed i Amazon Web Services EC2-infrastruktur. Vi beskriver proceduren til konfiguration af a ZEVENET klynge og konfigurere en TCP-belastningsbalanceprofil til belastningsbalance-HTTP-tjenester med 3 web-backend-servere.
AWS og ZEVENET infrastruktur
Følgende diagram beskriver den arkitektur, vi ønsker at implementere webbelastningsbalancering med ZEVENET Application Delivery Controller i AWS.
Det kræves at implementere to ZEVENET-applikationsleveringskontrollere, denne skabelon er tilgængelig på Amazon Web Services markedsplads, og hver ZEVENET-applikationsleveringscontroller er konfigureret i den samme VPC end web-backend-servere, som det er vist i diagrammet ovenfor med undernettet 17.32.16.0./20.
Hver ZEVENET ADC-instans er konfigureret med en grænseflade eth0, og hver instans tildeles en Elastisk IP, tildeles også en yderligere elastisk IP til en yderligere IP gennem eth0 i ZLB1-prod eksempel, der vil blive brugt til belastningsbalanceringsformål, som beskrevet nedenfor:
ZLB1-prod er tildelt 172.31.20.89 i eth0, fås direkte adgang til denne instans af en Elastisk IP 34.225.30.206
ZLB2-prod er tildelt 172.31.26.237 i eth0, fås direkte adgang til denne instans af en Elastisk IP 54.161.240.226
En yderligere IP er tildelt ZLB1-prod og konfigureret i belastningsbalanceren med navn eth0: VIP1 og IP 172.31.26.47, denne IP bruges til at konfigurere her en Load Balancing Service og være en del af cluster service, så denne IP fungerer kun i et af ZEVENET-tilfælde ad gangen, som administrerer Acrive Surfaces rolle i klyngen. Denne interne IP er tildelt en Elastic IP, som klienter har adgang til for at oprette forbindelse til den offentliggjorte rigtige webtjeneste.
Endelig backend 01, backend 02 backend 03 er EC2-forekomsterne med Linux-baserede webservere, er disse forekomster en del af den belastningsbalancerede service, hvor klienten forbinder, når det anmodes om det http://54.144.190.17/.
Implementering af to ZEVENET-forekomster på AWS Marketplace
Lad os implementere to ZEVENET Load Balancers og konfigurere dem som beskrevet tidligere.
Gå til afsnittet EC2-tilfælde, og tryk ind Start forekomst.
1. Søg efter den påkrævede ZEVENET Load Balancer Enterprise Edition AMI. Dette AMI er baseret på en BYOL-licens model. Evalueringsfasen er gratis, og hjælp i løbet af en måned er inkluderet, efter dette tidsrum kræves der en endelig licens for at arbejde.
2. Vælg en Forekomst Type. Vælg her den nødvendige forekomst baseret på de ressourcer, du vil indlæse balance. En enkelt t2. lille eksempel er godt at begynde at arbejde med L4 profiler, men hvis du vil bruge HTTP-profiler så vil vi anbefale mindst a t2.medium instans. Men, a t2.micro forekomst er god nok til testformål.
3. Konfigurer Forekomstdetaljer. Vælg her den VPC, der kører de nye ZEVENET-instanser, i dette konfigurationseksempel vil vi introducere ZEVENET EC2-instanserne i samme VPC som de rigtige web-backends-servere, der allerede er konfigureret.
4. Tilføj Opbevaring. Som standard kræver ZEVENET EC2-forekomst mindst 12 GB lagerplads, hvis du vil aktivere logfiler som standard, vil vi anbefale at øge denne størrelse mindst til 20 GB. ZEVENET kræver ikke adgang til Disk, bare for at gemme logfiler, så Volumenstype til generelle formål er et godt valg.
5. Tilføj tags. Konfigurer her nogle beskrivelseskoder om ønsket.
6. Konfigurer Sikkerhedsgruppe. ZEVENET bruger som standard TCP-port 444 til HTTPS web GUI-administrationsformål, 9999 til Sessions-synkroniseringsdæmon og TCP-port 22 i SSH til kommandolinjestyring og klyngeformål. Desuden hver Virtual Port der bruges i virtuelle belastningsbalancer-tjenester skal være inkluderet i din sikkerhedsgruppe. Vi har konfigureret en sikkerhedsgruppe, der bruges til disse ZEVENET EC2-tilfælde i en mindre restriktiv tilstand som følger:
TYPE = All traffic Protocol = ALL Port Range = All Source = 0.0.0.0/0 Description = Allow all from all to all
Denne sikkerhedsgruppe er oprettet til testformål, du kan vælge at blokere alle porte og kun tillade brugen til belastningsbalancering og styring.
Når konfigurationsassistenten vender tilbage til EC2-instanslisten, begynder den nye enhed at blive implementeret, og Initiering tilstand vises. Derefter konfigureres nu et beskrivende navn i feltet Navn, i vores tilfælde er vores indsatte lastbalancere i EC2 navngivet ZLB1-prod ZLB2-prod.
Konfiguration af netværket til ZEVENET EC2-forekomster
Når ZEVENET-virtuelle apparater er installeret, og Forekomstater viser Løb tilstand kan vi fortsætte med at konfigurere netværket.
Klik på højre knap over ZLB1-prod apparatet og vælg Netværk> Administrer IP-adresserI Administrer IP-adresser pop op-vindue tryk ind Tildel ny IP og tryk på knappen Ja, opdatering, tildeler systemet en ny IP til eth0 i den samme VPC. Husk denne nye IP, i vores eksempel vil denne nye IP være 172.31.26.47. Systemet har tildelt en ny IP, som vil blive brugt til belastningsbalancering i den fremtidige klyngetjeneste.
Gå til sektion Elastiske IP'er og tildele hver ZEVENET-instans en ny Elastisk IP. Disse vil blive brugt til styringsformål, ikke til belastningsbalancering.
I det samme Elastisk IP tildele en ny IP til ZLB1-prod, men i dette tilfælde skal du vælge Privat IP adresse 172.31.26.47. Efter denne konfiguration ZLB1-prod vil være tilgængelig via web og ssh med IP 34.225.30.206, men ZLB2-prod er tilgængelig gennem de samme tjenester med IP 54.161.240.226 Elastisk IP 54.144.190.17 tildelt IP 172.31.26.47.
Aktivering af ZEVENET EC2-forekomster med tidsmæssige licenser
Når de elastiske IP'er er konfigureret, vil de virtuelle indlæsningsbalancere være tilgængelige som følger:
ZLB1-prod vil være tilgængelig via https://34.225.30.206:444 brugerrot og adgangskode til forekomst-id.
ZLB1-prod vil være tilgængelig gennem ssh i IP 34.225.30.226 med brugeradministrator og privat certifikatfil, dette er konfigureret på EC2-implementeringstidspunktet.
ZLB2-prod vil være tilgængelig via https://54.161.240.226:444 brugerrot og adgangskode til forekomst-id.
ZLB2-prod vil være tilgængelig gennem ssh i IP 54.161.240.226 med brugeradministrator og privat certifikatfil, dette er konfigureret på EC2-implementeringstidspunktet.
Hvis du overvejer at ændre værtsnavnet før du fortsætter, skal du i så fald genstarte EC2-forekomsten for at anvende ændringer.
Når adgangen til webgui'en er udført med succes, vil du se to vigtige værdier, værtsnavnet og certifikatnøglen, begge oplysninger er unikke pr. Indlæsningsbalancer og er relateret til aktiveringslicensen. Brug disse oplysninger i følgende URL som beskrevet: https://www.zevenet.com/activate-enterprise-edition-cloud-evaluation/
Når formularen er udfyldt, sender systemet automatisk licensen til den angivne e-mail. Upload den modtagne PEM-aktiveringslicens via web-GUI i hver belastningsbalancer, når dette er gjort, er web-GUI låst op, og alle funktioner er fuldstændigt aktiverede og operationelle.
Udfør den samme aktiveringsprocedure i begge noder ZLB1-prod og ZLB2-prod.
Konfiguration af den virtuelle IP til belastningsbalancering
I det foregående punkt tildelte vi allerede en yderligere IP til eth0 172.31.26.47 i forekomsten ZLB1-pro, og denne IP er blevet tildelt en Elastisk IP 54.144.190.17, nu venter den på at udføre denne konfiguration i ZBL1-pro belastningsbalanceren.
Gå til ZLB1-pro belastningsbalanceren gennem webgrænsefladen ved hjælp af dens Elastic IP https://34.225.30.206:444, når du er logget ind, gå til navigationsmenuen Netværk> Virtuelle grænseflader> Opret virtuelt interface, og udfør følgende konfiguration:
Parent Interface = eth0 172.31.26.47
* Da EC2-forekomsterne ikke ved noget om Elastiske IP'er, skal vi her konfigurere den fysiske IP for EC2-instansen, der er knyttet til den offentlige Elastiske IP, der bruges til belastningsbalanceformål 54.144.190.17
Virtual Interface name = vip1
IP Address = 172.31.26.47
Presse Opret for at anvende konfigurationen.
Nu en ny IP 172.31.26.47 med navn eth0: VIP1 er konfigureret i ZLB1-pro EC2 ZEVENET Load Balancer og kan pinges fra alle EC2-forekomster i denne VPC.
Konfiguration af ZEVENET Cluster-tjenesten i Amazon Web Services
ZEVENET Load Balancer-klyngen fungerer i tilstandfuld aktiv-passiv tilstand betyder det, at klyngeressourcerne er konfigureret i begge noder, men kun tilgængelige i Acrive Surfaces node. Når en sådan node fejler, og denne rolle startes i det andet medlem, skal klyngressourcerne tilgås igen. Da de virtuelle IP'er også er klyngresourcer, skal Amazon Web Service annonceres på en eller anden måde, som den virtuelle IP er konfigureret til belastningsbalancering 172.31.26.47 arbejder nu via ZLB2-prod.
Til dette bruger ZEVENET Cluster-tjenesten AWS-klienten, der skal konfigureres med tilladelser i EC2-modulet til styring af grænseflader, så før vi starter ZEVENET Cluster-tjenesten, skal vi forberede den. Så lad os konfigurere en AWS Nøgle på din konto med tilladelser til at administrere IP'er i EC2 til at blive brugt i AWS kommandolinjegrænseflade.
Gå til Amazon-konsol https://console.aws.amazon.com/iam/ , vælg derefter i navigationsmenuen Bruger. Klik på knappen Tilføj bruger.
Configure a descriptive User name = aws-for-zlb
In Vælg AWS-adgangstype vælge Programatisk adgang og tryk på knappen Næste: Tilladelser. Nu i Angiv tilladelser sektionspress ind Opret gruppe og udfyld derefter feltet i det nye vindue Gruppe navn med et beskrivende navn, f.eks. AmazonEC2og til sidst i marken Filtrer politikker søg og vælg den navngivne politik AmazonEC2Fuld adgang som giver tilladelse til at ændre de tildelte IP'er mellem EC2-tilfælde blandt andre.
Tryk på Næste: tags Næste: Anmeldelse. Tryk til sidst ind Opret bruger, og det sidste vindue vil vise dig Adgangsnøgle-ID og Hemmelig adgangsnøgle for denne bruger, skal du gemme dem til fremtidig brug.
Nu er vi klar til at konfigurere ZEVENET Cluster-tjenesten, så gå til webpanelet i ZLB1-pro gennem den tildelte offentlige IP https://34.225.30.206:444, sektion System> Klynge og udfyld formularen efter eksemplet:
AWS-legitimationsoplysninger: Adgangsnøgle og hemmelig nøgle er de allerede genererede værdier i tidligere linjer. Regionen, vælg her den region, hvor din ZEVENET Application Delivery-controller er installeret.
Konfigurer klynge:
Lokal IP: vælg IP og NIC for eth0.
Fjern IP: indtast her IP for eth0 i knudepunktet ZLB2-pro.
Adgangskode til ekstern knude bekræft password: indtast her rodadgangskoden til ssh i den anden knude, som standard forekomst-ID for ZLB2-pro.
Klik på Generer knappen og vent et par sekunder imens, vil noden, hvor du kører konfigurationen, tage Acrive Surfaces rolle (ZLB1-pro) og den anden (ZLB2-pro) vil tage PASSIV rolle.
På dette tidspunkt er ZEVENET Cluster blevet konfigureret i AWS, og det er klar til at arbejde, lad os konfigurere vores første clustered load-balanced service.
Konfiguration af en simpel L4 Load-balance til webservices
Gå til LSLB> Gårde> Opret gård med følgende parametre.
Tag højde for, at den anvendte virtuelle IP 172.31.26.47 er den virtuelle IP konfigureret tidligere og en ressource i klyngen, som altid kan nås fra Acrive Surfaces node. Trykke Opret og fortsæt.
I det nye vindue konfigureres nu Globalt afsnit som vist nedenfor:
Og til sidst skal du konfigurere sektionen Tjenester som beskrevet:
Brug IP-persistens med en timeout på 60 sekunder bare i tilfælde af at du har brug for at garantere, at den samme klient-IP vil være forbundet til den samme backend i en bestemt periode. Konfigurer avanceret sundhedskontrol med FarmGuardian. Brug check_tcp som et simpelt sundhedstjek for at verificere, at TCP-backend-porten 80 er åbnet i hver backend. Og tilføj derefter backend-servernes interne IP'er og porte, hvor de rigtige webtjenester kører.
Test nu forbindelsen til Elastisk IP http://54.144.190.17/ assigned to the internal IP 172.31.26.47, the connection will pass through the load balancer using the eth0: VIP1 og videresendt til en af de tilgængelige backends.
Nu en styrke til at ændre Acrive Surfaces rolle i klyngen, for eksempel genstart noden med denne rolle, og efter et par sekunder vil den anden tage den virtuelle service og oprette forbindelse igen til den offentlige IP. De nuværende og nye klientforbindelser etableres mod den samme backend, men denne gang gennem den nye Acrive Surfaces node uden klientforstyrrelser.
Tilføjelse af nye grænseflader til Load Balancer
Til balanceringsformål eller til hvad du nu har brug for, er det muligt at konfigurere flere grænseflader til load balanceren. For at gøre dette er det så enkelt som at følge trinene skitseret af AWS for at tilføje nye grænseflader til en EC2-instans. Tag et kig på artiklen, som AWS leverer, for bedre at forstå den bedste praksis for dette. https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.html. Når du tilføjer nye grænseflader til EC2-instansen, vil ZEVENET registrere disse nye grænseflader automatisk, så du nu kan bruge den til at konfigurere den, som du ønsker.
Nyd avanceret belastningsbalancering og klynge i AWS med ZEVENET!