GSP155

Panoramica
In questo lab pratico imparerai a configurare un bilanciatore del carico delle applicazioni di livello 7 (L7) sulle macchine virtuali (VM) di Compute Engine. I bilanciatori del carico di livello 7 possono comprendere i protocolli HTTP(S), ciò consente loro di prendere decisioni di routing in base a parametri come URL, intestazioni, cookie e contenuti della richiesta. In questo modo è possibile migliorare le prestazioni e la reattività dell'applicazione.
Esistono diversi modi per bilanciare il carico su Google Cloud.
Questo lab illustra il processo per configurare i seguenti bilanciatori del carico:
Ti consigliamo di digitare direttamente i comandi, perché può aiutarti ad acquisire i concetti fondamentali.
Molti lab includono blocchi di codice che contengono i comandi da inserire.
Durante il lab puoi semplicemente copiare e incollare i comandi dai blocchi di codice nelle destinazioni appropriate.
Obiettivi
In questo lab imparerai a:
- Configurare la regione e la zona predefinite per le risorse.
- Creare un bilanciatore del carico delle applicazioni.
- Verificare il traffico verso le istanze.
Configurazione e requisiti
Prima di fare clic sul pulsante Avvia lab
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.
Con questo lab pratico avrai la possibilità di completare le attività in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.
Per completare il lab, avrai bisogno di:
- Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita conflitti tra il tuo account personale e l'account studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'account.
Come avviare il lab e accedere alla console Google Cloud
-
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si aprirà una finestra di dialogo per permetterti di selezionare il metodo di pagamento.
A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Il pulsante Apri la console Google Cloud
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
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.
-
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.
-
Fai clic su Avanti.
-
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.
-
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.
-
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 accedere ai prodotti e ai servizi Google Cloud, fai clic sul menu di navigazione o digita il nome del servizio o del prodotto nel campo Cerca.
Attiva Cloud Shell
Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.
-
Fai clic su Attiva Cloud Shell
nella parte superiore della console Google Cloud.
-
Fai clic nelle seguenti finestre:
- Continua nella finestra delle informazioni di Cloud Shell.
- Autorizza Cloud Shell a utilizzare le tue credenziali per effettuare chiamate API Google Cloud.
Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo Project_ID, . L'output contiene una riga che dichiara il Project_ID per questa sessione:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.
- (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
- Fai clic su Autorizza.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: per la documentazione completa di gcloud
, in Google Cloud, fai riferimento alla guida Panoramica dell'interfaccia a riga di comando gcloud.
Attività 1: imposta la regione e la zona predefinite per tutte le risorse
-
Imposta la regione predefinita:
gcloud config set compute/region {{{project_0.default_region | Region}}}
-
In Cloud Shell imposta la zona predefinita:
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
Scopri di più sulla scelta delle zone e delle regioni nella documentazione Regioni e zone di Compute Engine.
Attività 2: crea più istanze del server web
Per questo scenario di bilanciamento del carico, crea tre istanze VM di Compute Engine e installa Apache su ciascuna. Quindi, aggiungi una regola firewall che consenta al traffico HTTP di raggiungere le istanze.
Il codice fornito imposta la zona su .
L'impostazione del campo tag
consente di fare riferimento a tutte queste istanze contemporaneamente, come con una regola firewall.
Questi comandi installano anche Apache su ogni istanza e assegnano a ciascuna una home page univoca.
-
Crea una macchina virtuale www1
nella tua zona predefinita utilizzando il seguente codice:
gcloud compute instances create www1 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Web Server: www1
" | tee /var/www/html/index.html'
-
Crea una macchina virtuale www2
nella tua zona predefinita utilizzando il seguente codice:
gcloud compute instances create www2 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Web Server: www2
" | tee /var/www/html/index.html'
-
Crea una macchina virtuale www3
nella tua zona predefinita.
gcloud compute instances create www3 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Web Server: www3
" | tee /var/www/html/index.html'
-
Crea una regola firewall per consentire il traffico esterno alle istanze VM:
gcloud compute firewall-rules create www-firewall-network-lb \
--target-tags network-lb-tag --allow tcp:80
Ora devi ottenere gli indirizzi IP esterni delle istanze e verificare che siano in esecuzione.
-
Esegui il comando seguente per elencare le istanze. I relativi indirizzi IP saranno visualizzati nella colonna EXTERNAL_IP
:
gcloud compute instances list
-
Verifica che ogni istanza sia in esecuzione con curl
, sostituendo [IP_ADDRESS] con l'indirizzo IP esterno di ciascuna delle VM:
curl http://[IP_ADDRESS]
Fai clic su Controlla i miei progressi per verificare di aver creato un gruppo di server web.
Crea più istanze del server web
Attività 3: crea un bilanciatore del carico delle applicazioni
Il bilanciamento del carico delle applicazioni è implementato in Google Front End (GFE).
I GFE vengono distribuiti a livello globale e operano insieme utilizzando la rete globale e il control plane di Google.
Puoi configurare le regole URL per instradare alcuni URL a un set di istanze e altri URL ad altre istanze.
Le richieste vengono sempre instradate al gruppo di istanze più vicino all'utente, purché questo gruppo abbia una capacità sufficiente e sia appropriato per la richiesta. Se il gruppo più vicino non dispone di capacità sufficiente, la richiesta viene inviata al gruppo più vicino che ne dispone.
Per configurare un bilanciatore del carico con un backend di Compute Engine, le VM devono trovarsi in un gruppo di istanze.
Il gruppo di istanze gestite fornisce VM che utilizzano i server di backend di un bilanciatore del carico delle applicazioni esterno.
Per questo lab, i backend gestiscono i propri nomi host.
-
Innanzitutto, crea il template del bilanciatore del carico:
gcloud compute instance-templates create lb-backend-template \
--region={{{project_0.default_region | Region}}} \
--network=default \
--subnet=default \
--tags=allow-health-check \
--machine-type=e2-medium \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
systemctl restart apache2'
I gruppi di istanze gestite (MIG) ti consentono di utilizzare le app su più VM identiche.
Puoi rendere i tuoi workload scalabili e ad alta affidabilità sfruttando i servizi MIG automatizzati, tra cui: scalabilità automatica, riparazione automatica, deployment regionale (più zone) e aggiornamento automatico.
-
Crea un gruppo di istanze gestite basato sul template:
gcloud compute instance-groups managed create lb-backend-group \
--template=lb-backend-template --size=2 --zone={{{project_0.default_zone | Zone}}}
-
Crea la regola firewall fw-allow-health-check
.
gcloud compute firewall-rules create fw-allow-health-check \
--network=default \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=allow-health-check \
--rules=tcp:80
Nota: la regola in entrata consente il traffico proveniente dai sistemi di controllo di integrità di Google Cloud (130.211.0.0/22
e 35.191.0.0/16
).
Questo lab utilizza il tag di destinazione allow-health-check
per identificare le VM.
-
Ora che le istanze sono operative, configura un indirizzo IP esterno statico e globale, che verrà utilizzato dai clienti per raggiungere il bilanciatore del carico:
gcloud compute addresses create lb-ipv4-1 \
--ip-version=IPV4 \
--global
Prendi nota dell'indirizzo IPv4 riservato:
gcloud compute addresses describe lb-ipv4-1 \
--format="get(address)" \
--global
Nota: salva questo indirizzo IP, poiché dovrai farvi riferimento in un secondo momento in questo lab.
-
Crea un controllo di integrità per il bilanciatore del carico (per assicurarti che il traffico venga inviato solo ai backend integri):
gcloud compute health-checks create http http-basic-check \
--port 80
-
Crea un servizio di backend:
gcloud compute backend-services create web-backend-service \
--protocol=HTTP \
--port-name=http \
--health-checks=http-basic-check \
--global
-
Aggiungi il tuo gruppo di istanze come backend del servizio di backend:
gcloud compute backend-services add-backend web-backend-service \
--instance-group=lb-backend-group \
--instance-group-zone={{{project_0.default_zone | Zone}}} \
--global
-
Crea una mappa URL per instradare le richieste in entrata al servizio di backend predefinito:
gcloud compute url-maps create web-map-http \
--default-service web-backend-service
Nota: la mappa URL è una risorsa di configurazione di Google Cloud utilizzata per instradare le richieste ai servizi di backend o ai bucket di backend.
Ad esempio, con un bilanciatore del carico delle applicazioni esterno, puoi utilizzare una singola mappa URL per instradare le richieste a destinazioni diverse in base alle regole configurate nella mappa URL:
- Le richieste per https://example.com/video vanno a un servizio di backend.
- Le richieste per https://example.com/audio vanno a un altro servizio di backend.
- Le richieste per https://example.com/images vanno a un bucket di backend Cloud Storage.
- Le richieste per qualsiasi altra combinazione di host e percorso vanno a un servizio di backend predefinito.
-
Crea un proxy HTTP di destinazione per indirizzare le richieste alla mappa URL:
gcloud compute target-http-proxies create http-lb-proxy \
--url-map web-map-http
-
Crea una regola di forwarding globale per indirizzare le richieste in entrata al proxy:
gcloud compute forwarding-rules create http-content-rule \
--address=lb-ipv4-1\
--global \
--target-http-proxy=http-lb-proxy \
--ports=80
Nota: una regola di forwarding e l'indirizzo IP corrispondente rappresentano la configurazione frontend di un bilanciatore del carico Google Cloud.
Per saperne di più sulla comprensione generale delle regole di forwarding, consulta la guida Panoramica delle regole di forwarding.
Fai clic su Controlla i miei progressi per verificare di aver creato un bilanciatore del carico delle applicazioni L7.
Crea un bilanciatore del carico delle applicazioni
Attività 4: verifica il traffico inviato alle istanze
-
Nella console Google Cloud, digita Bilanciamento del carico nel campo Cerca, quindi scegli Bilanciamento del carico dai risultati di ricerca.
-
Fai clic sul bilanciatore del carico che hai appena creato (web-map-http).
-
Nella sezione Backend, fai clic sul nome del backend e verifica che le VM siano in Stato integro. Nel caso in cui non lo siano, attendi qualche istante e prova a ricaricare la pagina.
-
Se le VM sono in stato integro, testa il bilanciatore del carico in un browser web, andando all'indirizzo http://IP_ADDRESS/
e sostituendo IP_ADDRESS
con l'indirizzo IP del bilanciatore del carico che hai copiato in precedenza.
Nota: l'operazione potrebbe richiedere dai tre ai cinque minuti. Se la connessione non va a buon fine, attendi un minuto, quindi ricarica il browser.
Il browser dovrebbe visualizzare una pagina con contenuti che mostrano il nome dell'istanza che ha pubblicato la pagina e la relativa zona (ad esempio, Page served from: lb-backend-group-xxxx
).
Fai clic su Controlla i miei progressi per verificare il traffico inviato alle istanze.
Verifica il bilanciatore del carico utilizzando un browser web
Complimenti!
In questo lab hai creato un bilanciatore del carico delle applicazioni e hai fatto pratica con l'utilizzo di modelli di istanza e gruppi di istanze gestite per inviare il traffico alle istanze del server web.
Prossimi passi/Scopri di più
Documentazione aggiuntiva sul bilanciatore del carico:
Google Cloud fornisce i meccanismi del controllo di integrità che determinano se le istanze di backend rispondono correttamente al traffico.
Formazione e certificazione Google Cloud
… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.
Ultimo aggiornamento del manuale: 18 luglio 2025
Ultimo test del lab: 18 luglio 2025
Copyright 2025 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.