- Introduktion
- AWS og Relianoid-infrastruktur
- Implementering af to Relianoid-instanser i AWS Marketplace
- Konfiguration af netværket for Relianoid EC2-instanserne
- Aktivering af Relianoid EC2-instanser med midlertidige licenser
- Konfiguration af den virtuelle IP-adresse til belastningsbalancering
- Konfiguration af Relianoid Cluster-tjenesten i Amazon Web Services
- Konfiguration af en simpel L4-belastningsbalancering til webtjenester
- Tilføjelse af nye grænseflader til Load Balancer
Introduktion #
Følgende artikel beskriver, hvordan man konfigurerer avancerede load balancing-tjenester med Relianoid Load Balancer for at opnå høj tilgængelighed i Amazon Web Services EC2-infrastrukturVi vil beskrive proceduren for at konfigurere en Relianoid-klynge og konfigurer en TCP-belastningsbalanceprofil til HTTP-belastningsbalancetjenester med 3 web-backend-servere.
AWS og Relianoid-infrastruktur #
Følgende diagram beskriver den arkitektur, vi ønsker at implementere web load balancing med Relianoid Application Delivery Controller i AWS.
Det er nødvendigt at implementere to Relianoid Application Delivery Controllers. Denne skabelon er tilgængelig på Amazon Web Services Marketplace, og hver Relianoid Application Delivery Controller er konfigureret i den samme VPC som web-backend-serverne, som vist i diagrammet ovenfor med subnettet. 17.32.16.0./20.
Hver Relianoid ADC-instans er konfigureret med én grænseflade eth0, og hver instans er tildelt én Elastisk IP, også en ekstra elastisk IP tildeles en ekstra IP via eth0 i ZLB1-produkt instans, som vil blive brugt til belastningsbalancering, som beskrevet nedenfor:
ZLB1-produkt er tildelt 172.31.20.89 i eth0 vil denne instans blive tilgået direkte af en Elastisk IP 34.225.30.206
ZLB2-produkt er tildelt 172.31.26.237 i eth0 vil denne instans blive tilgået direkte af en Elastisk IP 54.161.240.226
En ekstra IP-adresse er tildelt ZLB1-produkt og konfigureret i load balancer med navn eth0:vip1 og IP 172.31.26.47, denne IP bruges til at konfigurere en Load Balancing Service herovre og være en del af klyngeservice, så denne IP vil kun fungere i én af Relianoid-instanserne ad gangen, hvilket administrerer Acrive Surfaces rolle i klyngen. Denne interne IP-adresse er tildelt én elastisk IP-adresse, som klienter bruger for at oprette forbindelse til den publicerede, rigtige webtjeneste.
Endelig backend01, backend02 og backend03 er EC2-instanserne med Linux-baserede webservere, og disse instanser er en del af den belastningsafbalancerede tjeneste, hvor klienten opretter forbindelse, når den anmodes om det. http://54.144.190.17/.
Implementering af to Relianoid-instanser i AWS Marketplace #
Lad os implementere to Relianoid Load Balancers og konfigurere dem som tidligere beskrevet.
Gå til afsnittet EC2-instanser, og tryk på Start forekomst.
1. Søg efter den nødvendige Relianoid Load Balancer Enterprise Edition AMI. Dette AMI er baseret på en BYOL-licens model. Evalueringsfasen er gratis, og assistance i en måned er inkluderet. Efter denne periode kræves en endelig licens for at arbejde.
2. Vælg en Forekomst TypeVælg her den nødvendige instans baseret på de ressourcer, du vil udligne med. En enkelt t2.lille eksemplet er godt at starte med at arbejde med L4-profiler, men hvis du vil bruge HTTP-profiler så vil vi anbefale mindst en t2.medium eksempel. Men, en t2.micro instansen er god nok til testformål.
3. Konfigurer InstansdetaljerVælg her den VPC, der kører de nye Relianoid-instanser. I dette konfigurationseksempel introducerer vi Relianoid EC2-instanserne i den samme VPC som de rigtige web-backend-servere, der allerede er konfigureret.
4. Tilføj OpbevaringSom standard kræver Relianoid EC2-instansen mindst 12 GB lagerplads. Hvis du vil aktivere logfiler som standard, anbefaler vi at øge denne størrelse til mindst 20 GB. Relianoid kræver ikke adgang til disken, kun for at gemme logfiler, så Volumenstype til generelle formål er et godt valg.
5. Tilføj tagsKonfigurer nogle beskrivelsestags her, hvis det ønskes.
6. Konfigurer SikkerhedsgruppeRelianoid bruger som standard TCP-port 444 til HTTPS web GUI-administration, 9999 til sessionssynkroniseringsdæmonen og TCP-port 22 i SSH til kommandolinjeadministration og klyngedannelse. Derudover hver Virtuel port De virtuelle tjenester, der bruges i load balancer, skal inkluderes i din sikkerhedsgruppe. Vi har konfigureret en sikkerhedsgruppe, der bruges til disse Relianoid EC2-instanser i en mindre restriktiv tilstand som følger:
TYPE = Al trafik Protokol = ALLE Port Interval = Alle Kilde = 0.0.0.0/0 Beskrivelse = Tillad alle fra alle til alle
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 implementeringen af den nye enhed, og Initiering status vil blive vist. Konfigurer derefter et beskrivende navn i feltet Navn, i vores tilfælde er vores implementerede load balancers i EC2 navngivet ZLB1-produkt og ZLB2-produkt.
Konfiguration af netværket for Relianoid EC2-instanserne #
Når de virtuelle Relianoid-apparater er blevet implementeret, og Instansstater viser Løb I denne tilstand kan vi fortsætte med at konfigurere netværket.
Klik på den højre knap over ZLB1-produkt apparatet og vælg Netværk > Administrer IP-adresserI Administrer IP-adresser pop op-vindue tryk ind Tildel ny IP-adresse og tryk på knappen Ja, opdatering, vil systemet tildele en ny IP-adresse til eth0 i den samme VPC. Husk denne nye IP, i vores eksempel vil denne nye IP være 172.31.26.47Systemet tildelte en ny IP-adresse, der vil blive brugt til belastningsudligning i den fremtidige klyngetjeneste.
Gå til sektion Elastiske IP'er og tildel hver Relianoid-instans en ny Elastisk IPDisse vil blive brugt til administrationsformål, ikke til belastningsbalancering.
I det samme Elastisk IP afsnit, tildel en ny IP til ZLB1-produkt, men i dette tilfælde skal du vælge Privat IP adresse 172.31.26.47Efter denne konfiguration ZLB1-produkt vil være tilgængelig via web og SSH med IP'en 34.225.30.206, men ZLB2-produkt er tilgængelig via de samme tjenester med IP-adressen 54.161.240.226 og Elastisk IP 54.144.190.17 tildelt IP'en 172.31.26.47.
Aktivering af Relianoid EC2-instanser med midlertidige licenser #
Når de elastiske IP'er er konfigureret, vil de virtuelle load balancers være tilgængelige som følger:
ZLB1-prod vil være tilgængelig via https://34.225.30.206:444, bruger root og adgangskode til instans-id'et.
ZLB1-prod vil være tilgængelig via ssh i IP 34.225.30.226 med brugeradministrator og privat certifikatfil. Dette konfigureres ved EC2-implementeringstidspunktet.
ZLB2-prod vil være tilgængelig via https://54.161.240.226:444, bruger root og adgangskode til instans-id'et.
ZLB2-prod vil være tilgængelig via ssh i IP 54.161.240.226 med brugeradministrator og privat certifikatfil. Dette konfigureres ved EC2-implementeringstidspunktet.
Hvis du overvejer at ændre værtsnavnet, før du fortsætter, skal du genstarte EC2-instansen for at anvende ændringerne.
Når adgangen til web-GUI'en er gennemført, vil du se to vigtige værdier, værtsnavnet og certifikatnøglen. Begge oplysninger er unikke pr. Load Balancer og er relateret til aktiveringslicensen. Brug disse oplysninger i følgende URL som beskrevet: https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/
Når formularen er udfyldt, sender systemet automatisk licensen til den angivne e-mailadresse. Upload venligst den modtagne PEM-aktiveringslicens via web-GUI'en i hver load balancer. Når dette er gjort, låses web-GUI'en op, og alle funktioner er fuldt aktiverede og operationelle.
Udfør den samme aktiveringsprocedure i begge noder ZLB1-prod og ZLB2-prod.
Konfiguration af den virtuelle IP-adresse til belastningsbalancering #
I det foregående punkt har vi allerede tildelt en ekstra IP til eth0 172.31.26.47 i tilfældet ZLB1-pro, og denne IP er blevet tildelt én elastisk IP 54.144.190.17, nu afventer den udførelse af denne konfiguration i ZBL1-pro load balancer.
Gå til ZLB1-pro load balancer via webgrænsefladen ved hjælp af dens elastiske IP https://34.225.30.206:444, når du er logget ind, skal du gå til navigationsmenuen Netværk > Virtuelle grænseflader > Opret virtuel grænseflade, og udfør følgende konfiguration:
Forældregrænseflade = eth0 172.31.26.47
*Da EC2-instanserne ikke kender noget til elastiske IP-adresser, skal vi her konfigurere den fysiske IP-adresse for den EC2-instans, der er knyttet til den offentlige elastiske IP, der bruges til load balance-formål: 54.144.190.17.
Navn på virtuel grænseflade = vip1
IP-adresse = 172.31.26.47
Presse Opret knappen for at anvende konfigurationen.
Nu en ny IP 172.31.26.47 med navn eth0:vip1 er blevet konfigureret i ZLB1-pro EC2 Relianoid Load Balancer og kan pinges fra enhver EC2-instans i denne VPC.
Konfiguration af Relianoid Cluster-tjenesten i Amazon Web Services #
Relianoid Load Balancer-klyngen fungerer i tilstandsfuld 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 klyngeressourcerne tilgås igen. Da de virtuelle IP'er også er klyngeressourcer, skal Amazon Web Service på en eller anden måde annonceres, at den virtuelle IP er konfigureret til load balancing. 172.31.26.47 vil nu fungere via ZLB2-prod.
Til dette bruger Relianoid Cluster-tjenesten AWS-klienten, der skal konfigureres med tilladelser i EC2-modulet til at administrere grænseflader, så før vi starter Relianoid Cluster-tjenesten, skal vi forberede den. Lad os konfigurere en AWS-nøgle i din konto med tilladelser til at administrere IP-adresser i EC2 til brug i AWS-kommandolinjegrænsefladen.
Gå til Amazon-konsollen https://console.aws.amazon.com/iam/ , og vælg derefter i navigationsmenuen BrugerKlik på knappen Tilføj bruger.
Konfigurer et beskrivende brugernavn = aws-for-zlb
In Vælg AWS-adgangstype vælge Programatisk adgang og tryk på knappen Næste: Tilladelser. Nu i Angiv tilladelser sektionstryk ind Opret gruppe og udfyld derefter feltet i det nye vindue Gruppe navn med et beskrivende navn, for eksempel AmazonEC2og endelig i marken Filtrer politikker søg og vælg den navngivne politik AmazonEC2FullAccess hvilket giver tilladelser til at ændre de tildelte IP'er mellem EC2-instanser blandt andre.
Tryk ind Næste: tags og Næste: AnmeldelseTryk til sidst ind Opret bruger, og det sidste vindue viser dig Adgangsnøgle-ID og Hemmelig adgangsnøgle For denne bruger, gem dem venligst til senere brug.
Nu er vi klar til at konfigurere Relianoid Cluster-tjenesten, så gå til webpanelet i ZLB1-pro via den tildelte offentlige IP https://34.225.30.206:444, afsnit System > Klynge og udfyld formularen efter eksemplet:
AWS-legitimationsoplysningerAdgangsnøglen og den hemmelige nøgle er de værdier, der allerede er genereret i de foregående linjer. Regionen, vælg her den region, hvor din Relianoid Application Delivery-controller er implementeret.
Konfigurer klynge:
Lokal IP: vælg IP-adressen og netværkskortet for eth0.
Fjern IPIndtast her IP-adressen for eth0 i noden ZLB2-pro.
Adgangskode til ekstern node og bekræft passwordIndtast root-adgangskoden til ssh i den anden node her, som standard instans-ID'et for ZLB2-pro.
Klik på Generer knappen og vent et par sekunder i mellemtiden. Noden, hvor du kører konfigurationen, vil tage Acrive Surfaces rollen (ZLB1-pro) og den anden (ZLB2-pro) vil tage PASSIV rolle.
På nuværende tidspunkt er Relianoid Cluster konfigureret i AWS, og det er klar til at fungere. Lad os konfigurere vores første klyngede load-balanced-tjeneste.
Konfiguration af en simpel L4-belastningsbalancering til webtjenester #
Gå til LSLB > Gårde > Opret gård med følgende parametre.
Tag højde for den anvendte virtuelle IP 172.31.26.47 er den virtuelle IP-adresse, der tidligere er konfigureret, og en ressource i klyngen, som altid kan nås fra Acrive Surfaces node. Tryk Opret og fortsæt.
Konfigurer nu i det nye vindue Global sektion som vist nedenfor:
Og til sidst, konfigurer sektionen Det vi er gode til som beskrevet:
Brug IP-persistens med 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 de avancerede sundhedstjek med FarmGuardian. Brug check_tcp som et simpelt sundhedstjek for at bekræfte, at TCP-backend-port 80 er åben i hver backend. Og tilføj derefter backend-servernes interne IP-adresser 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 kraft 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 tjeneste og oprette forbindelse igen til den offentlige IP. De nuværende og nye klientforbindelser vil blive etableret mod den samme backend, men denne gang gennem den nye Acrive Surfaces node uden klientafbrydelser.
Tilføjelse af nye grænseflader til Load Balancer #
Til balanceringsformål eller hvad du nu har brug for, er det muligt at konfigurere flere grænseflader til load balancer. For at gøre dette er det så simpelt som at følge de trin, der er beskrevet af AWS, for at tilføje nye grænseflader til en EC2-instans. Se venligst artiklen, som AWS leverer, for bedre at forstå de bedste fremgangsmåder til dette. https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.htmlNår du tilføjer nye grænseflader til EC2-instansen, vil Relianoid automatisk registrere disse nye grænseflader, så du nu kan bruge den til at konfigurere den, som du ønsker.
Nyd avanceret load balancing og clustering i AWS med Relianoid!






