Ricerca nel sito web

Come configurare il routing basato su host su 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 su host
  7. Registrazione del dominio in Route 53
  8. Verifica della configurazione…
  9. Conclusione

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. 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 da più dispositivi virtuali e questi dispositivi virtuali multipli possono essere scalati verso l'alto o verso il basso secondo la 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 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 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 apache Httpd installato su entrambe. Su un server abbiamo una directory di accesso e un file index.html al suo interno con i contenuti: \Benvenuto utente? Accedi per procedere...

Su un altro server abbiamo una directory 'signup' e un file index.html al suo interno 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:

  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 quella predefinita selezionata.(HTTP1)

Nelle impostazioni Controlli di integrità:

Protocollo di controllo dello stato: HTTP

Percorso di controllo dello stato: Percorso che desideri utilizzare (/signin nel nostro caso)

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 3. 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.

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:

Passaggio 6. I passaggi facoltativi possono essere saltati. Ora esamina il riepilogo e premi il pulsante Crea bilanciatore del carico:

Aggiunta di regole di inoltro basate su host

Passaggio 1. Ora vai di nuovo alla pagina Load Balancer e trova qui il tuo bilanciamento del carico di destinazione:

Passaggio 2. 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 3. Fare clic su Visualizza/Modifica regole nella colonna Regole, quindi fare clic sul simbolo + seguito da Inserisci regola:

Passo 4. Nella colonna IF(all match), fai clic sulla freccia del menu a discesa + Aggiungi condizione e seleziona Host come tipo di regola e inserisci il nome host o il 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 del menu a discesa +Aggiungi azione e seleziona Inoltra a come azione. Qui seleziona il gruppo target Accesso.
Ripeti i passaggi 2 e 3 precedenti 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/i domini per il routing basato su host su Internet, dobbiamo aggiungere il nome DNS delle corrispondenti istanze EC2 con il loro nome host/nome di dominio all'interno di Route 53.

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

Dominio: sottodominio corrispondente alla tua zona ospitata.

Tipo di record: selezionare un tipo qui.

Traffico di valore/instradamento verso:

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

Il record sopra apparirà ora come mostrato qui:

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) Nome host per il target Registrazione.

2) Nome host per destinazione Accesso.

Conclusione

Congratulazioni, abbiamo finalmente configurato uno scenario funzionante per il routing basato su host su AWS application load balancer.