Bilanciatore del carico HTTPs esterno con codelab sulla gestione avanzata del traffico (Envoy)

1. Introduzione

Benvenuto nel Codelab sul bilanciatore del carico HTTP(S) esterno con gestione avanzata del traffico (Envoy).

L'ultima versione del bilanciatore del carico HTTP(S) esterno con gestione avanzata del traffico contiene tutte le funzionalità del bilanciatore del carico HTTP(S) esterno globale classico esistente, ma con un elenco in continua crescita di funzionalità di gestione avanzata del traffico. Alcune di queste funzionalità sono nuove per i nostri bilanciatori del carico, mentre altre forniscono funzionalità avanzate a quelle esistenti. Un elenco parziale di queste funzionalità include:

  • Suddivisione del traffico ponderata
  • Richiedi mirroring
  • Rilevamento outlier
  • Nuovi tentativi di richiesta
  • Fault Injection
  • Opzioni aggiuntive per l'affinità sessione di backend
  • Opzioni di trasformazione dell'intestazione aggiuntive
  • Condivisione delle risorse tra origini (CORS)
  • Nuovi algoritmi di bilanciamento del carico

Cosa imparerai a fare

  • Come configurare un gruppo di istanze gestite e le regole firewall e VPC associate
  • Come utilizzare le funzionalità di gestione avanzata del traffico del nuovo bilanciatore del carico
  • Come verificare che le funzionalità di gestione avanzata del traffico funzionino come previsto.

Che cosa ti serve

  • Conoscenza di base del networking e di HTTP
  • Conoscenza di base della riga di comando Unix/Linux

Topologia e caso d'uso del codelab

dd8bd5e8e1341878.png

Figura 1: topologia di routing del bilanciatore del carico HTTP

Durante questo lab di programmazione configurerai tre gruppi di istanze gestite, uno a est, uno a ovest e uno al centro. Creerai un bilanciatore del carico HTTPS esterno globale. Il bilanciatore del carico utilizzerà diverse funzionalità dell'elenco delle funzionalità avanzate supportate dal bilanciatore del carico basato su Envoy. Una volta eseguito il deployment, genera un carico simulato e verifica che le configurazioni impostate funzionino correttamente.

2. Configurazione e requisiti

Configurazione dell'ambiente autonoma

  1. Accedi alla console Google Cloud e crea un nuovo progetto o riutilizzane uno esistente. Se non hai già un account Gmail o Google Workspace, devi crearne uno.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Il nome del progetto è il nome visualizzato per i partecipanti a questo progetto. È una stringa di caratteri non utilizzata dalle API di Google. Puoi sempre aggiornarlo.
  • L'ID progetto è univoco in tutti i progetti Google Cloud ed è immutabile (non può essere modificato dopo l'impostazione). La console Cloud genera automaticamente una stringa univoca, di solito non ti interessa di cosa si tratta. Nella maggior parte dei codelab, dovrai fare riferimento all'ID progetto (in genere identificato come PROJECT_ID). Se non ti piace l'ID generato, puoi generarne un altro casuale. In alternativa, puoi provare a crearne uno e vedere se è disponibile. Non può essere modificato dopo questo passaggio e rimane per tutta la durata del progetto.
  • Per tua informazione, esiste un terzo valore, un numero di progetto, utilizzato da alcune API. Scopri di più su tutti e tre questi valori nella documentazione.
  1. Successivamente, devi abilitare la fatturazione in Cloud Console per utilizzare le risorse/API Cloud. Completare questo codelab non costa molto, se non nulla. Per arrestare le risorse ed evitare addebiti oltre a quelli previsti in questo tutorial, puoi eliminare le risorse che hai creato o il progetto. I nuovi utenti di Google Cloud possono beneficiare del programma prova senza costi di 300$.

Avvia Cloud Shell

Sebbene Google Cloud possa essere gestito da remoto dal tuo laptop, in questo codelab utilizzerai Google Cloud Shell, un ambiente a riga di comando in esecuzione nel cloud.

Nella console Google Cloud, fai clic sull'icona di Cloud Shell nella barra degli strumenti in alto a destra:

55efc1aaa7a4d3ad.png

Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Al termine, dovresti vedere un risultato simile a questo:

7ffe5cbb04455448.png

Questa macchina virtuale è caricata con tutti gli strumenti di sviluppo di cui avrai bisogno. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud, migliorando notevolmente le prestazioni di rete e l'autenticazione. Tutto il lavoro in questo codelab può essere svolto all'interno di un browser. Non devi installare nulla.

Prima di iniziare

In Cloud Shell, assicurati che l'ID progetto sia configurato.

gcloud config list project

gcloud config set project [YOUR-PROJECT-NAME]

PROJECT_ID=[YOUR-PROJECT-NAME]

echo $PROJECT_ID

Abilita le API

Attiva tutti i servizi necessari

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com

3. crea la rete VPC

Crea una rete VPC

Da Cloud Shell

gcloud compute networks create httplbs --subnet-mode=auto

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs].
NAME: httplbs
SUBNET_MODE: AUTO
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:

Crea regole firewall VPC

Dopo aver creato il VPC, ora creerai le regole firewall. La regola firewall verrà utilizzata per consentire a tutti gli IP di accedere all'IP esterno del sito web dell'applicazione di test sulla porta 80 per il traffico HTTP.

Da Cloud Shell

gcloud compute firewall-rules create httplb-allow-http-rule \
--allow tcp:80 \
--network httplbs \
--source-ranges 0.0.0.0/0 \
--priority 700

Output

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule].
Creating firewall...done.
NAME: httplb-allow-http-rule
NETWORK: httplbs
DIRECTION: INGRESS
PRIORITY: 700
ALLOW: tcp:80
DENY:
DISABLED: False

4. Configura i gruppi di istanze gestite

Devi configurare i gruppi di istanze gestite che includono i pattern per le risorse di backend utilizzate dal bilanciatore del carico HTTP. Innanzitutto, creeremo i modelli di istanza che definiscono la configurazione delle VM da creare per ogni regione. Successivamente, per un backend in ogni regione, creeremo un gruppo di istanze gestite che fa riferimento a un modello di istanza.

I gruppi di istanze gestite possono essere di ambito zonale o regionale. Per questo esercizio di lab creeremo tre gruppi di istanze gestite regionali: uno in us-east1, uno in us-west1 e uno in us-central1.

In questa sezione, puoi vedere uno script di avvio pre-creato a cui verrà fatto riferimento al momento della creazione dell'istanza. Questo script di avvio installa e attiva le funzionalità del server web che utilizzeremo per simulare un'applicazione web. Puoi esaminare il codice dello script.

Crea i modelli di istanza per Est, Ovest e Centro

Il primo passaggio consiste nel creare il modello di istanza us-east-1.

Da Cloud Shell

gcloud compute instance-templates create us-east1-template \
   --region=us-east1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --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'

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template].
NAME: us-east1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00

Il passaggio successivo consiste nel creare il modello di istanza us-west-1.

Da Cloud Shell

gcloud compute instance-templates create us-west1-template \
   --region=us-west1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --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'

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template].
NAME: us-west1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00

Il passaggio successivo consiste nel creare il modello di istanza us-central-1.

Da Cloud Shell

gcloud compute instance-templates create us-central1-template \
   --region=us-central1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --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'

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template].
NAME: us-central1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00

Ora puoi verificare che i nostri modelli di istanza siano stati creati correttamente con il seguente comando gcloud:

Da Cloud Shell

gcloud compute instance-templates list

Output

NAME                  MACHINE_TYPE   PREEMPTIBLE  CREATION_TIMESTAMP
us-central1-template   n1-standard-1         2021-11-09T09:25:37.263-08:00
us-east1-template      n1-standard-1         2021-11-09T09:24:35.275-08:00
us-west1-template      n1-standard-1         2021-11-09T09:25:08.016-08:00

Crea i gruppi di istanze gestite Est, Ovest e Centrale

Ora dobbiamo creare un gruppo di istanze gestite dai modelli di istanza che abbiamo creato in precedenza.

Da Cloud Shell

gcloud compute instance-groups managed create us-east1-mig \
--base-instance-name=us-east1-mig \
--size=1 \
--template=us-east1-template \
--zone=us-east1-b 

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig].
NAME: us-east1-mig
LOCATION: us-east1-b
SCOPE: zone
BASE_INSTANCE_NAME: us-east1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-east1-template
AUTOSCALED: no

Da Cloud Shell

gcloud compute instance-groups managed create us-west1-mig \
--base-instance-name=us-west1-mig \
--size=1 \
--template=us-west1-template \
--zone=us-west1-a  

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig].
NAME: us-west1-mig
LOCATION: us-west1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-west1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-west1-template
AUTOSCALED: no

Da Cloud Shell

gcloud compute instance-groups managed create us-central1-mig \
--base-instance-name=us-central1-mig \
--size=1 \
--template=us-central1-template \
--zone=us-central1-a 

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig].
NAME: us-central1-mig
LOCATION: us-central1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-central1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-central1-template
AUTOSCALED: no

Possiamo verificare che i nostri gruppi di istanze siano stati creati correttamente con il seguente comando gcloud:

Da Cloud Shell

gcloud compute instance-groups list

Output

NAME                  LOCATION      SCOPE   NETWORK         MANAGED INSTANCES
us-central1-mig       us-central1   zone    httplbs          Yes      1
us-west1-mig          us-west1      zone    httplbs          Yes      1
us-east1-mig          us-east1      zone    httplbs          Yes      1

Verifica della funzionalità del server web

Ogni istanza è configurata per eseguire un server web Apache con un semplice script PHP che esegue il rendering di:

c87ca81d3125ac61.png

Per assicurarti che i server web funzionino correttamente, vai a Compute Engine -> Istanze VM. Assicurati che le nuove istanze (ad es. us-east1-mig-xxx) siano state create in base alle definizioni del gruppo di istanze.

Ora, effettua una richiesta web nel browser per assicurarti che il server web sia in esecuzione (l'avvio potrebbe richiedere un minuto). Nella pagina delle istanze VM in Compute Engine, seleziona un'istanza creata dal gruppo di istanze e fai clic sul relativo IP esterno (pubblico).

In alternativa, nel browser, vai all'indirizzo http://<IP_Address>.

5. Configura il bilanciatore del carico

Crea controllo di integrità

Innanzitutto, dobbiamo creare un controllo di integrità di base per assicurarci che i nostri servizi siano attivi e funzionanti. Creeremo un controllo di integrità di base, ma sono disponibili molte altre personalizzazioni avanzate.

Da Cloud Shell

gcloud compute health-checks create http http-basic-check \
    --port 80

Prenota l'indirizzo IP esterno

Per questo passaggio, dovrai prenotare un indirizzo IP statico disponibile a livello globale che verrà collegato in un secondo momento al bilanciatore del carico.

Da Cloud Shell

gcloud compute addresses create lb-ipv4-2 \
    --ip-version=IPV4 \
    --global

Assicurati di prendere nota dell'indirizzo IP riservato.

gcloud compute addresses describe lb-ipv4-2 \
    --format="get(address)" \
    --global

Crea servizi di backend

Ora dobbiamo creare un servizio di backend per ciascuno dei gruppi di istanze gestite che abbiamo creato in precedenza. Una per est, ovest e centro.

Creazione di un servizio di backend per il gruppo di istanze gestite East.

Da Cloud Shell

gcloud compute backend-services create east-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Creazione di un servizio di backend per il gruppo di istanze gestite West.

Da Cloud Shell

gcloud compute backend-services create west-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Creazione di un servizio di backend per il gruppo di istanze gestite centrale.

Da Cloud Shell

gcloud compute backend-services create central-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Aggiungi MIG ai servizi di backend

Ora che abbiamo creato i rispettivi servizi di backend per ogni cluster di applicazioni, dobbiamo aggiungere a ogni servizio di backend i gruppi di istanze gestite che abbiamo creato in precedenza.

Aggiungi il MIG East al servizio di backend.

Da Cloud Shell

gcloud compute backend-services add-backend east-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-east1-mig \
    --instance-group-zone=us-east1-b \
    --global

Aggiungi il MIG ovest al servizio di backend.

Da Cloud Shell

gcloud compute backend-services add-backend west-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-west1-mig \
    --instance-group-zone=us-west1-a \
    --global

Aggiungi il MIG centrale al servizio di backend.

Da Cloud Shell

gcloud compute backend-services add-backend central-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-central1-mig \
    --instance-group-zone=us-central1-a \
    --global

Crea mappa URL

La mappa degli URL è la posizione in cui si trovano le funzionalità avanzate di gestione del traffico per questo lab. Dobbiamo creare un file .yaml che conterrà la configurazione. All'interno del file .yaml abbiamo creato una corrispondenza del prefisso su /roundrobbin, quindi solo il traffico corrispondente a /roundrobbin sarà interessato da queste configurazioni. Abbiamo specificato che il 50% del traffico deve essere indirizzato a east-backend-service e il 50% a west-backend-service. Inoltre, abbiamo aggiunto un valore dell'intestazione della risposta:{test}, che sarà presente in tutte le risposte. Infine, abbiamo aggiunto che tutto il traffico deve essere sottoposto a mirroring nel servizio di backend centrale. Il traffico viene duplicato e inviato qui solo a scopo di test.

Salva l'esempio come file .yaml sul tuo computer.

defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
kind: compute #urlMap
name: web-map-http
hostRules:
- hosts:
  - '*'
  pathMatcher: matcher1
pathMatchers:
- defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
  name: matcher1
  routeRules:
  - matchRules:
    - prefixMatch: /roundrobbin
    priority: 2
    headerAction:
        responseHeadersToAdd:
          - headerName: test
            headerValue: value
            replace: True
    routeAction:
        weightedBackendServices:
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
          weight: 50
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service
          weight: 50
        retryPolicy:
            retryConditions: ['502', '504']
            numRetries: 3
            perTryTimeout:
                seconds: 1
                nanos: 50
        requestMirrorPolicy:
          backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service

Crea la mappa URL importando il documento dalla tua macchina. Tieni presente che il percorso di origine varia a seconda di dove salvi il file .yaml.

Da Cloud Shell

gcloud compute url-maps import web-map-http \
   --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \
   --global

Crea il frontend HTTP

Il passaggio finale nella creazione del bilanciatore del carico è la creazione del frontend. In questo modo, l'indirizzo IP che hai prenotato in precedenza verrà mappato alla mappa URL del bilanciatore del carico che hai creato.

Da Cloud Shell

gcloud compute target-http-proxies create http-lb-proxy-adv \
    --url-map=web-map-http

A questo punto, devi creare una regola di forwarding globale che mapperà l'indirizzo IP prenotato in precedenza al proxy HTTP.

Da Cloud Shell

gcloud compute forwarding-rules create http-content-rule \
    --load-balancing-scheme EXTERNAL_MANAGED \
    --address=lb-ipv4-2 \
    --global \
    --target-http-proxy=http-lb-proxy-adv \
    --ports=80

6. Verificare il funzionamento delle funzionalità avanzate del traffico

Per verificare che la funzionalità di suddivisione del traffico implementata funzioni, devi generare un po' di carico. A questo scopo, creeremo una nuova VM per simulare il carico.

Crea regola firewall per consentire SSH

Per eseguire SSH nella VM da cui genereremo il traffico, devi prima creare una regola firewall che consenta il traffico SSH alla VM.

Da Cloud Shell

gcloud compute firewall-rules create fw-allow-ssh \
    --network=httplbs \
    --action=allow \
    --direction=ingress \
    --target-tags=allow-ssh \
    --rules=tcp:22

Output

NAME          NETWORK  DIRECTION  PRIORITY  ALLOW   DENY  DISABLED
fw-allow-ssh  httplbs  INGRESS    1000      tcp:22        False

Crea Siege-vm

Ora creerai la VM siege-vm che utilizzerai per generare il carico.

Da Cloud Shell

gcloud compute instances create siege-vm \
    --network=httplbs \
    --zone=us-east4-c \
    --machine-type=e2-medium \
    --tags=allow-ssh,http-server \
    --metadata=startup-script='sudo apt-get -y install siege'

Output

NAME     ZONE        MACHINE_TYPE INTERNAL_IP  EXTERNAL_IP    STATUS
siege-vm us-east4-c  e2-medium    10.150.0.3   34.85.218.119  RUNNING

A questo punto puoi connetterti alla VM che hai creato tramite SSH. Una volta creato, fai clic su SSH per avviare un terminale e stabilire una connessione.

Una volta connesso, esegui questo comando per generare il carico. Utilizza l'indirizzo IP che hai prenotato in precedenza per il bilanciatore del carico HTTP esterno.

Da Cloud Shell

siege -c 250 http://[$lb-ipv4-2]/roundrobbin

Output

New configuration template added to /home/cloudcurriculumdeveloper/.siege
Run siege -C to view the current settings in that file
[alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory
** SIEGE 4.0.2
** Preparing 250 concurrent users for battle.
The server is now under siege...

Controlla la distribuzione del carico

Ora che Siege è in esecuzione, è il momento di verificare che il traffico venga distribuito equamente ai gruppi di istanze gestite est e ovest. Inoltre, puoi verificare che il mirroring del traffico funzioni e che il traffico venga inviato al gruppo di istanze gestite centrale.

Nella console Cloud, nel menu di navigazione, fai clic su Servizi di rete > Bilanciamento del carico. Seleziona il bilanciatore del carico web-map-http. Vai alla scheda Monitoraggio e potrai visualizzare il grafico riportato di seguito.

f4d6803db44be253.png

Potrai visualizzare la suddivisione del traffico in tempo reale in questo MIG. Il traffico viene suddiviso in modo uniforme perché hai configurato una suddivisione round robin 50/50.

Per verificare che il criterio di mirroring del traffico che hai creato funzioni, devi controllare l'utilizzo del gruppo di istanze gestite central-backend-service. Per farlo, vai a Compute, Compute Engine, Gruppi di istanze e seleziona us-central1-mig. Poi, vai alla scheda Monitoraggio.

cf25e44d511529e7.png

Vedrai i grafici compilati che mostrano che il traffico è stato sottoposto a mirroring in questo gruppo di istanze gestite.

Stop the Siege

Ora che hai dimostrato che la suddivisione avanzata del traffico funziona, è il momento di interrompere l'attacco. Per farlo, torna al terminale SSH di siege-vm e premi CTRL+C per arrestare l'esecuzione di siege.

Convalidare l'invio dell'intestazione della risposta

Prima di eseguire la pulizia, puoi verificare rapidamente che l'intestazione della risposta appropriata venga inviata dal bilanciatore del carico HTTP. L'avevi configurato per inviare il test dell'intestazione con il valore dei contenuti. L'esecuzione del comando curl da Cloud Shell restituirà la risposta prevista.

Da Cloud Shell

curl -svo /dev/null http://lb-ipv4-2/roundrobbin

Output

*   Trying lb-ipv4-2..
* TCP_NODELAY set
* Connected to  lb-ipv4-2 ( lb-ipv4-2) port 80 (#0)
> GET /roundrobbin HTTP/1.1
> Host:  lb-ipv4-2
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< date: Wed, 10 Nov 2021 17:05:27 GMT
< server: envoy
< Content-Length: 273
< content-type: text/html; charset=iso-8859-1
< via: 1.1 google
< test: value
<
{ [273 bytes data]
* Connection #0 to host 34.149.2.26 left intact
* Closing connection 0

7. Pulizia del lab

Ora che abbiamo terminato con l'ambiente del lab, è il momento di smantellarlo. Esegui i seguenti comandi per eliminare l'ambiente di test.

Da Cloud Shell

gcloud compute instances delete siege-vm --zone=us-east4-c

gcloud compute forwarding-rules delete http-content-rule --global
gcloud compute target-http-proxies delete http-lb-proxy-adv
gcloud compute url-maps delete web-map-http
gcloud compute backend-services delete east-backend-service --global
gcloud compute backend-services delete west-backend-service --global
gcloud compute backend-services delete central-backend-service --global

gcloud compute addresses delete lb-ipv4-2 --global
gcloud compute health-checks delete http-basic-check 

gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b
gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a
gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a

gcloud compute instance-templates delete "us-east1-template" 
gcloud compute instance-templates delete "us-west1-template" 
gcloud compute instance-templates delete "us-central1-template" 

gcloud compute firewall-rules delete httplb-allow-http-rule
gcloud compute firewall-rules delete fw-allow-ssh

gcloud compute networks delete httplbs 

8. Complimenti!

Hai completato il Codelab Bilanciatore del carico HTTP(S) esterno con gestione avanzata del traffico (Envoy).

Argomenti trattati

  • Come configurare un gruppo di istanze gestite e le regole firewall e VPC associate
  • Come utilizzare le funzionalità di gestione avanzata del traffico del nuovo bilanciatore del carico
  • Come verificare che le funzionalità di gestione avanzata del traffico funzionino come previsto.

Passaggi successivi

  • Prova alcune delle altre funzionalità di routing avanzate, come la riscrittura degli URL, l'aggiunta di intestazioni CORS e molte altre ( link).