GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare il routing basato su host su AWS Application Load Balancer

In AWS, ELB o Elastic Load Balancing è un concetto in cui i server possono essere aggiunti o rilasciati secondo la richiesta della nostra applicazione. Il traffico in entrata da un'applicazione viene distribuito tra più destinazioni. Queste destinazioni possono essere istanze EC2, container e indirizzi IP in una o più zone di disponibilità. I tipi supportati di AWS Elastic Load Balancer sono Application Load Balancer (ALB), Network Load Balancer (NLB), Gateway Load Balancer (lanciati di recente) e Classic Load Balancer. Questi bilanciatori del carico hanno configurazioni diverse, ad esempio 

  1. Application Load Balancer:funziona distribuendo automaticamente il traffico dell'applicazione in entrata tra due o più istanze EC2. Possiamo definire regole di routing in base al contenuto della richiesta (routing basato sul contenuto). È un sistema di bilanciamento del carico di livello 7.
  2. Network Load Balancer:NLB utilizza i dati del protocollo IP (TCP e UDP) per instradare le connessioni alle risorse AWS come EC2, microservizi e container. È un sistema di bilanciamento del carico di livello 4.
  3. Gateway Load Balancer:vengono utilizzati con appliance virtuali di terze parti come firewall NextGen (NGFW), IPS, IDS ecc. in esecuzione su istanze EC2. Funziona posizionando un unico gateway per il traffico da più dispositivi virtuali e questi più dispositivi virtuali possono essere aumentati o ridotti in base alla domanda. Questo è un bene per la stabilità della rete. È un sistema di bilanciamento del carico di livello 3 (Gateway) più livello 4 (Bilanciamento del carico).
  4. Classic Load Balancer:CLB è un sistema di bilanciamento del carico legacy di AWS utilizzato per il bilanciamento del carico su più istanze EC2. È consigliato per applicazioni progettate all'interno della rete EC2-Classic. È un sistema di bilanciamento del carico di livello 4/7. AWS consiglia di evitare questo sistema di bilanciamento del carico.

Panoramica di questa guida


In questo tutorial, configureremo l'instradamento basato sul percorso per Application Load Balancer su AWS. Utilizzeremo un account utente IAM con privilegi limitati richiesti per questa attività. Abbiamo le seguenti risorse per questo esperimento:

  1. Due zone di disponibilità, ciascuna contenente almeno un'istanza EC2.
  2. Un VPC ha almeno una sottorete pubblica in ciascuna delle due zone di disponibilità precedenti. Questa sottorete pubblica verrà utilizzata per la configurazione del sistema di bilanciamento del carico.
  3. Installa un server Web su ciascuna istanza e consenti l'accesso alla porta 80 su queste istanze utilizzando il gruppo di sicurezza.

Configurazione delle istanze EC2

Per questa guida, abbiamo configurato due istanze EC2 Amazon Linux con apache Httpd installato su entrambe. Su un server abbiamo una directory "signin" e un file index.html al suo interno con il contenuto:"Benvenuto utente? Accedi per procedere...”

Su un altro server abbiamo una directory 'signup' e un file index.html al suo interno con il contenuto:"Nuovo utente? Iscriviti prima...”

Entrambe le directory 'signin' e 'signup' si trovano all'interno della directory principale(/var/www/html).

Configurazione del gruppo target

Passaggio 1. Per instradare la richiesta creeremo prima due gruppi target, uno per ogni server. Apri la console EC2 e sul pannello laterale sinistro, trova e seleziona "Gruppi di destinazione" (è in Bilanciamento del carico):

Passaggio 2. Nella nuova pagina, fai clic sul pulsante "Crea gruppo target":


Fase 3. Siamo ora sulla pagina "Specifica i dettagli del gruppo". Nella configurazione di base, procedi come segue:

  1. Scegli un tipo di destinazione:seleziona "Istanze" qui.
  2. Nome del gruppo di destinazione:assegna un nome adatto al gruppo di destinazione ("Accedi" nel nostro caso.)
  3. Protocollo:HTTP
  4. Porta:80
  5. VPC:seleziona qui il tuo nome VPC.
  6. Versione protocollo:mantieni quella predefinita selezionata.(HTTP1)

Nelle impostazioni "Controlli di integrità":

Protocollo di controllo dello stato:HTTP

Percorso controllo integrità:'Percorso che desideri utilizzare'('/signin' nel nostro caso)

Mantieni le "Impostazioni avanzate per il controllo dello stato" sui valori predefiniti. Aggiungi tag se ne hai bisogno (facoltativo). Fai clic su "Avanti" per continuare.

Registrazione di istanze EC2 ai gruppi target

Passaggio 3. Ora aggiungi una delle istanze EC2 ai gruppi target sopra. Seleziona un'istanza e quindi fai clic sul pulsante "Includi come in sospeso di seguito"


L'istanza sopra selezionata apparirà in "Obiettivi di revisione". Ora fai clic su "Crea gruppo target".


Nella finestra successiva, fai nuovamente clic su "continua". Ora ripeti la stessa procedura per un altro gruppo target e chiamalo "Registrati". Utilizza un'altra istanza (in un'altra zona di disponibilità) con questo gruppo target e utilizza un percorso di controllo dello stato diverso ('/registrazione' nel nostro caso):



Creazione dell'Application Load Balancer

Passaggio 1. Dalla console EC2, vai su Load Balancer e fai clic sul pulsante Crea Load Balancer, quindi seleziona "Application Load Balancer" mostrato nella nuova pagina:


Fase 2. Assegna un nome adatto (qui 'My-Path-ALB') al tuo bilanciatore di carico. Mantieni lo schema predefinito ("Connesso a Internet"), seleziona il tipo di indirizzo IP come IPv4



Passaggio 3. Nella sezione Mappatura di rete, seleziona il VPC di destinazione e in Nella sezione Mapping, seleziona le due zone di disponibilità contenenti i tuoi target a cui il sistema di bilanciamento del carico indirizzerà il traffico.


Passaggio 4. Configura i gruppi di sicurezza per il sistema di bilanciamento del carico e consenti la porta di destinazione (porta 80 in nostro caso) da ascoltare su:


Passaggio 5.  Seleziona un listener (HTTP nel nostro caso) e inserisci una porta su cui ascoltare oppure scegli di restare con la porta predefinita 80 per le richieste HTTP. Sotto l'azione predefinita, seleziona il target "Accedi" per la colonna "inoltra a":



Passaggio 6. I passaggi opzionali possono essere saltati. Ora rivedi il riepilogo e premi il pulsante "Crea sistema di bilanciamento del carico":

Aggiunta di regole di inoltro basate sull'host

Passaggio 1. Ora vai di nuovo alla pagina "Load Balancer" e trova il tuo bilanciatore di carico target qui:


 

Passaggio 2. Una volta che lo stato dell'ALB diventa Attivo, procederemo con le regole di inoltro. Fai clic sul nome del Load Balancer e poi vai alla scheda Listeners

Passaggio 3. Fai clic su "Visualizza/Modifica regole" nella colonna "Regole", quindi fai clic sul simbolo "+" seguito da "Inserisci regola":




Passaggio 4. Nella colonna "SE(tutte le corrispondenze), fai clic sulla freccia a discesa "+ Aggiungi condizione" e seleziona "Ospite" come tipo di regola e inserisci la tua hostname o nome di dominio ('www.signin.tecofers.com' nel nostro caso) nel campo di testo corrispondente all'etichetta 'is'.

Passaggio 5. Dalla colonna "Allora", fai clic sulla freccia a discesa "+Aggiungi azione" e seleziona "Inoltra a" come azione. Qui seleziona il gruppo target 'Accedi'.
Ripeti i passaggi 2 e 3 sopra per il gruppo target 'Registrati' con nome host o nome di dominio ('www.signup.tecofers.com' nel nostro caso). Dopo aver salvato le regole, avremo due regole:

L'ultima regola è per l'azione predefinita se le due condizioni precedenti non sono soddisfatte.

Registrazione del dominio in Route 53

Per registrare l'host/domini per l'instradamento basato su host su Internet, è necessario aggiungere il nome DNS delle istanze EC2 corrispondenti con il loro nome host/dominio all'interno di Route 53 .

Passaggio 1. Apri la dashboard di Route 53 dalla console di gestione e fai clic su "Crea zona ospitata":


Fase 2. Nella pagina di configurazione della zona ospitata, inserisci il nome del dominio e seleziona il tipo come ' Public hosted zone' e seleziona 'Crea hosted zone':


Fase 3. Nella nuova pagina clicca su 'Crea record':


Passaggio 4. Nella nuova pagina, fai clic sull'etichetta "Passa alla procedura guidata" e seleziona Opzione "Percorso semplice"


Passaggio 5. Qui fai clic su "Definisci record semplice"


Passaggio 6. Inserisci vari dettagli per questo record:

Dominio:sottodominio corrispondente alla tua zona ospitata.

Tipo di record:seleziona un tipo qui.

Valuta/Indirizza il traffico verso:

  1. Seleziona "Alias ​​per applicazione e Classic Load Balancer"
  2. Seleziona la regione in cui si trova il sistema di bilanciamento del carico
  3. Seleziona il sistema di bilanciamento del carico di destinazione.




Finalmente premi 'Definisci record semplice'.

Il record sopra apparirà ora come mostrato qui:


Ripeti i passaggi precedenti per l'altro host.

Verifica dell'impostazione...

Per verificare se tutto funziona come previsto, apri un browser web e incolla il DNS del sistema di bilanciamento del carico e aggiungilo con:

1) Nome host per la destinazione "Registrati"



2) Nome host per la destinazione "Accedi"





Conclusione

Congratulazioni, abbiamo finalmente configurato uno scenario di lavoro per l'instradamento basato su host su AWS Application Load Balancer.


Linux
  1. Come configurare NGINX come bilanciatore di carico TCP/UDP in Linux

  2. Come configurare il servizio di bilanciamento del carico HAProxy

  3. Come installare e configurare il bilanciamento del carico HAProxy su Debian 11

  4. Come installare e configurare il sistema di bilanciamento del carico HAProxy su Rocky Linux/Alma Linux 8

  5. Come installare e configurare il bilanciamento del carico HAProxy su Ubuntu 20.04

Come avviare RHEL 8 da Amazon EC2 in AWS Cloud

Come configurare HAProxy come Load Balancer per Nginx in CentOS 7

Come funziona un sistema di bilanciamento del carico? Che cos'è il bilanciamento del carico?

Come configurare il bilanciamento del carico con NGINX su Jelastic Cloud

Configura un sito Web WordPress con bilanciamento del carico su AWS EC2 – Parte 2

Come posso cancellare le credenziali in AWS Configure?