Checkpoint
Configure HTTP and health check firewall rules
/ 25
Configure instance templates and instance group
/ 25
Configure the HTTP Load Balancer
/ 25
Blacklist the siege-vm
/ 25
Bilanciatore del carico HTTP con Cloud Armor
- GSP215
- Panoramica
- Configurazione e requisiti
- Attività 1: configura le regole firewall per HTTP e controllo di integrità
- Attività 2: configura i modelli di istanza e crea i gruppi di istanze
- Attività 3: configura il bilanciatore del carico HTTP
- Attività 4: verifica il bilanciatore del carico HTTP
- Attività 5: inserisci siege-vm nella lista bloccata
- Complimenti!
GSP215
Panoramica
Il bilanciamento del carico HTTP(S) di Google Cloud è 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 HTTP(S) entra nella rete Google attraverso il POP più vicino all'utente. Quindi, il carico viene bilanciato sulla rete Google globale e indirizzato verso il backend più vicino con capacità disponibile sufficiente.
Le liste IP bloccate/consentite di Cloud Armor consentono di limitare o consentire l'accesso al bilanciatore del carico HTTP(S) sul perimetro di Google Cloud, nel punto più vicino all'utente e a potenziale traffico dannoso. In questo modo è possibile impedire a utenti malintenzionati di utilizzare una quantità eccessiva di risorse o di penetrare nelle reti VPC (Virtual Private Cloud).
In questo lab configurerai un bilanciatore del carico HTTP con backend globali, come illustrato dal diagramma riportato di seguito. Successivamente, sottoporrai il bilanciatore di carico a uno stress test e inserirai l'IP dello stress test in una lista bloccata utilizzando Cloud Armor.
Obiettivi
In questo lab imparerai a eseguire le attività seguenti:
- Creare regole firewall per HTTP e controllo di integrità
- Configurare due modelli di istanza
- Creare due gruppi di istanze gestite
- Configurare un bilanciatore del carico HTTP con IPv4 e IPv6
- Eseguire lo stress test di un bilanciatore del carico HTTP
- Inserire un indirizzo IP in una lista bloccata per limitare l'accesso a un bilanciatore del carico HTTP
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 Avvia 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 prima persona, 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).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
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 apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Pulsante Apri console Google
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
Fai clic su Apri console Google. 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.
Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account. -
Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.
-
Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.
Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. 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.
Attività 1: configura le regole firewall per HTTP e controllo di integrità
Configura regole firewall per consentire il traffico HTTP nei backend e il traffico TCP proveniente dal controllo di integrità di Google Cloud.
Crea la regola firewall per HTTP
Crea una regola firewall per consentire il traffico HTTP verso i backend.
-
Nella console Cloud, vai a Menu di navigazione (
) > Rete VPC > Firewall.
-
Osserva le regole firewall ICMP, interno, RDP ed SSH esistenti.
Ogni progetto di Google Cloud viene avviato con la rete predefinita e queste regole firewall.
-
Fai clic su Crea regola firewall.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Nome default-allow-http Rete predefinita Destinazioni Tag di destinazione specificati Tag di destinazione http-server Filtro di origine Intervalli IPv4 Intervalli IPv4 di origine 0.0.0.0/0 Protocolli e porte Protocolli e porte specificati, quindi seleziona TCP e digita: 80
Assicurati di includere la porzione /0 nel campo Intervalli IPv4 di origine per specificare tutte le reti.
- Fai clic su Crea.
Crea le regole firewall per il controllo di integrità
I controlli di integrità determinano quali istanze di un bilanciatore del carico possono ricevere nuove connessioni. Per il bilanciamento del carico HTTP, i probe di controllo dell'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.
-
Sempre nella pagina Firewall, fai clic su Crea regola firewall.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Nome default-allow-health-check Rete predefinita Destinazioni Tag di destinazione specificati Tag di destinazione http-server Filtro di origine Intervalli IPv4 Intervalli IPv4 di origine 130.211.0.0/22
,35.191.0.0/16
Protocolli e porte Protocolli e porte specificati, quindi seleziona TCP Nota: assicurati di inserire i due intervalli IPv4 di origine uno alla volta e di premere la barra spaziatrice tra l'uno e l'altro. -
Fai clic su Crea.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 2: configura i modelli di istanza e crea i gruppi di istanze
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 HTTP.
Configura i modelli di istanza
Un modello di istanza è una risorsa API che puoi utilizzare per creare istanze VM 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.
Crea un modello di istanza per
- Nella console Cloud, vai a Menu di navigazione (
) > Compute Engine > Modelli di istanza e fai clic su Crea modello istanza.
- Per Nome, digita
-template.
-
In corrispondenza di Serie, seleziona E2.
-
Per Tipo di macchina, seleziona e2-micro.
-
Fai clic su Opzioni avanzate.
-
Fai clic su Networking. Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Tag di rete http-server -
Fai clic su valore predefinito in Interfacce di rete. Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Rete predefinita Subnet predefinita Fai clic su Fine.
Il tag di rete http-server assicura che a queste istanze vengano applicate le regole firewall per HTTP e Controllo di integrità.
-
Fai clic sulla scheda Gestione.
-
In Metadati, fai clic su + AGGIUNGI ELEMENTO e specifica quanto segue:
Chiave Valore startup-script-url gs://cloud-training/gcpnet/httplb/startup.sh
L'opzione startup-script-url
indica uno script che viene eseguito quando vengono avviate le istanze. Questo script installa Apache e modifica la pagina di benvenuto per includere l'indirizzo IP del client e il nome, la regione e la zona dell'istanza VM. Puoi esaminare il codice dello script qui.
- Fai clic su Crea.
- Attendi il completamento della creazione del modello di istanza.
Ora crea un altro modello di istanza per subnet-b copiando
- Fai clic su
-template e poi sull'opzione +CREA SIMILE in alto. - Per Nome, digita
-template. - Fai clic su Opzioni avanzate.
- Fai clic su Networking.
- Assicurati che http-server sia aggiunto come tag di rete.
- In Interfacce di rete, per Subnet, seleziona predefinita (
). - Fai clic su Fine.
- Fai clic su Crea.
Crea i gruppi di istanze gestite
Crea un gruppo di istanze gestite in
-
Sempre in Compute Engine, fai clic su Gruppi di istanze nel menu a sinistra.
-
Fai clic su Crea gruppo di istanze.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Nome -mig (se necessario, rimuovi eventuali spazi aggiuntivi dal nome) Località Più zone Regione Modello di istanza -template Numero minimo di istanze 1 Numero massimo di istanze 2 Indicatori di scalabilità automatica > Clic sul menu a discesa > Tipo di indicatore Utilizzo CPU Utilizzo CPU target 80, fai clic su Fine. Periodo di inizializzazione 45
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 agevolmente l'aumento del traffico e riduce i costi quando il fabbisogno di risorse è inferiore. È sufficiente definire i criteri di scalabilità automatica e il gestore della scalabilità automatica eseguirà il ridimensionamento in base al carico misurato.
- Fai clic su Crea.
Ora ripeti la stessa procedura per creare un secondo gruppo di istanze per
-
Fai clic su Crea gruppo di istanze.
-
Imposta i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Nome -mig Località Più zone Regione Modello di istanza -template Numero minimo di istanze 1 Numero massimo di istanze 2 Indicatori di scalabilità automatica > Clic sul menu a discesa > Tipo di indicatore Utilizzo CPU Utilizzo CPU target 80, fai clic su Fine. Periodo di inizializzazione 45 -
Fai clic su Crea.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Verifica i backend
Verifica che le istanze VM vengano create in entrambe le regioni e che siano in grado di accedere ai propri siti HTTP.
-
Sempre in Compute Engine, nel menu a sinistra, fai clic su Istanze VM.
-
Nota le istanze che iniziano con
-mig e -mig. Queste istanze fanno parte dei gruppi di istanze gestite.
-
Fai clic sull'IP esterno di un'istanza di
-mig. Dovresti vedere l'indirizzo IP client (il tuo indirizzo IP), il Nome host (che inizia con
-mig) e la Posizione del server (una zona in ). -
Fai clic sull'IP esterno di un'istanza di
-mig. Dovresti vedere l'indirizzo IP client (il tuo indirizzo IP), il Nome host (che inizia con
-mig) e la Posizione del server (una zona in ).
Attività 3: configura il bilanciatore del carico HTTP
Configura il bilanciatore del carico HTTP per bilanciare il traffico tra i due backend (
Avvia la configurazione
- Nella console Cloud, fai clic su Menu di navigazione (
) > Servizi di rete > Bilanciamento del carico, quindi fai clic su Crea bilanciatore del carico.
- In Bilanciatore del carico delle applicazioni (HTTP/S), fai clic su Avvia configurazione.
- Seleziona Da internet alle mie VM o ai miei servizi serverless e fai clic su Continua.
- Imposta il Nome del Nuovo bilanciatore del carico HTTP(S) su
http-lb
.
Configura il frontend
Le regole relative a host e percorso determinano come sarà indirizzato il traffico. Ad esempio, potresti decidere di indirizzare il traffico video a un backend e il traffico statico a un altro. Tuttavia, non configurerai le regole relative a host e percorso in questo lab.
-
Fai clic su Configurazione frontend.
-
Specifica quanto segue, lasciando le impostazioni predefinite per tutti gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Protocollo HTTP Versione IP IPv4 Indirizzo IP Temporaneo Porta 80 -
Fai clic su Fine.
-
Fai clic su Aggiungi IP e porta frontend.
-
Specifica quanto segue, lasciando le impostazioni predefinite per tutti gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Protocollo HTTP Versione IP IPv6 Indirizzo IP Allocazione automatica Porta 80 -
Fai clic su Fine.
Il bilanciamento del carico HTTP(S) 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.
-
Fai clic su Configurazione backend.
-
In Servizi e bucket di backend, fai clic su Crea un servizio di backend.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (seleziona l'opzione come specificato) Nome http-backend Gruppo di istanze -mig Numeri di porta 80 Modalità di bilanciamento Frequenza Massimo RPS 50 Capacità 100
Questa configurazione fa sì che il bilanciatore del carico tenti di mantenere il numero di richieste al secondo inviate a ciascuna istanza di
-
Fai clic su Fine.
-
Fai clic su Aggiungi un backend.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (seleziona l'opzione come specificato) Gruppo di istanze -mig Numeri di porta 80 Modalità di bilanciamento Utilizzo Utilizzo backend massimo 80 Capacità 100
Con questa configurazione, il bilanciatore del carico tenta di mantenere l'utilizzo della CPU entro l'80% per ciascuna istanza di
-
Fai clic su Fine.
-
In Controllo di integrità, seleziona Crea un controllo di integrità.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (seleziona l'opzione come specificato) Nome http-health-check Protocollo TCP Porta 80
I controlli di integrità determinano quali istanze ricevono nuove connessioni. Questo controllo di integrità HTTP esegue il polling delle istanze ogni 5 secondi, attende fino a 5 secondi una risposta e considera 2 tentativi riusciti o 2 tentativi non riusciti rispettivamente come stato integro o non integro.
- Fai clic su Salva.
- Seleziona la casella Abilita il logging.
- Imposta Frequenza di campionamento su
1
. - Fai clic su Crea per creare il servizio di backend.
- Fai clic su Ok.
Esamina e crea il bilanciatore del carico HTTP
- Fai clic su Esamina e finalizza.
- Esamina i servizi Backend e Frontend.
- Fai clic su Crea.
- Attendi che la creazione del bilanciatore del carico sia completa.
- Fai clic sul nome del bilanciatore del carico (http-lb).
- 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]
.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 4: verifica il bilanciatore del carico HTTP
Ora che hai creato il bilanciatore del carico HTTP per i tuoi backend, verifica che il traffico sia inoltrato al servizio di backend.
Accedi al bilanciatore del carico HTTP
Per testare l'accesso al bilanciatore del carico HTTP su IPv4, apri una nuova scheda del browser e vai all'indirizzo http://[LB_IP_v4]
. Accertati di sostituire [LB_IP_v4]
con l'indirizzo IPv4 del bilanciatore del carico.
Se hai un indirizzo IPv6 locale, prova a utilizzare l'indirizzo IPv6 del bilanciatore del carico HTTP andando all'indirizzo http://[LB_IP_v6]
. Accertati di sostituire [LB_IP_v6]
con l'indirizzo IPv6 del bilanciatore del carico.
Esegui lo stress test del bilanciatore del carico HTTP
Crea una nuova macchina virtuale per simulare un carico sul bilanciatore del carico HTTP utilizzando siege
. Quindi, determina se il carico viene bilanciato su entrambi i backend in condizioni di carico elevato.
-
Nella console, vai a Menu di navigazione (
) > Compute Engine > Istanze VM.
-
Fai clic su Crea istanza.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Nome siege-vm Regione Zona Serie E2
Dato che
- Fai clic su Crea.
- Attendi che la creazione dell'istanza siege-vm sia completa.
- In siege-vm, fai clic su SSH per avviare un terminale e stabilire una connessione.
- Esegui questo comando per installare siege:
- Per salvare l'indirizzo IPv4 del bilanciatore del carico HTTP in una variabile di ambiente, esegui il seguente comando, sostituendo
[LB_IP_v4]
con l'indirizzo IPv4.
- Per simulare un carico, esegui questo comando:
- Nel Menu di navigazione (
) della console Cloud, fai clic su Servizi di rete > Bilanciamento del carico.
- Fai clic su Backend.
- Fai clic su http-backend.
- Vai a http-lb.
- Fai clic sulla scheda Monitoring.
- In Ubicazione frontend (Traffico totale in entrata), osserva per 2 o 3 minuti il traffico tra il Nord America e i due backend.
All'inizio, il traffico dovrebbe essere indirizzato soltanto verso
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.
- Torna al terminale SSH di siege-vm.
- Premi CTRL+C per fermare la macchina virtuale siege se è ancora in esecuzione.
L'output dovrebbe essere simile al seguente:
Attività 5: inserisci siege-vm nella lista bloccata
Utilizzando Cloud Armor inserisci siege-vm nella lista bloccata in modo che non acceda al bilanciatore del carico HTTP.
Crea il criterio di sicurezza
Crea un criterio di sicurezza di Cloud Armor con una regola di lista bloccata per siege-vm.
- Nella console, vai a Menu di navigazione (
) > Compute Engine > Istanze VM.
- Prendi nota dell'indirizzo IP esterno di siege-vm. Ci riferiremo a questo indirizzo come
[SIEGE_IP]
.
-
Nella console Cloud, vai a Menu di navigazione > Sicurezza della rete > Criteri di Cloud Armor.
-
Fai clic su Crea criterio.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Nome denylist-siege Azione regola predefinita Consenti -
Fai clic su Passaggio successivo.
-
Fai clic su Aggiungi una regola.
-
Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:
Proprietà Valore (digita il valore o seleziona l'opzione come specificato) Condizione > Corrispondenza Inserisci SIEGE_IP Azione Nega Codice risposta 403 (Forbidden) Priorità 1000 -
Fai clic su Fine.
-
Fai clic su Passaggio successivo.
-
Fai clic su Aggiungi target.
-
In Tipo, seleziona Servizio di backend del bilanciatore del carico.
-
In Destinazione, seleziona http-backend.
-
Fai clic su Crea criterio.
- Attendi che la creazione del criterio sia completa prima di andare al passaggio successivo.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Verifica il criterio di sicurezza
Verifica che siege-vm non sia in grado di accedere al bilanciatore del carico HTTP.
- Torna al terminale SSH di siege-vm.
- Per accedere al bilanciatore del carico, esegui questo comando:
L'output dovrebbe essere simile al seguente:
- 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.
- Torna al terminale SSH di siege-vm ed esegui questo comando per simulare un carico:
Il comando non genererà alcun output.
Esamina i log del criterio di sicurezza per determinare se anche questo traffico viene bloccato.
- Nella console, vai a Menu di navigazione > Sicurezza della rete > Criteri di Cloud Armor.
- Fai clic su denylist-siege.
- Fai clic su Log.
- Fai clic su Visualizza log dei criteri.
- Nella pagina Logging, assicurati di cancellare tutto il testo in Anteprima della query. Seleziona la risorsa per Bilanciatore del carico delle applicazioni > http-lb-forwarding-rule > http-lb quindi fai clic su Applica.
- Ora, fai clic su Esegui query.
- Espandi una voce di log in Risultati query.
- Espandi httpRequest.
L'origine della richiesta dovrebbe essere l'indirizzo IP di siege-vm. In caso contrario, espandi un'altra voce di log.
- Espandi jsonPayload.
- Espandi enforcedSecurityPolicy.
- Osserva che il valore di configuredAction è
DENY
e quello di namedenylist-siege
.
I criteri di sicurezza di Cloud Armor creano log che possono essere consultati per sapere quando il traffico viene rifiutato e quando viene consentito, nonché per conoscere l'origine del traffico.
Complimenti!
Hai configurato un bilanciatore del carico HTTP con backend in
Prossimi passi/Scopri di più
-
Per informazioni sui concetti fondamentali di Cloud Armor, consulta la documentazione di Cloud Armor.
-
Per saperne di più sul bilanciamento del carico, consulta la documentazione sul bilanciamento del carico.
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: 2 febbraio 2024
Ultimo test del lab: 30 gennaio 2024
Copyright 2024 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.