Come configurare il bilanciamento del carico dell'applicazione per routing intelligente

Come configurare il bilanciamento del carico dell'applicazione per routing intelligente
Il bilanciamento del carico dell'applicazione (ALB) è un tipo di bilanciamento del carico elastico fornito da AWS. Funziona al 7 ° livello del modello di livello OSI e può essere configurato per un routing intelligente. Utilizzando il bilanciamento del carico dell'applicazione, il traffico può essere instradato a diversi gruppi target a seconda dei seguenti parametri:

● Metodi HTTP
● Parametri di query
● IP di origine
● Intestazione HTTP
● Percorso
● Routing basato su DNS (intestazioni host)

La richiesta può essere inoltrata a un obiettivo specifico convalidando uno dei parametri sopra menzionati. In questo articolo, discuteremo di come possiamo instradare il traffico in base ai parametri sopra menzionati utilizzando il bilanciamento del carico dell'applicazione su AWS.

Impostazione dell'ambiente

Per portare avanti un routing intelligente, è necessario impostare l'ambiente di base tra cui istanze, gruppo target e bilanciamento del carico dell'applicazione.

Creazione di istanze EC2

Per configurare l'istanza EC2, seguire semplicemente i seguenti passaggi:

● Selezionare Amazon Machine Image (AMI)
● Selezionare il tipo di istanza
● Fornire dettagli di configurazione (VPC, sottorete, AZ, metadati, ecc.)
● Allega l'archiviazione (EBS, Store di istanza)
● Gestire il gruppo di sicurezza
● Rivedere e lancio

Le istanze sono ora configurate. Il prossimo è creare il gruppo target.

Creazione del gruppo target

Avremo bisogno di almeno due gruppi target per dimostrare con successo i metodi di routing per il bilanciamento del carico dell'applicazione, quindi creeremo due gruppi target utilizzando i seguenti passaggi:

● Scegli il tipo di destinazione
● Selezionare il protocollo di rete e la porta
● Selezionare VPC
● Configurare i controlli di salute
● Registra gli obiettivi

Innanzitutto, dobbiamo selezionare il tipo di destinazione: può essere un'istanza, l'indirizzo IP, la funzione Lambda o un altro bilanciamento del carico dell'applicazione.

Seleziona il protocollo di rete. In questo caso, selezioneremo HTTP sulla porta 80 predefinita poiché questo è il protocollo supportato da un bilanciamento del carico dell'applicazione. Dovrai anche selezionare il VPC in cui sono in esecuzione le tue istanze.

Per configurare il controllo di salute, seleziona semplicemente il protocollo che si utilizza per l'applicazione. I controlli sanitari aiutano a instradare il traffico solo a obiettivi sani.

Registra gli obiettivi (che sono istanze EC2 in questo caso).

Dopo aver registrato gli obiettivi, fare clic sul gruppo Crea target e verrà creato.

Creazione del bilanciamento del carico dell'applicazione (ALB)

Ora, creeremo il bilanciamento del carico dell'applicazione. La procedura è definita di seguito.

● Selezionare Schema di rete (pubblico / privato)
● Selezionare il tipo di indirizzo IP (IPv4 / IPv4 e IPv6)
● Selezionare VPC
● Selezionare le zone di disponibilità (AZ)
● Configurare il gruppo di sicurezza
● Aggiungi ascoltatori

Puoi semplicemente visitare il seguente articolo per creare e configurare il bilanciamento del carico dell'applicazione su AWS.

https: // linuxhint.com/create-and-configure-appplication-car-balancer-on-aws/

Gestione delle regole per il routing intelligente

Abbiamo già creato istanze EC2, gruppi target e un bilanciamento del carico dell'applicazione. Ora discuteremo di come creare regole per un bilanciamento del carico dell'applicazione per instradare il traffico di conseguenza. Il routing intelligente è un'abilità che consente di instradare e inoltrare il traffico di rete e le richieste a un obiettivo specificato in base alla condizione e alle regole specificate sulle richieste in arrivo.

Per impostare le regole per il routing intelligente, apri semplicemente la scheda Ascoltatore sul tuo ALB e fai clic sulle regole di visualizzazione/modifica per il tuo ascoltatore.

In questa console, puoi creare e modificare le condizioni di routing e le regole.

Ora, iniziamo e vediamo in dettaglio tutti i metodi che abbiamo elencato dall'inizio.

Testa ospite

Qui, devi specificare l'obiettivo in base al DNS della richiesta ricevuta. È possibile impostare più domini che puntano a un singolo bilanciamento del carico; Ognuno avrà un obiettivo specifico. Questo schema è anche noto come routing basato su DNS.

Fare clic sulla scheda Inserisci regola e seleziona l'intestazione host dal menu a discesa.

Specifica l'intestazione host che desideri.

Quindi selezionare l'azione che si desidera intraprendere se la richiesta viene ricevuta dall'intestazione host specificata nel passaggio precedente. È possibile inoltrare la richiesta, reindirizzare la richiesta o restituire una risposta fissa alla richiesta. Per questa demo, inoltreremo la richiesta a un gruppo target.

Seleziona il gruppo target. Ora tutto il traffico dal DNS www.esempio1.com sarà inoltrato al gruppo target chiamato Demo-TG-1.

Allo stesso modo, è possibile aggiungere più regole che specificano obiettivi diversi per ogni intestazione host.

Routing basato sul percorso

Nel routing basato sul percorso, definiamo l'intero percorso DNS nella condizione della regola dell'ascoltatore. Ad esempio, se si dispone di una sezione blog e delle immagini nel tuo sito Web, puoi facilmente instradare il traffico per ogni sezione su un target diverso.

Crea una nuova regola e seleziona l'opzione percorso.

Specificare il percorso completo della destinazione.

Aggiungi l'azione per inoltrare le richieste al gruppo target desiderato.

La prima regola significa che il traffico da /API/V1 sarà inoltrato a Demo-TG-1. La seconda regola significa che il traffico da /API/V2 verrà instradato a Demo-TG-2.

Intestazione HTTP

Quando esiste una comunicazione server e client tramite le richieste HTTP, alcuni dati vengono passati tra il server e il client utilizzando le intestazioni HTTP. Queste intestazioni sono di diversi tipi come intestazioni di richiesta, intestazioni di risposta, intestazioni generali e intestazioni di entità. Questi sono sotto forma di coppie di tasti e valori. Il traffico di rete sull'applicazione può anche essere instradato a diversi obiettivi a seconda di queste intestazioni HTTP definite nella richiesta.

Definire l'intestazione HTTP in base a dove si desidera instradare la richiesta di rete. Per dimostrazione, abbiamo preso l'intestazione come posizione = L1.

Dopo aver definito l'intestazione HTTP, aggiungi il bersaglio per la regola e crea semplicemente.

In questo modo, possiamo specificare che la richiesta con l'intestazione della posizione impostata su L1 colpirà il bersaglio demo-TG-1 e L2 colpirà il bersaglio demo-TG-2.

Metodo di richiesta HTTP

Esistono più metodi di richiesta per richieste HTTP come GET, Post, Put, Elimina, ecc. Qui, vedremo come possiamo instradare le nostre richieste in base a queste richieste.

Per fare ciò, creare una nuova regola per il metodo della richiesta HTTP.

Fornisci il tipo di metodo di richiesta HTTP. Inseriremo la richiesta di Get per questa dimostrazione.

Aggiungi l'obiettivo a cui si desidera inoltrare tutte le richieste di Get per la tua applicazione Web e fare clic su Salva e la tua regola diventerà attiva. In questo modo, diverse richieste possono essere instradate a diversi gruppi target.

Parametri di query

Queste ulteriori informazioni vengono talvolta aggiunte con le richieste HTTP. È definito sotto forma di coppie di valore chiave. Il traffico di rete in un bilanciamento del carico può anche essere indirizzato a una destinazione specifica a seconda dei parametri della stringa di query riportati nella richiesta dell'utente.

Per iniziare, selezionare la stringa di query come condizione per la tua regola.

Ora, definisci una coppia di valore chiave come parametro di query.

Scegli il target e termina la configurazione della regola.

Puoi vedere di seguito le due regole. Le richieste con il parametro di query = T1 vengono inoltrate a Demo-TG-1 mentre e le richieste con tipo di parametro di query = T2 hanno raggiunto il demo-TG-2 di destinazione.

IP di origine

È inoltre possibile impostare una regola dell'ascoltatore per inoltrare la richiesta a un gruppo target specifico a seconda dell'indirizzo IP dell'utente che sta facendo la richiesta al bilanciamento del carico.

Per impostare l'IP di origine, basta fornire il CIDR, quindi scegliere l'obiettivo che desideri.

Ogni intervallo di indirizzi IP o IP può essere specificamente indirizzato a un target diverso come mostrato di seguito.

Conclusione

Il routing intelligente è molto importante quando si tratta di progettare un'applicazione Web avanzata e di alto livello. Come ciò che viene dimostrato in questo articolo, possiamo inoltrare le richieste a molti obiettivi utilizzando un singolo bilanciamento del carico dell'applicazione in base ai parametri di richiesta che otteniamo dagli utenti. Controlla gli altri articoli su Linux suggerimento per ulteriori suggerimenti e tutorial.