Ricerca nel sito web

Come configurare il routing basato sul percorso in un AWS Application Load Balancer


Su questa pagina

  1. Panoramica di questa guida
  2. Configurazione delle istanze EC2
  3. Configurazione del gruppo target
  4. Registrazione delle istanze EC2 nei gruppi target
  5. Creazione dell'Application Load Balancer
  6. Aggiunta di regole di inoltro basate sul percorso
  7. Verifica della configurazione…
  8. Conclusione

In AWS, ELB ed Elastic Load Balancing esiste un concetto in cui i server possono essere aggiunti o rilasciati secondo la richiesta della nostra applicazione e il traffico in entrata da un'applicazione viene distribuito tra più destinazioni. Questi target 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 delle applicazioni in entrata tra due o più istanze EC2. Possiamo definire regole di routing in base al contenuto della richiesta (instradamento basato sul contenuto). È un bilanciatore 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 bilanciatore di 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 singolo gateway per il traffico proveniente da più dispositivi virtuali e questi dispositivi virtuali multipli possono essere ampliati o ridotti in base alla domanda. Questo è positivo per la stabilità della rete. È un 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 che viene utilizzato per il bilanciamento del carico tra più istanze EC2. È consigliato per le applicazioni progettate all'interno della rete EC2-Classic. È un bilanciatore del carico di livello 4/7. È consigliato da AWS per evitare questo sistema di bilanciamento del carico.

Panoramica di questa guida

In questo tutorial, configureremo il routing basato sul percorso per un Application Load Balancer su AWS. Utilizzeremo un account utente IAM per questa attività. Abbiamo le seguenti risorse per questa configurazione:

1. Due zone di disponibilità, ciascuna contenente almeno un'istanza EC2.

2. Un VPC con almeno una sottorete pubblica in ciascuna delle due zone di disponibilità di cui sopra. Questa sottorete pubblica verrà usata per configurare il bilanciamento del carico.

3. Installa un server web su ogni 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 Amazon Linux EC2 con il webserver Apache Httpd installato su entrambe. Su un server abbiamo una directory 'signin' contenente un file index.html con il contenuto: \Benvenuto utente? Accedi per procedere...

Su un altro server abbiamo una directory di iscrizione contenente un file index.html con i contenuti: \Nuovo utente? Registrati 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 ciascun server. Apri la console EC2 e sul pannello laterale sinistro, trova e seleziona Gruppi target (è sotto Bilanciamento del carico).

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

Passaggio 3. Ora siamo nella 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 target: assegna un nome adatto al gruppo target ('Accesso' nel nostro caso).
  3. Protocollo: HTTP
  4. Porta: 80
  5. VPC: seleziona qui il tuo nome VPC.
  6. Versione protocollo: mantieni selezionata l'impostazione predefinita.(HTTP1)

Nelle impostazioni Controlli di integrità:

  1. Protocollo controllo integrità: HTTP
  2. Percorso controllo integrità: 'Percorso che desideri utilizzare'('/signin' nel nostro caso)
  3. Mantieni le Impostazioni avanzate di controllo dello stato sui valori predefiniti. Aggiungi tag se ne hai bisogno (facoltativo). Fai clic su Avanti per continuare.

Registrazione delle istanze EC2 nei gruppi target

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

Passaggio 2. L'istanza sopra selezionata verrà visualizzata in Obiettivi di revisione. Ora fai clic su Crea gruppo target.

Creazione dell'Application Load Balancer

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

Aggiunta di regole di inoltro basate sul percorso

Passaggio 1. Una volta che lo stato dell'ALB passa ad Attivo, procederemo con le regole di inoltro. Fai clic sul nome di Load Balancer e vai alla scheda Listener.

Passaggio 2. Fare clic su Visualizza/Modifica regole nella colonna Regole, quindi fare clic sul simbolo + seguito da Inserisci regola:

Passaggio 3. Sotto la colonna IF(all match), fai clic sulla freccia a discesa + Aggiungi condizione e seleziona Percorso come tipo di regola e inserisci /signin* nel campo di testo corrispondente all'etichetta is .

Passaggio 4. Dalla colonna Allora, fai clic sulla freccia del menu a discesa +Aggiungi azione e seleziona Inoltra a come azione. Qui seleziona il gruppo target Accesso.

Ripeti i passaggi 2 e 3 sopra per il gruppo target Iscriviti con il percorso /signup*. Dopo aver salvato le regole, avremo due regole:

Verifica della configurazione...

Per verificare se tutto funziona come previsto, apri un browser Web e incolla il DNS del bilanciatore del carico e aggiungilo con:

1) Percorso Registrazione del gruppo target: /signup

2) Percorso Accesso del gruppo target: /signin

Conclusione

Congratulazioni, abbiamo finalmente configurato uno scenario funzionante per il routing basato sul percorso su AWS Application Load Balancer.