- Introduzione
- Infrastruttura AWS e Relianoid
- Distribuzione di due istanze Relianoid in AWS Marketplace
- Configurazione della rete per le istanze EC2 di Relianoid
- Abilitazione delle istanze Relianoid EC2 con licenze temporanee
- Configurazione dell'IP virtuale per il bilanciamento del carico
- Configurazione del servizio Relianoid Cluster in Amazon Web Services
- Configurazione di un semplice bilanciamento del carico L4 per i servizi Web
- Aggiunta di nuove interfacce al Load Balancer
Introduzione #
Il seguente articolo descrive come impostare servizi di bilanciamento del carico avanzati con Relianoid Load Balancer per un'elevata disponibilità in Infrastruttura EC2 di Amazon Web Services. Descriveremo la procedura per configurare a Cluster Relianoid e configurare un profilo di bilanciamento del carico TCP per i servizi HTTP di bilanciamento del carico con 3 server back-end Web.
Infrastruttura AWS e Relianoid #
Il diagramma seguente descrive l'architettura che vogliamo implementare per il bilanciamento del carico web con Relianoid Application Delivery Controller in AWS.
È necessario distribuire due Relianoid Application Delivery Controller, questo modello è disponibile nel marketplace di Amazon Web Services e ogni Relianoid Application Delivery Controller è configurato nella stessa VPC dei server back-end Web come mostrato nel diagramma sopra con la subnet 17.32.16.0./20.
Ogni istanza ADC Relianoid è configurata con un'interfaccia eth0e ogni istanza è assegnata a una IP elastico, anche un IP elastico aggiuntivo viene assegnato a un IP aggiuntivo tramite eth0 nella ZLB1-prod istanza che verrà utilizzata a fini di bilanciamento del carico, come descritto di seguito:
ZLB1-prod è assegnato a 172.31.20.89 in eth0, questa istanza sarà accessibile direttamente da uno IP elastico 34.225.30.206
ZLB2-prod è assegnato a 172.31.26.237 in eth0, questa istanza sarà accessibile direttamente da uno IP elastico 54.161.240.226
Un IP aggiuntivo è assegnato a ZLB1-prod e configurato nel bilanciamento del carico con nome eth0: VIP1 e IP 172.31.26.47, questo IP viene utilizzato per configurare qui un servizio di bilanciamento del carico ed essere parte del servizio cluster, quindi questo IP funzionerà solo in una delle istanze di Relianoid alla volta, che gestisce il ATTIVO ruolo nel cluster. Questo IP interno è assegnato a un IP elastico a cui i client accedono per connettersi al servizio Web reale pubblicato.
Infine back-end01, back-end02 and back-end03 sono le istanze EC2 con server Web basati su Linux, tali istanze fanno parte del servizio con bilanciamento del carico in cui il client si connette quando richiesto http://54.144.190.17/.
Distribuzione di due istanze Relianoid in AWS Marketplace #
Distribuiamo due Relianoid Load Balancer e configuriamoli come descritto in precedenza.
Vai alla sezione delle istanze EC2 e premi Avvia istanza.
1. Cerca l'AMI Relianoid Load Balancer Enterprise Edition richiesta. Questo AMI si basa su una licenza BYOL modello. La fase di valutazione è gratuita e l'assistenza è inclusa per un mese, dopo questo periodo di tempo è necessaria una licenza definitiva per funzionare.
2. Scegli un Tipo di istanza. Seleziona qui l'istanza necessaria in base alle risorse che desideri caricare. Un singolo t2.piccolo istanza è buona per iniziare a lavorare Profili L4, ma se si desidera utilizzare Profili HTTP quindi consigliamo almeno a t2.medio esempio. Ma a t2.micro istanza è abbastanza buona per scopi di test.
3. Configurazione Dettagli istanzaSeleziona qui la VPC che esegue le nuove istanze Relianoid; in questo esempio di configurazione introdurremo le istanze Relianoid EC2 nella stessa VPC dei server backend web reali già configurati.
4. Aggiungi memoria. Per impostazione predefinita, l'istanza EC2 di Relianoid richiede almeno 12 GB di spazio di archiviazione, se si desidera attivare i log per impostazione predefinita, si consiglia di aumentare questa dimensione almeno a 20 GB. Relianoid non richiede l'accesso al disco, solo per salvare i log, quindi Tipo di volume per scopi generali è una buona scelta.
5. Aggiungere etichette. Configurare qui alcuni tag di descrizione, se desiderato.
6. Configurazione Gruppo di sicurezza. Relianoid usa di default la porta TCP 444 per scopi di gestione della GUI web HTTPS, 9999 per il daemon di sincronizzazione delle sessioni e la porta TCP 22 in SSH per scopi di gestione della riga di comando e clustering. Inoltre, ogni Porta virtuale utilizzati nei servizi virtuali del bilanciatore di carico dovranno essere inclusi nel tuo gruppo di sicurezza. Abbiamo configurato un gruppo di sicurezza che viene utilizzato per quelle istanze EC2 Relianoid in una modalità meno restrittiva come segue:
TIPO = Tutto il traffico Protocollo = TUTTO Intervallo porte = Tutto Sorgente = 0.0.0.0/0 Descrizione = Consenti tutto da tutti a tutti
Questo gruppo di sicurezza viene creato a scopo di test, puoi scegliere di bloccare tutte le porte e consentire solo l'uso per il bilanciamento del carico e la gestione.
Una volta che l'assistente di configurazione torna all'elenco delle istanze EC2, la nuova appliance inizierà a essere distribuita e il file Avvio verrà mostrato lo stato. Quindi, configura ora un nome descrittivo nel campo Nome, nel nostro caso, vengono denominati i nostri sistemi di bilanciamento del carico distribuiti in EC2 ZLB1-prod and ZLB2-prod.
Configurazione della rete per le istanze EC2 di Relianoid #
Una volta che gli appliance virtuali Relianoid sono stati distribuiti e Stati di istanza stanno mostrando corsa modalità possiamo procedere a configurare la rete.
Fai clic sul pulsante destro sopra il ZLB1-prod apparecchio e scegliere Rete> Gestisci indirizzi IP, Nella Gestisci indirizzi IP finestra pop-up premere in Assegna nuovo IP e premere il pulsante Sì, aggiorna, il sistema assegnerà un nuovo IP per eth0 nello stesso VPC. Ricorda questo nuovo IP, nel nostro esempio, sarà questo nuovo IP 172.31.26.47. Il sistema ha assegnato un nuovo IP che verrà utilizzato per scopi di bilanciamento del carico nel futuro servizio di clustering.
Vai alla sezione IP elastici e assegnare a ciascuna istanza di Relianoid un nuovo IP elastico. Questi verranno utilizzati a fini di gestione, non per il bilanciamento del carico.
Nello stesso IP elastico sezione, assegnare un nuovo IP a ZLB1-prod, ma in questo caso, selezionare il IP privato indirizzo 172.31.26.47. Dopo questa configurazione ZLB1-prod sarà accessibile tramite web e ssh con l'IP 34.225.30.206, ma ZLB2-prod è accessibile attraverso gli stessi servizi con l'IP 54.161.240.226 and IP elastico 54.144.190.17 assegnato all'IP 172.31.26.47.
Abilitazione delle istanze Relianoid EC2 con licenze temporanee #
Dopo aver configurato gli IP elastici, i bilanciatori di carico virtuali saranno accessibili come segue:
ZLB1-prod sarà accessibile tramite https://34.225.30.206:444 root utente e password ID istanza.
ZLB1-prod sarà accessibile tramite ssh in IP 34.225.30.226 con admin utente e file di certificato privato, questo è configurato al momento della distribuzione di EC2.
ZLB2-prod sarà accessibile tramite https://54.161.240.226:444 root utente e password ID istanza.
ZLB2-prod sarà accessibile tramite ssh in IP 54.161.240.226 con admin utente e file di certificato privato, questo è configurato al momento della distribuzione di EC2.
Se si considera di modificare il nome host prima di continuare, in tal caso, riavviare l'istanza EC2 per applicare le modifiche.
Una volta eseguito correttamente l'accesso alla GUI Web, verranno visualizzati due valori importanti, il nome host e la chiave del certificato, entrambe le informazioni sono univoche per Load Balancer e sono correlate alla licenza di attivazione, utilizzare queste informazioni nel seguente URL come descritto: https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/
Una volta compilato il modulo, il sistema invia automaticamente la licenza all'indirizzo e-mail indicato. Caricare la licenza di attivazione PEM ricevuta tramite la GUI Web in ciascun bilanciamento del carico, una volta effettuata questa operazione, la GUI Web viene sbloccata e tutte le funzionalità sono completamente abilitate e operative.
Esegui la stessa procedura di attivazione in entrambi i nodi ZLB1-prod e ZLB2-prod.
Configurazione dell'IP virtuale per il bilanciamento del carico #
Nel punto precedente, abbiamo già assegnato un IP aggiuntivo a eth0 172.31.26.47 nell'istanza ZLB1-pro e questo IP è stato assegnato a un IP elastico 54.144.190.17, ora è in attesa di eseguire questa configurazione nel bilanciamento del carico ZBL1-pro.
Vai al bilanciamento del carico ZLB1-pro tramite l'interfaccia Web utilizzando il suo IP elastico https://34.225.30.206:444, una volta effettuato l'accesso, vai al menu di navigazione Rete> Interfacce virtuali> Crea interfaccia virtualee procedere come segue:
Interfaccia principale = eth0 172.31.26.47
* Poiché le istanze EC2 non conoscono nulla degli IP elastici, è necessario configurare qui l'IP fisico dell'istanza EC2 collegato all'IP elastico pubblico utilizzato per il bilanciamento del carico 54.144.190.17
Nome dell'interfaccia virtuale = vip1
Indirizzo IP = 172.31.26.47
Stampa Crea pulsante per applicare la configurazione.
Ora un nuovo IP 172.31.26.47 con il nome eth0: VIP1 è stato configurato nel bilanciatore di carico ZLB1-pro EC2 Relianoid e può essere sottoposto a ping da qualsiasi istanza EC2 in questa VPC.
Configurazione del servizio Relianoid Cluster in Amazon Web Services #
Il cluster Relianoid Load Balancer funziona in stato attivo-passivo modalità, significa che le risorse del cluster sono configurate in entrambi i nodi ma disponibili solo in ATTIVO nodo. Quando un nodo di questo tipo si guasta e questo ruolo viene avviato nell'altro membro, è necessario accedere nuovamente alle risorse del cluster. Poiché anche gli IP virtuali sono risorse cluster, Amazon Web Service deve essere annunciato in qualche modo che l'IP virtuale configurato per il bilanciamento del carico 172.31.26.47 funzionerà ora tramite ZLB2-prod.
Per questo, il servizio Relianoid Cluster utilizza il client AWS che deve essere configurato con permessi nel modulo EC2 per la gestione delle interfacce, quindi prima di avviare il servizio Relianoid Cluster dobbiamo prepararlo. Quindi configuriamo un CHIAVE AWS nel tuo account con autorizzazioni per gestire gli IP in EC2 per essere utilizzato nell'interfaccia della riga di comando di AWS.
Vai alla console di Amazon https://console.aws.amazon.com/iam/ , quindi nel menu di navigazione selezionare Utente. Clicca sul pulsante Aggiungi utente.
Configura un nome utente descrittivo = aws-for-zlb
In Seleziona il tipo di accesso AWS scegliere Accesso programmatico e premere il pulsante Avanti: Autorizzazioni. Ora nel Imposta autorizzazioni premere la sezione Crea gruppo e quindi nella nuova finestra compila il campo Nome del gruppo con un nome descrittivo, ad esempio, AmazonEC2e, infine, sul campo Politiche di filtro cercare e selezionare la politica denominata AmazonEC2Accesso completo che fornisce le autorizzazioni per modificare gli IP assegnati tra le istanze EC2 tra gli altri.
Premere Avanti: tag and Avanti: Revisione. Infine, premi Creare un utentee la finestra finale ti mostrerà il file ID chiave di accesso e Chiave d'accesso segreta per questo utente, si prega di salvarli per un utilizzo futuro.
Ora siamo pronti per configurare il servizio Relianoid Cluster, quindi andiamo al pannello web in ZLB1-pro tramite l'IP pubblico assegnato https://34.225.30.206:444, sezione Sistema> Cluster e compila il modulo seguendo l'esempio:
Credenziali AWS: La chiave di accesso e la chiave segreta sono i valori già generati nelle righe precedenti. La regione, seleziona qui la regione in cui è distribuito il tuo controller Relianoid Application Delivery.
Configura cluster:
IP locale: seleziona IP e NIC di eth0.
IP remoto: inserisci qui l'IP di eth0 nel nodo ZLB2-pro.
Password nodo remoto and Conferma password: inserisci qui la password di root per ssh nell'altro nodo, per impostazione predefinita l'ID istanza di ZLB2-pro.
Fare clic su Generare pulsante e attendi qualche secondo nel frattempo, il nodo su cui esegui la configurazione prenderà il file ATTIVO ruolo (ZLB1-pro) e l'altro (ZLB2-pro) assumerà il ruolo PASSIVO ruolo.
A questo punto, Relianoid Cluster è stato configurato in AWS ed è pronto per funzionare. Configuriamo il nostro primo servizio cluster con bilanciamento del carico.
Configurazione di un semplice bilanciamento del carico L4 per i servizi Web #
Vai su LSLB> Fattorie> Crea fattoria con i seguenti parametri.
Prendi in considerazione l'IP virtuale utilizzato 172.31.26.47 è l'IP virtuale precedentemente configurato e una risorsa del cluster che sarà raggiungibile sempre dal ATTIVO nodo. stampa Crea e continua
Ora nella nuova finestra configura il Sezione globale come mostrato di seguito:
E infine, configura la sezione Servizi come descritto:
Usa il Persistenza IP con timeout di 60 secondi nel caso in cui sia necessario garantire che lo stesso IP client sia connesso allo stesso backend per un certo periodo di tempo. Configurare i controlli di integrità avanzati con FarmGuardian. Utilizzare check_tcp come semplice controllo di integrità per verificare che la porta back-end TCP 80 sia aperta in ciascun back-end. Quindi, aggiungi gli IP interni e le porte dei server back-end in cui sono in esecuzione i servizi Web reali.
Ora prova la connessione al IP elastico 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 e inoltrato a uno dei backend disponibili.
Ora una forza per cambiare il ATTIVO ruolo nel cluster, ad esempio, riavvia il nodo con questo ruolo e dopo alcuni secondi, l'altro prenderà il servizio virtuale e si riconnetterà all'IP pubblico. Le connessioni client attuali e nuove verranno stabilite sullo stesso back-end, ma questa volta tramite il nuovo ATTIVO nodo senza interruzioni del client.
Aggiunta di nuove interfacce al Load Balancer #
Ai fini del bilanciamento o per qualsiasi altra esigenza, è possibile configurare più interfacce al sistema di bilanciamento del carico. Per fare ciò, basta seguire i passaggi delineati da AWS per aggiungere nuove interfacce a un'istanza EC2. Dai un'occhiata all'articolo fornito da AWS per comprendere meglio le migliori pratiche per questo. https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.htmlQuando aggiungi nuove interfacce all'istanza EC2, Relianoid rileverà automaticamente queste nuove interfacce, quindi ora puoi utilizzarlo per configurarlo come desideri.
Sfrutta il bilanciamento del carico avanzato e il clustering in AWS con Relianoid!






