arrow_back

Configura un bilanciatore del carico delle applicazioni con scalabilità automatica (AWS)

Accedi Partecipa
Accedi a oltre 700 lab e corsi

Configura un bilanciatore del carico delle applicazioni con scalabilità automatica (AWS)

Lab 2 ore universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

In qualità di Cloud Engineer, il tuo obiettivo principale è creare sistemi a tolleranza di errore, affidabili, ad alta affidabilità ed economicamente convenienti nel cloud. Vuoi progettare soluzioni a scalabilità automatica in grado di rispondere ai picchi della domanda. Ti assicuri che l'architettura progettata non preveda l'overprovisioning e aiuti la tua organizzazione a ottimizzare i costi. In generale, quando completi i progetti, prendi in considerazione i seguenti aspetti:

  • Come puoi aggiungere l'alta affidabilità (HA) ai tuoi workload?
  • Come puoi allocare dinamicamente le risorse per soddisfare i mutevoli requisiti di capacità?
  • Come puoi distribuire il traffico tra diverse macchine virtuali (VM)?

In AWS, hai creato piani di scalabilità che automatizzano il modo in cui gruppi di diverse risorse Elastic Compute Cloud (EC2) rispondono ai cambiamenti della domanda. A tal fine, hai utilizzato i seguenti strumenti:

  • Elastic Load Balancer (ELB) per distribuire il traffico su più destinazioni in più zone di disponibilità ed eseguire regolarmente controlli di integrità
  • Immagini Amazon Machine Images (AMI) personalizzate che contengono il sistema operativo delle tue istanze EC2 insieme a diverse configurazioni e applicazioni necessarie per le tue operazioni e che possono essere utilizzate per avviare le VM senza installare manualmente tutti i servizi necessari
  • Modelli di lancio EC2 per definire i parametri necessari per avviare le istanze EC2 nei gruppi di scalabilità automatica, ad esempio l'ID AMI, il tipo di istanza, il gruppo di sicurezza e i dati utente
  • Gruppi di scalabilità automatica per aumentare e diminuire in modo dinamico la capacità dei tuoi target di soddisfare la domanda in base alle tue policy di scalabilità personali, nonché per sostituire le istanze in stato non integro e ottimizzare i costi

Diagramma di rete

Ora esplorerai diversi servizi all'interno di Google Cloud che ti aiuteranno a creare una soluzione scalabile e ad alta affidabilità.

Panoramica

Il bilanciamento del carico delle applicazioni (HTTP/HTTPS) è implementato sul perimetro della rete Google, nei punti di presenza (POP) Google in tutto il mondo. Il traffico utente indirizzato a un bilanciatore del carico delle applicazioni (HTTP/HTTPS) entra attraverso il POP più vicino all'utente. Quindi, il carico viene bilanciato sulla rete Google globale e indirizzato verso il backend con capacità disponibile sufficiente più vicino.

In questo lab configurerai un bilanciatore del carico delle applicazioni (HTTP) come mostrato nel diagramma di seguito. Successivamente, sottoporrai il bilanciatore del carico a uno stress test per dimostrare il bilanciamento del carico e la scalabilità automatica a livello globale.

Diagramma di rete

Obiettivi

In questo lab imparerai a:

  • Creare una regola firewall per i controlli di integrità
  • Creare una configurazione NAT utilizzando il router Cloud
  • Creare un'immagine personalizzata per un server web
  • Creare un modello di istanza basato sull'immagine personalizzata
  • Creare due gruppi di istanze gestite
  • Configurare un bilanciatore del carico delle applicazioni (HTTP) con IPv4 e IPv6
  • Eseguire lo stress test di un bilanciatore del carico delle applicazioni (HTTP)

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  1. Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Il pulsante Apri console Google Cloud
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).

    Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.

    Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.

    Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
  3. Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.

    {{{user_0.username | "Username"}}}

    Puoi trovare il Nome utente anche nel riquadro Dettagli lab.

  4. Fai clic su Avanti.

  5. Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.

    {{{user_0.password | "Password"}}}

    Puoi trovare la Password anche nel riquadro Dettagli lab.

  6. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  7. Fai clic nelle pagine successive:

    • Accetta i termini e le condizioni.
    • Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
    • Non registrarti per le prove gratuite.

Dopo qualche istante, la console Google Cloud si apre in questa scheda.

Nota: per visualizzare un menu con un elenco di prodotti e servizi Google Cloud, fai clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

Attività 1: configura una regola firewall per il controllo di integrità

In questa attività configurerai una regola firewall per consentire il traffico del controllo di integrità alle tue istanze.

I controlli di integrità determinano quali istanze di un bilanciatore del carico delle applicazioni (HTTP) possono ricevere nuove connessioni. I probe di controllo di integrità che verificano le tue istanze con bilanciamento del carico provengono da indirizzi inclusi negli intervalli 130.211.0.0/22 e 35.191.0.0/16. Le regole firewall devono consentire queste connessioni.

Crea la regola per il controllo di integrità

Crea una regola firewall per consentire i controlli di integrità.

  1. Nel menu di navigazione (Icona menu di navigazione) della console Cloud, fai clic su Rete VPC > Firewall.
    Osserva le regole firewall ICMP, allow-internal, RDP ed SSH esistenti.

    Ogni progetto di Google Cloud viene avviato con la rete predefinita e queste regole firewall.

  2. Fai clic su Crea regola firewall.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome fw-allow-health-checks
    Rete predefinita
    Destinazioni Tag di destinazione specificati
    Tag di destinazione allow-health-checks
    Filtro di origine Intervalli IPv4
    Intervalli IPv4 di origine 130.211.0.0/22 e 35.191.0.0/16
    Protocolli e porte Protocolli e porte specificati
Nota: assicurati di includere /22 e /16 negli intervalli IP di origine.
  1. Seleziona tcp e specifica la porta 80.
  2. Fai clic su Crea.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Configura la regola firewall per i controlli di integrità

Attività 2: crea una configurazione NAT utilizzando il router Cloud

In questa attività creerai un'istanza del router Cloud e configurerai un gateway Cloud NAT per abilitare la connettività internet in uscita per le tue istanze VM.

Le istanze di backend VM di Google Cloud che hai configurato nell'attività 3 non verranno configurate con indirizzi IP esterni.

Puoi invece configurare il servizio Cloud NAT per consentire a queste istanze VM di inviare il traffico in uscita solo tramite Cloud NAT e ricevere traffico in entrata attraverso il bilanciatore del carico.

Crea l'istanza del router Cloud

  1. Nella barra del titolo della console Google Cloud, digita Servizi di rete nel campo di ricerca, quindi fai clic su Servizi di rete nella sezione Strumenti di gestione della rete.

  2. Nella pagina Servizio di rete, fai clic su Blocca accanto a Servizi di rete.

  3. Fai clic su Cloud NAT.

  4. Fai clic su Inizia per configurare un gateway NAT.

  5. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome gateway nat-config
    Rete predefinita
    Regione
  6. Fai clic su Router Cloud e seleziona Crea nuovo router.

  7. Per Nome, digita nat-router-us1.

  8. Fai clic su Crea.

  9. In Crea un gateway NAT, fai clic su Crea.

Nota: attendi che lo stato del gateway NAT diventi In esecuzione prima di passare all'attività successiva.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea una configurazione NAT utilizzando il router Cloud

Attività 3: crea un'immagine personalizzata per un server web

In questa attività creerai un'immagine personalizzata del server web per il backend del bilanciatore del carico.

Crea una VM

  1. Nel menu di navigazione (Icona menu di navigazione) della console Cloud, fai clic su Compute Engine > Istanze VM.

  2. Fai clic su Crea istanza.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome webserver
    Regione
    Zona
  4. Fai clic su Sistema operativo e spazio di archiviazione e poi su Cambia.

  5. Fai clic su Mostra configurazione avanzata.

  6. Come Regola di eliminazione, seleziona Conserva il disco di avvio.

  7. Fai clic su Seleziona.

  8. Fai clic su Networking.

    • In Tag di rete, digita allow-health-checks.
    • In Interfacce di rete, fai clic su valore predefinito.
    • Nel menu a discesa Indirizzo IPv4 esterno, seleziona Nessuno.
  9. Fai clic su Fine.

  10. Fai clic su Crea.

Personalizza la VM

  1. Fai clic su SSH in corrispondenza di webserver per avviare un terminale e stabilire una connessione.
  2. Se ti viene richiesto di consentire a SSH nel browser di connettersi alle VM, fai clic su Autorizza.
  3. Per installare Apache2, esegui questi comandi:
sudo apt-get update sudo apt-get install -y apache2
  1. Per avviare il server Apache, esegui il comando seguente:
sudo service apache2 start
  1. Per verificare la pagina predefinita per il server Apache2, esegui il comando seguente:
curl localhost

Dovrebbe essere visualizzata la pagina predefinita per il server Apache2.

Imposta il servizio Apache in modo che venga eseguito all'avvio

L'installazione del software è stata completata correttamente. Tuttavia, quando si crea una nuova VM utilizzando questa immagine, la VM appena avviata non ha il server web Apache in esecuzione. Utilizza il comando seguente per impostare il servizio Apache in modo che venga eseguito automaticamente all'avvio, quindi testalo per assicurarti che funzioni.

  1. Nel terminale SSH del server web, imposta il servizio in modo che venga eseguito all'avvio:
sudo update-rc.d apache2 enable
  1. Nella console Cloud, seleziona webserver, quindi fai clic su Altre azioni moreoptions.png.

  2. Fai clic su Reimposta.

  3. Nella finestra di dialogo di conferma, fai clic su Reimposta.

Nota: il ripristino verrà arrestato e la macchina riavviata. Gli IP e il disco di avvio permanente vengono conservati, ma la memoria viene cancellata. Pertanto, se il servizio Apache è disponibile dopo il reset, il comando update-rc ha avuto esito positivo.
  1. Controlla il server connettendoti tramite SSH alla VM e inserendo il seguente comando:
sudo service apache2 status Nota: se viene visualizzato il popup Connessione tramite Cloud Identity-Aware Proxy non riuscita, fai clic su Riprova.
  1. A seguire dovrebbe essere visualizzato il messaggio Started The Apache HTTP Server.

Prepara il disco per creare un'immagine personalizzata

Verifica che il disco di avvio non venga eliminato quando viene eliminata l'istanza.

  1. Nella pagina delle istanze VM, fai clic su webserver per visualizzare i dettagli dell'istanza VM.
  2. Per Archiviazione > Disco di avvio, verifica che l'opzione Quando si elimina un'istanza sia impostata su Conserva disco.
  3. Torna alla pagina delle istanze VM, seleziona webserver, quindi fai clic su Altre azioni (Icona Altre azioni).
  4. Fai clic su Elimina.
  5. Nella finestra di dialogo di conferma, fai clic su Elimina.
  6. Nel riquadro a sinistra, fai clic su Dischi e verifica che il disco webserver esista.

Crea l'immagine personalizzata

  1. Nel riquadro a sinistra, fai clic su Immagini.

  2. Fai clic su Crea immagine.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome mywebserver
    Origine Disco
    Disco di origine webserver
  4. Fai clic su Crea.

Nota: hai creato un'immagine personalizzata da cui possono essere avviati più server web identici. A questo punto, puoi eliminare il disco webserver.

Nel passaggio successivo usa l'immagine per definire un modello di istanza utilizzabile nei gruppi di istanze gestite.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un'immagine personalizzata per un server web

Attività 4: configura un modello di istanza e crea i gruppi di istanze

In questa attività configurerai i modelli di istanza e creerai gruppi di istanze gestite per il server web con bilanciamento del carico.

Un gruppo di istanze gestite utilizza un modello di istanza per creare un gruppo di istanze identiche, che puoi utilizzare per creare i backend del bilanciatore del carico delle applicazioni (HTTP).

Configura il modello di istanza

Un modello di istanza è una risorsa API che puoi utilizzare per creare istanze di macchine virtuali e gruppi di istanze gestite. I modelli di istanza definiscono il tipo di macchina, l'immagine del disco di avvio, la subnet, le etichette e altre proprietà dell'istanza.

  1. Nel menu di navigazione (Icona menu di navigazione) della console Cloud, fai clic su Compute Engine > Modelli di istanza.
  2. Fai clic su Crea modello di istanza.
  3. In corrispondenza di Nome, digita mywebserver-template.
  4. In Località, seleziona Globale
  5. Per Serie, seleziona E2.
  6. Per Tipo di macchina > Con core condiviso, seleziona e2-micro (2 vCPU, 1 core, 1 GB di memoria).
  7. Per Disco di avvio, fai clic su Cambia.
  8. Fai clic su Immagini personalizzate, per Progetto di origine per le immagini assicurati che sia selezionato l'ID del progetto di Qwiklabs.
  9. Per Immagine, seleziona mywebserver.
  10. Fai clic su Seleziona.
  11. Fai clic su Opzioni avanzate.
  12. Fai clic su Networking.
    • In Tag di rete, digita allow-health-checks.
    • In Interfacce di rete, fai clic su valore predefinito.
    • Nel menu a discesa Indirizzo IPv4 esterno, seleziona Nessuno.
    • Fai clic su Fine.
  13. Fai clic su Crea.

Crea il controllo dell'integrità per i gruppi di istanze gestite

  1. Nel menu di navigazione, fai clic su Compute Engine > Controlli di integrità.

  2. Fai clic su Crea controllo di integrità.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (seleziona l'opzione come specificato)
    Nome http-health-check
    Protocollo TCP
    Porta 80
  4. Fai clic su Crea.

I controlli di integrità dei gruppi di istanze gestite segnalano in modo proattivo l'eliminazione e la creazione di nuove istanze il cui stato diviene non integro.

Crea i gruppi di istanze gestite

Crea un gruppo di istanze gestite in e uno in .

  1. Nel menu di navigazione, fai clic su Compute Engine > Gruppi di istanze.

  2. Fai clic su Crea gruppo di istanze.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome us-1-mig
    Modello di istanza mywebserver-template
    Località Più zone
    Regione
  4. Per Scalabilità automatica, inserisci come numero minimo di istanze 1 e come numero massimo di istanze 2.

  5. Per Indicatori di scalabilità automatica, fai clic su Utilizzo CPU.

  6. Per Tipo di indicatore, seleziona Utilizzo bilanciamento del carico HTTP.

  7. Imposta l'utilizzo del bilanciamento del carico HTTP di destinazione su 80.

  8. Fai clic su Fine.

  9. Fai clic su Periodo di inizializzazione e impostalo su 60 secondi.

Nota: i gruppi di istanze gestite offrono funzionalità di scalabilità automatica che permettono di aggiungere o rimuovere automaticamente le istanze da un gruppo di istanze gestite in base agli incrementi o alle riduzioni del carico. La scalabilità automatica consente alle applicazioni di gestire più agevolmente l'aumento del traffico e riduce i costi quando il fabbisogno di risorse è inferiore. È sufficiente definire le policy di scalabilità automatica e il gestore della scalabilità automatica eseguirà il ridimensionamento in base al carico misurato.
  1. In Riparazione automatica, per Controllo di integrità digita http-health-check.

  2. Seleziona http-health-check (TCP).

  3. In Ritardo iniziale, digita 60. Questo è il tempo che il gruppo di istanze attende dopo l'inizializzazione dell'avvio di una VM, prima di eseguire un controllo di integrità. Per evitare di attendere 5 minuti durante il lab, imposta il ritardo su 1 minuto.

  4. Fai clic su Crea.

  5. Fai clic su Conferma nella finestra di dialogo.

Nota: attendi alcuni minuti che venga creato il gruppo di istanze prima di ripetere la stessa procedura per asia-1-mig in : fai clic su Aggiorna fino a quando lo stato non cambia in In trasformazione. Nota: se, dopo la creazione, viene visualizzata una finestra di avviso o compare un punto esclamativo rosso a sinistra del gruppo di istanze con il messaggio Non esiste un servizio di backend collegato al gruppo di istanze, ignoralo. Configurerai il bilanciatore del carico con un servizio di backend nella sezione successiva del lab.
  1. Fai clic su Crea gruppo di istanze.

  2. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome notus-1-mig
    Modello di istanza mywebserver-template
    Località Più zone
    Regione
    Scalabilità automatica > Numero minimo di istanze 1
    Scalabilità automatica > Numero massimo di istanze 2
    Indicatori di scalabilità automatica > Tipo di indicatore Utilizzo bilanciamento del carico HTTP
    Utilizzo bilanciamento del carico HTTP target 80
    Periodo di inizializzazione 60
  3. In Controllo di integrità, seleziona http-health-check (TCP).

  4. In Ritardo iniziale, digita 60.

  5. Fai clic su Crea.

  6. Fai clic su Conferma nella finestra di dialogo.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Configura un modello di istanza e crea i gruppi di istanze.

Verifica i backend

Verifica che le istanze VM vengano create in entrambe le regioni.

  • Nel menu di navigazione, fai clic su Compute Engine > Istanze VM.
    Nota le istanze che iniziano con us-1-mig e notus-1-mig. Queste istanze fanno parte dei gruppi di istanze gestite.

Attività 5: configura il bilanciatore del carico delle applicazioni (HTTP)

In questa attività configurerai il bilanciatore del carico delle applicazioni (HTTP) per bilanciare il traffico tra i due backend (us-1-mig in e notus-1-mig in ) come illustrato in questo diagramma di rete:

Diagramma di rete

Avvia la configurazione

  1. Nel menu di navigazione, fai clic su Servizi di rete > Bilanciamento del carico.
  2. Fai clic su Crea bilanciatore del carico.
  3. In Tipo di bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni (HTTP/HTTPS) e fai clic su Avanti.
  4. In Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
  5. In Deployment globale o in una regione singola, seleziona Ideale per carichi di lavoro globali e fai clic su Avanti.
  6. In Generazione del bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni esterno globale e fai clic su Avanti.
  7. Per Crea bilanciatore del carico, fai clic su Configura.
  8. In Nome bilanciatore del carico, digita http-lb.

Configura il frontend

Le regole relative a host e percorso determinano come sarà indirizzato il traffico. Ad esempio, potresti indirizzare il traffico video a un backend e quello statico a un backend diverso. Tuttavia, non configurerai le regole relative a host e percorso in questo lab.

  1. Fai clic su Configurazione frontend.

  2. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Protocollo HTTP
    Versione IP IPv4
    Indirizzo IP Temporaneo
    Porta 80
  3. Fai clic su Fine.

  4. Fai clic su Aggiungi IP e porta frontend.

  5. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Protocollo HTTP
    Versione IP IPv6
    Indirizzo IP Allocazione automatica
    Porta 80
  6. Fai clic su Fine.

Il bilanciamento del carico delle applicazioni (HTTP/HTTPS) supporta sia indirizzi IPv4 sia indirizzi IPv6 per il traffico client. Le richieste client da indirizzi IPv6 vengono terminate al livello del bilanciamento del carico globale e, successivamente, vengono inviate tramite proxy ai tuoi backend su IPv4.

Configura il backend

I servizi di backend indirizzano il traffico in ingresso a uno o più backend collegati. Ciascun backend è composto da un gruppo di istanze e da metadati aggiuntivi relativi alla capacità di distribuzione.

  1. Fai clic su Configurazione backend.

  2. Fai clic su Servizi e bucket di backend > Crea un servizio di backend.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (seleziona l'opzione come specificato)
    Nome http-backend
    Tipo di backend Gruppo di istanze
    Gruppo di istanze us-1-mig
    Numeri di porta 80
    Modalità di bilanciamento Frequenza
    Massimo RPS 50
    Capacità 100
Nota: con questa configurazione, il bilanciatore del carico tenta di evitare il superamento delle 50 richieste al secondo (RPS) per ciascuna istanza di us-1-mig.
  1. Fai clic su Fine.

  2. Fai clic su Aggiungi backend.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (seleziona l'opzione come specificato)
    Gruppo di istanze notus-1-mig
    Numeri di porta 80
    Modalità di bilanciamento Utilizzo
    Utilizzo backend massimo 80
    Capacità 100
Nota: con questa configurazione, il bilanciatore del carico tenta di contenere entro l'80% l'utilizzo della CPU per ciascuna istanza di notus-1-mig.
  1. Fai clic su Fine.
  2. In Controllo di integrità, seleziona http-health-check.
  3. Fai clic sulla casella di controllo Abilita il logging.
  4. Imposta Frequenza di campionamento su 1.
  5. Fai clic su Crea.
  6. Fai clic su Ok.

Esamina e crea il bilanciatore del carico HTTP

  1. Fai clic su Esamina e finalizza.
  2. Esamina i Servizi di backend e il Frontend.
  3. Fai clic su Crea. Attendi che la creazione del bilanciatore del carico sia completa.
  4. Fai clic sul nome del bilanciatore del carico (http-lb).
  5. Prendi nota degli indirizzi IPv4 e IPv6 del bilanciatore del carico, che utilizzerai nella prossima attività. Ci riferiremo a questi indirizzi rispettivamente come [LB_IP_v4] e [LB_IP_v6].
Nota: l'indirizzo IPv6 è quello in formato esadecimale.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Configura il bilanciatore del carico delle applicazioni (HTTP)

Attività 6: esegui lo stress test del bilanciatore del carico delle applicazioni (HTTP)

In questa attività eseguirai uno stress test del bilanciatore del carico delle applicazioni (HTTP) per verificare che il traffico venga inoltrato al servizio di backend.

Accedi al bilanciatore del carico HTTP

  1. Nella barra del titolo della console Google Cloud, fai clic su Attiva Cloud Shell (Icona Attiva Cloud Shell).
  2. Se richiesto, fai clic su Continua.
  3. Per verificare lo stato del bilanciatore del carico, esegui questo comando sostituendo [LB_IP_v4] con l'indirizzo IPv4 del bilanciatore del carico:
LB_IP=[LB_IP_v4] while [ -z "$RESULT" ] ; do echo "Waiting for Load Balancer"; sleep 5; RESULT=$(curl -m1 -s $LB_IP | grep Apache); done Nota: quando il bilanciatore del carico è pronto, il comando viene chiuso.
  1. Apri una nuova scheda nel browser e vai all'indirizzo http://[LB_IP_v4]. Accertati di sostituire [LB_IP_v4] con l'indirizzo IPv4 del bilanciatore del carico.

Esegui lo stress test del bilanciatore del carico delle applicazioni (HTTP)

Crea una nuova VM per simulare un carico sul bilanciatore del carico delle applicazioni (HTTP). Quindi, determina se il traffico viene bilanciato su entrambi i backend in condizioni di carico elevato.

  1. Nel menu di navigazione (Icona menu di navigazione) della console Cloud, fai clic su Compute Engine > Istanze VM.

  2. Fai clic su Crea istanza.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome stress-test
    Regione Un'altra regione, ma più vicina a
    Zona Una zona della regione
  4. In corrispondenza di Serie, seleziona E2.

  5. Per Tipo di macchina, seleziona e2-micro (2 vCPU, 1 core, 1 GB di memoria).

Nota: poiché una regione in US è più vicina a di notus-1, il traffico dovrebbe essere inoltrato solo a us-1-mig (a meno che il carico non sia troppo elevato).
  1. Fai clic su Sistema operativo e spazio di archiviazione e poi su Cambia.
  2. Fai clic su Immagini personalizzate.
  3. Fai clic su Immagini personalizzate, per Progetto di origine per le immagini assicurati che sia selezionato l'ID del progetto di Qwiklabs.
  4. Per Immagine, seleziona mywebserver.
  5. Fai clic su Seleziona.
  6. Fai clic su Crea.
  7. Attendi la creazione dell'istanza stress-test.
  8. Per stress-test, fai clic su SSH per avviare un terminale e stabilire una connessione.
  9. Se ti viene richiesto di consentire a SSH nel browser di connettersi alle VM, fai clic su Autorizza.
  10. Per creare una variabile di ambiente per l'indirizzo IP del bilanciatore del carico, esegui questo comando:
export LB_IP=<Enter your [LB_IP_v4] here>
  1. Verificalo con il comando echo:
echo $LB_IP
  1. Per inserire un carico sul bilanciatore del carico, esegui il comando seguente:
ab -n 500000 -c 1000 http://$LB_IP/

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Esegui lo stress test del bilanciatore del carico delle applicazioni (HTTP)

  1. Nel Menu di navigazione (Icona menu di navigazione) della console Cloud, fai clic su Servizi di rete > Bilanciamento del carico.
  2. Fai clic su http-lb.
  3. Fai clic su Monitoraggio.
  4. In Ubicazione frontend (Traffico totale in entrata), monitora per un paio di minuti il traffico tra il Nord America e i due backend.
Nota: all'inizio, il traffico dovrebbe essere indirizzato soltanto verso us-1-mig, ma appena le richieste al secondo aumentano, il traffico verrà indirizzato anche verso notus-1-mig. Questo dimostra che, per impostazione predefinita, il traffico viene inoltrato al backend più vicino, ma non appena il carico diventa eccessivo, il traffico può essere distribuito tra i due backend.
  1. Nel menu di navigazione (Icona menu di navigazione) della console Cloud, fai clic su Compute Engine > Gruppi di istanze.
  2. Fai clic su us-1-mig per aprire la pagina del gruppo di istanze.
  3. Fai clic su Monitoraggio per monitorare il numero di istanze e la capacità di bilanciamento del carico.
  4. Ripeti la stessa operazione per il gruppo di istanze notus-1-mig.
Nota: è possibile che i backend scalino per adattarsi alle variazioni del carico.

Attività 7: riepilogo

In questo lab hai configurato un bilanciatore del carico delle applicazioni (HTTP) con backend in e . Hai quindi eseguito lo stress test del bilanciatore del carico delle applicazioni con una VM per dimostrare il bilanciamento del carico e la scalabilità automatica a livello globale.

In AWS, un pattern comune per un'architettura ad alta affidabilità include quanto segue:

  • Gruppi di scalabilità automatica avviano nuove istanze Elastic Compute Cloud (EC2), basate su controlli di integrità e policy di scalabilità, con scale in/out in base alle esigenze, e sostituiscono le istanze in stato non integro
  • Amazon Machine Images (AMI) e modelli di avvio personalizzati che definiscono i parametri delle istanze EC2 avviate all'interno di un gruppo di scalabilità automatica, ad esempio:
  • Sistema operativo
  • App preconfigurate
  • Tipo di istanza
  • Dati utente
  • Tipo di archiviazione montata
  • Sicurezza
  • Elastic Load Balancer (ELB) in grado di distribuire il traffico tra gruppi di destinazione in zone di disponibilità diverse.

In Google Cloud puoi utilizzare i seguenti servizi per ottenere l'alta affidabilità nei tuoi workload:

  • Immagini personalizzate del sistema operativo (OS) per Compute Engine: si tratta di immagini riutilizzabili del sistema operativo, create dal disco di avvio della VM o da altre immagini e preconfigurate con le app necessarie alla tua organizzazione. Queste immagini del sistema operativo possono essere utilizzate per avviare nuove istanze.
  • Gruppo di istanze gestite: si tratta di una raccolta di VM che puoi gestire come singola entità e che può adattarsi automaticamente alla domanda aumentando il numero di istanze nel gruppo. Quando le risorse non sono più necessarie, i gruppi di istanze gestite con scalabilità automatica possono eliminare le istanze aggiuntive per ridurre i costi. Un'altra funzionalità dei gruppi di istanze gestite è la possibilità di eseguire controlli di integrità che segnalano in modo proattivo la sostituzione delle istanze in stato non integro.
  • Bilanciatore del carico Google Cloud: distribuisce il traffico in entrata su più istanze, riducendo il rischio di problemi di prestazioni e migliorando la disponibilità. In Google Cloud puoi trovare due principali tipi diversi di bilanciatori del carico:
  • Interno: distribuzione del traffico alle istanze all'interno di Google Cloud
  • Esterno: distribuzione del traffico proveniente dalla rete internet pubblica alla tua rete Virtual Private Cloud (VPC) di Google Cloud

Inoltre, puoi scegliere tra bilanciamento del carico a livello di regione o, nel caso di un bilanciatore del carico esterno, globale. Un altro aspetto da considerare quando si seleziona un bilanciatore del carico appropriato è il tipo di traffico, ad esempio TCP/UDP, HTTP e HTTPS o SSL.

Terminare il lab

Una volta completato il lab, fai clic su Termina lab. Qwiklabs rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

Il numero di stelle corrisponde alle seguenti valutazioni:

  • 1 stella = molto insoddisfatto
  • 2 stelle = insoddisfatto
  • 3 stelle = esperienza neutra
  • 4 stelle = soddisfatto
  • 5 stelle = molto soddisfatto

Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

Questi contenuti non sono al momento disponibili

Ti invieremo una notifica via email quando sarà disponibile

Bene.

Ti contatteremo via email non appena sarà disponibile

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.