Scalabilità automatica globale di un servizio web su Compute Engine


Questo tutorial mostra come configurare un servizio web disponibile globalmente con gruppi di istanze gestite Compute Engine a livello di regione che vengono scalati automaticamente in base alle esigenze di capacità. Puoi utilizzare le tecniche mostrate in questo tutorial per implementare il tuo progetto scalabile e distribuito a livello globale su Compute Engine.

Obiettivi

  • Esegui il deployment di più gruppi di istanze gestite Compute Engine a livello di regione con la scalabilità automatica abilitata.
  • Crea un bilanciatore del carico tra regioni.
  • Genera traffico di test da diverse regioni in tutto il globo.
  • Utilizza la consoleTrusted Cloud per visualizzare in che modo il bilanciatore del carico instrada le richieste e in che modo i gruppi di istanze vengono scalati automaticamente per soddisfare la domanda.

Costi

Questo tutorial utilizza componenti fatturabili di Trusted Cloud by S3NS , tra cui:

  • Compute Engine

Prima di iniziare

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Compute Engine API.

    Enable the API

Architettura dell'applicazione

L'applicazione include i seguenti componenti di Compute Engine:

  1. Template di istanza: un template utilizzato per creare ogni istanza nei gruppi di istanze.
  2. Gruppi di istanze: più gruppi di istanze che eseguono la scalabilità automatica in base al traffico in entrata.
  3. Bilanciatore del carico: un bilanciatore del carico HTTP che distribuisce il traffico tra i gruppi di istanze.
  4. Istanze: più istanze di test per generare traffico di test da diverse parti del globo.

Diagramma dell'architettura di sistema che mostra un bilanciatore del carico con più gruppi di istanze a livello regionale

Configura il servizio web

Crea i gruppi di istanze

Console

  1. Crea una rete per i gruppi di istanze.

    1. Nella console Trusted Cloud , vai alla pagina Reti VPC.

      Vai a Reti VPC

    2. Fai clic su Crea rete VPC.

    3. Imposta Nome su fortressnet.

    4. Imposta Modalità di creazione subnet su Automatica.

    5. Fai clic su Crea nella parte inferiore della pagina.

  2. Crea una regola firewall per la rete. Questa regola consentirà tutte le richieste HTTP inviate alle tue istanze.

    1. Nella console Trusted Cloud , vai alla pagina Regole firewall.

      Vai a Regole firewall

    2. Fai clic su Crea regola firewall.

    3. Imposta Nome su fortressnet-allow-http.

    4. In Rete, seleziona fortressnet.

    5. In Destinazioni, seleziona All instances in the network.

    6. Imposta Intervalli IPv4 di origine su 0.0.0.0/0.

    7. In Protocolli e porte, scegli Protocolli e porte specificati, quindi seleziona la casella di controllo tcp e inserisci 80.

    8. Fai clic su Crea.

  3. Crea un template di istanza. Includi uno script di avvio in grado di avviare un semplice server web Apache su ogni istanza.

    1. Nella console Trusted Cloud , vai alla pagina Template di istanza.

      Vai a Template di istanza

    2. Fai clic su Crea template di istanza.

    3. Imposta Nome su fort-template.

    4. Per Configurazione macchina, seleziona e2-micro (2 vCPU, 1 GB di memoria).

    5. Nella sezione Opzioni avanzate, espandi Networking e segui questi passaggi:

      1. Nella sezione Interfacce di rete, espandi l'interfaccia di rete per modificarla.
      2. In Rete, seleziona fortressnet.
    6. Nella sezione Gestione, in Automazione, inserisci il seguente script di avvio:

      apt update && apt -y install apache2
      

    7. Fai clic su Crea.

  4. Crea più gruppi di istanze gestite regionali utilizzando il template di istanza. Configura la scalabilità automatica per ogni gruppo di istanze.

    1. Nella console Trusted Cloud , vai alla pagina Gruppi di istanze.

      Vai a Gruppi di istanze

    2. Fai clic su Crea gruppo di istanze per creare un nuovo gruppo di istanze gestite.

    3. Seleziona Nuovo gruppo di istanze gestite (stateless).

    4. Imposta Nome su us-central1-pool.

    5. In Template di istanza, seleziona fort-template.

    6. In Località, seleziona Più zone.

    7. In Regione, seleziona us-central1. In Zone, lascia selezionati i valori predefiniti.

    8. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo.

    9. Imposta Numero minimo di istanze su 1.

    10. Imposta Numero massimo di istanze su 5.

    11. In Indicatori di scalabilità automatica, modifica la selezione predefinita (Utilizzo CPU) e imposta Tipo di indicatore su Utilizzo bilanciamento del carico HTTP.

    12. Imposta Utilizzo bilanciamento del carico HTTP target su 80.

    13. Fai clic su Fine.

    14. Fai clic su Crea. Viene visualizzata una finestra di dialogo che ti informa che devi anche assegnare il gruppo di istanze a un servizio di backend di un bilanciatore del carico HTTP.

    15. Nella finestra di dialogo di conferma, fai clic su Conferma. Puoi configurare il bilanciatore del carico dopo aver creato tutti i gruppi di istanze.

    16. Ripeti questi passaggi per creare altri due gruppi di istanze con le seguenti modifiche:

      • Crea un gruppo con Nome europe-west1-pool e Regione europe-west1.
      • Crea un gruppo con Nome asia-east1-pool e Regione asia-east1.
  5. (Facoltativo) Verifica che le istanze siano integre e che gestiscano il traffico HTTP. Testa l'indirizzo IP esterno di una o più istanze. Potresti dover attendere un minuto per il completamento del processo di avvio delle istanze.

    1. Nella console Trusted Cloud , vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Verifica che accanto a ogni istanza in esecuzione sia presente un segno di spunta verde nella colonna Stato accanto al nome del gruppo di istanze.

    3. Copia l'IP esterno di un'istanza e incollalo in un browser web.

    Dovresti vedere la pagina web "Pagina predefinita di Apache2 Debian".

    Se non sembra funzionare, prova ad attendere qualche istante.

gcloud

  1. Crea una rete per i gruppi di istanze.

    gcloud compute networks create fortressnet --subnet-mode auto
    
  2. Crea una regola firewall per la rete. Questa regola consentirà tutte le richieste HTTP inviate alle tue istanze.

    gcloud compute firewall-rules create fortressnet-allow-http \
        --network fortressnet \
        --allow tcp:80
    
  3. Crea un template di istanza. Includi uno script di avvio in grado di avviare un semplice server web Apache su ogni istanza.

    gcloud compute instance-templates create fort-template \
        --machine-type e2-micro \
        --network fortressnet \
        --metadata startup-script='apt update && apt -y install apache2'
    
  4. Crea più gruppi di istanze gestite regionali utilizzando il template di istanza. Configura la scalabilità automatica per ogni gruppo di istanze.

    gcloud compute instance-groups managed create us-central1-pool \
        --region us-central1 \
        --template fort-template \
        --size 1
    gcloud compute instance-groups managed set-autoscaling us-central1-pool \
        --region us-central1 \
        --min-num-replicas 1 \
        --max-num-replicas 5 \
        --scale-based-on-load-balancing \
        --target-load-balancing-utilization .8
    
    gcloud compute instance-groups managed create europe-west1-pool \
        --region europe-west1 \
        --template fort-template \
        --size 1
    gcloud compute instance-groups managed set-autoscaling europe-west1-pool \
        --region europe-west1 \
        --min-num-replicas 1 \
        --max-num-replicas 5 \
        --scale-based-on-load-balancing \
        --target-load-balancing-utilization .8
    
    gcloud compute instance-groups managed create asia-east1-pool \
        --region asia-east1 \
        --template fort-template \
        --size 1
    gcloud compute instance-groups managed set-autoscaling asia-east1-pool \
        --region asia-east1 \
        --min-num-replicas 1 \
        --max-num-replicas 5 \
        --scale-based-on-load-balancing \
        --target-load-balancing-utilization .8
    
  5. (Facoltativo) Verifica che le istanze siano integre e che gestiscano il traffico HTTP. Testa l'indirizzo IP esterno di una o più istanze. Potresti dover attendere un minuto per il completamento del processo di avvio delle istanze.

    1. Elenca le tue istanze.

      gcloud compute instances list
      

    2. Nella colonna STATUS, verifica che le istanze siano RUNNING.

    3. Controlla un'istanza eseguendo una query sul relativo indirizzo IP nella colonna EXTERNAL_IP.

      curl http://EXTERNAL_IP | head
      

    Dovresti vedere del testo HTML, inclusa la riga <title>Apache2 Debian Default Page: It works</title>.

    Se non sembra funzionare, prova ad attendere qualche istante.

Configura il bilanciatore del carico

Il bilanciatore del carico distribuirà le richieste dei client tra i tuoi diversi backend.

Console

Avvia la configurazione

  1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

    Vai a 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 workload 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. Fai clic su Configura.

Configurazione di base

  1. Imposta Nome bilanciatore del carico su fortressnet-balancer.

Configurazione backend

  1. Nella pagina Crea bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.
  2. Nel menu a discesa Crea o seleziona servizi di backend e bucket di backend, seleziona Servizi di backend e poi Crea un servizio di backend. Dovresti ora vedere la finestra di dialogo Crea servizio di backend.
  3. Imposta il nome del servizio di backend su fortressnet-backend-service.
  4. Nella finestra di dialogo Nuovo backend, imposta Gruppo di istanze su asia-east1-pool.
  5. Per Modalità di bilanciamento, seleziona Tasso.
  6. Imposta Massimo RPS su 100 RPS per istanza.
  7. Fai clic su Fine.
  8. Fai clic su Aggiungi backend.
  9. Nella finestra di dialogo Nuovo backend, imposta Gruppo di istanze su europe-west1-pool.
  10. Per Modalità di bilanciamento, seleziona Tasso.
  11. Imposta Massimo RPS su 100 RPS per istanza.
  12. Fai clic su Fine.
  13. Fai clic su Aggiungi backend.
  14. Nella finestra di dialogo Nuovo backend, imposta Gruppo di istanze su us-central1-pool.
  15. Per Modalità di bilanciamento, seleziona Tasso.
  16. Imposta Massimo RPS su 100 RPS per istanza.
  17. Fai clic su Fine.
  18. In Controllo di integrità, seleziona Crea un controllo di integrità.
  19. Imposta Nome su http-basic-check.
  20. In Protocollo, seleziona HTTP.
  21. Imposta Porta su 80.
  22. Fai clic su Salva e continua.
  23. Fai clic su Crea.

Regole host e percorso

  1. Nel riquadro a sinistra della pagina Crea bilanciatore del carico delle applicazioni esterno globale, fai clic su Regole host e percorso.
    Per questo esempio, non è necessario configurare regole per host o percorso poiché tutto il traffico verrà indirizzato alla regola predefinita. Pertanto, possiamo accettare i valori predefiniti precompilati.

Configurazione frontend

  1. Nel riquadro sinistro della pagina Crea bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione frontend.
  2. Imposta Nome su fortressnet-http-rule.
  3. In Versione IP, seleziona IPv4.
  4. In Indirizzo IP seleziona Crea indirizzo IP.
  5. Nella finestra di dialogo Prenota un nuovo indirizzo IP statico, imposta Nome su fortressnet-ip.
  6. Fai clic su Prenota e attendi qualche istante.
  7. Fai clic su Fine nella parte inferiore della finestra di dialogo Nuovi IP e porta frontend.
  8. Fai clic su Aggiungi IP e porta frontend.
  9. Imposta Nome su fortressnet-http-ipv6-rule.
  10. In Versione IP, seleziona IPv6.
  11. In Indirizzo IP seleziona Crea indirizzo IP.
  12. Nella finestra di dialogo, imposta Nome su fortressnet-ipv6.
  13. Fai clic su Prenota e attendi qualche istante.
  14. Fai clic su Fine nella parte inferiore della finestra di dialogo Nuovi IP e porta frontend.

Esamina e finalizza

  1. Nel riquadro a sinistra della pagina Crea bilanciatore del carico delle applicazioni esterno globale, fai clic su Esamina e finalizza.
  2. Confronta le impostazioni con quelle che volevi creare.
  3. Se le impostazioni sono corrette, fai clic su Crea nella parte inferiore del riquadro a sinistra. Visualizzerai nuovamente la schermata Bilanciamento del carico. Dopo aver creato il bilanciatore del carico, accanto viene visualizzato un segno di spunta verde per indicare che è in esecuzione.

gcloud

Configurazione backend

  1. Crea un controllo di integrità di base. Verrà controllato se un backend del bilanciatore del carico risponde alle richieste HTTP.

    gcloud compute health-checks create http http-basic-check
    
  2. Crea un servizio di backend globale. Questo servizio di backend riceverà il traffico HTTP dal bilanciatore del carico.

    gcloud compute backend-services create fortressnet-backend-service \
        --protocol HTTP \
        --health-checks http-basic-check \
        --global
    
  3. Aggiungi i gruppi di istanze come backend regionali del servizio di backend. Questa configurazione distribuirà il traffico tra i backend in base a un numero massimo di richieste al secondo (RPS) per istanza.

    gcloud compute backend-services add-backend fortressnet-backend-service \
        --balancing-mode RATE \
        --max-rate-per-instance 100 \
        --instance-group us-central1-pool \
        --instance-group-region us-central1 \
        --global
    gcloud compute backend-services add-backend fortressnet-backend-service \
        --balancing-mode RATE \
        --max-rate-per-instance 100 \
        --instance-group europe-west1-pool \
        --instance-group-region europe-west1 \
        --global
    gcloud compute backend-services add-backend fortressnet-backend-service \
        --balancing-mode RATE \
        --max-rate-per-instance 100 \
        --instance-group asia-east1-pool \
        --instance-group-region asia-east1 \
        --global
    

Regole host e percorso

  1. Definisci una mappa URL. Le mappe URL indirizzano URL diversi a servizi di backend diversi. Poiché abbiamo un solo servizio di backend, lo imposteremo semplicemente come servizio predefinito per tutti gli URL.

    gcloud compute url-maps create fortressnet-balancer \
        --default-service fortressnet-backend-service
    
  2. Crea un percorso del proxy HTTP. Le route del proxy HTTP accettano le richieste HTTP e le instradano in base alla mappa URL. In questo caso, invierà tutte le richieste al singolo servizio di backend.

    gcloud compute target-http-proxies create fortressnet-http-proxy \
        --url-map fortressnet-balancer
    

Configurazione frontend

  1. Crea due indirizzi IP esterni statici globali: uno per IPv4 e uno per IPv6. Questi saranno gli indirizzi IP esterni globali del bilanciatore del carico.

    gcloud compute addresses create fortressnet-ip \
        --ip-version IPV4 \
        --network-tier=PREMIUM \
        --global
    gcloud compute addresses create fortressnet-ipv6 \
        --ip-version IPV6 \
        --network-tier=PREMIUM \
        --global
    
  2. Cerca gli indirizzi IP esterni del bilanciatore del carico.

    gcloud compute addresses list
    
  3. Crea regole di forwarding globale per gli indirizzi IP esterni. In questo modo, le richieste HTTP IPv4 e IPv6 verranno inoltrate al proxy HTTP.

    gcloud compute forwarding-rules create fortressnet-http-rule \
        --load-balancing-scheme=EXTERNAL \
        --network-tier=PREMIUM \
        --global \
        --target-http-proxy fortressnet-http-proxy \
        --ports 80 \
        --address LOAD_BALANCER_IP_ADDRESS
    
    gcloud compute forwarding-rules create fortressnet-http-ipv6-rule \
        --load-balancing-scheme=EXTERNAL \
        --network-tier=PREMIUM \
        --global \
        --target-http-proxy fortressnet-http-proxy \
        --ports 80 \
        --address LOAD_BALANCER_IPV6_ADDRESS
    

(Facoltativo) Verifica che il bilanciatore del carico sia in funzione. Potresti dover attendere da uno a tre minuti.

Console

  1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Attendi che accanto a fortressnet-balancer venga visualizzato un segno di spunta verde nella colonna Backend.

  3. Fai clic su fortressnet-balancer.

  4. In Frontend, copia l'indirizzo IPv4 nella colonna IP:Porta. (Gli indirizzi IPv4 sono nel formato www.xxx.yyy.zzz. Non è necessario il numero di porta finale :nn.) Se la sezione Frontend non è presente, prova ad attendere qualche istante e poi ricarica la pagina web.

  5. Inserisci l'indirizzo IP in un browser web.

Dovresti vedere la pagina web "Pagina predefinita di Apache2 Debian".

Se invece viene visualizzata la pagina web "Errore 404 (non trovato)", prova ad attendere qualche altro minuto.

gcloud

  1. Cerca gli indirizzi IP esterni del bilanciatore del carico.

    gcloud compute addresses list
    
  2. Esegui una query sull'indirizzo IPv4. (Gli indirizzi IPv4 sono nel formato www.xxx.yyy.zzz.)

    curl http://LOAD_BALANCER_IP_ADDRESS | head
    

Dovresti vedere del testo HTML, inclusa la riga <title>Apache2 Debian Default Page: It works</title>.

Se invece vedi <title>Error 404 (Not Found)!!1</title>, prova ad attendere qualche altro minuto.

Best practice: crea un firewall sicuro per consentire solo il traffico interno proveniente dal bilanciatore del carico e dal controllo di integrità. Dopodiché, elimina il firewall originale che consentiva qualsiasi richiesta HTTP. In questo modo, le singole istanze non sono accessibili ai client esterni.

Console

  1. Crea un nuovo firewall che consenta solo il traffico dal bilanciatore del carico e il controllo di integrità.

    1. Nella console Trusted Cloud , vai alla pagina Regole firewall.

      Vai a Regole firewall

    2. Fai clic su Crea regola firewall.

    3. Imposta Nome su fortressnet-allow-load-balancer.

    4. In Rete, seleziona fortressnet.

    5. In Destinazioni, seleziona All instances in the network.

    6. In Intervalli IP di origine, digita 130.211.0.0/22 e premi il tasto Invio, quindi digita 35.191.0.0/16 e premi di nuovo Invio.

    7. In Protocolli e porte, seleziona tcp e inserisci 80.

    8. Fai clic su Crea.

  2. Elimina il vecchio firewall che consente tutto.

    1. Seleziona il segno di spunta accanto a fortressnet-allow-http.
    2. Fai clic su Elimina nella parte superiore della pagina.
    3. Nella finestra di dialogo, fai clic su Elimina.

gcloud

  1. Crea un nuovo firewall che consenta solo il traffico dal bilanciatore del carico e il controllo di integrità.

    gcloud compute firewall-rules create fortressnet-allow-load-balancer \
        --network fortressnet \
        --source-ranges 130.211.0.0/22,35.191.0.0/16 \
        --allow tcp:80
    
  2. Elimina il vecchio firewall che consente tutto.

    gcloud compute firewall-rules delete fortressnet-allow-http -q
    

(Facoltativo) Verifica il funzionamento della scalabilità automatica e del bilanciamento del carico

Genera traffico di prova

Supponiamo che sia mattina in Europa e che il tuo servizio web diventi improvvisamente virale su internet. Genera un numero elevato di richieste client contemporaneamente dall'Europa.

Console

  1. Crea un'istanza installata con lo strumento di test di carico Siege.

    1. Nella console Trusted Cloud , vai alla pagina Crea un'istanza.

      Vai a Crea un'istanza

    2. Imposta Nome su europe-loadtest.

    3. In Regione, seleziona europe-west1.

    4. Per le impostazioni avanzate, espandi la sezione Opzioni avanzate e segui questi passaggi:

      1. Espandi la sezione Gestione.
      2. Nel campo Automazione, inserisci il seguente script di avvio:
        apt -y install siege
        
    5. Per creare la VM, fai clic su Crea.

  2. Ottieni l'indirizzo IPv4 del bilanciatore del carico.

    1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

      Vai a Bilanciamento del carico

    2. Fai clic su fortressnet-balancer.

    3. In Frontend, copia l'indirizzo IPv4 nella colonna IP:Porta. (Gli indirizzi IPv4 sono nel formato www.xxx.yyy.zzz.)

  3. Accedi con SSH all'istanza di test di carico.

    1. Nella console Trusted Cloud , vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Attendi che accanto all'istanza europe-loadtest venga visualizzato un segno di spunta verde nella colonna Nome.

    3. Fai clic su SSH su europe-loadtest nella colonna Connetti.

  4. Inizia il test con lo strumento Siege. Scegli come target l'indirizzo IPv4 del bilanciatore del carico.

    siege -c150 http://LOAD_BALANCER_IP_ADDRESS
    

gcloud

  1. Crea un'istanza installata con lo strumento di test di carico Siege.

    gcloud compute instances create europe-loadtest \
        --network default \
        --zone europe-west1-c \
        --metadata startup-script='apt -y install siege'
    
  2. Ottieni l'indirizzo IPv4 del bilanciatore del carico.

    gcloud compute addresses list
    
  3. Apri una nuova sessione di shell in cui è disponibile il comando gcloud.

    1. Nella nuova sessione di shell, accedi con SSH all'istanza di test di carico.

      gcloud compute ssh --zone europe-west1-c europe-loadtest
      
    2. Inizia il test con lo strumento Siege. Scegli come target l'indirizzo IPv4 del bilanciatore del carico.

      siege -c150 http://LOAD_BALANCER_IP_ADDRESS
      

Dopo aver eseguito il comando siege, dovresti visualizzare l'output che dichiara The server is now under siege...

[alert] Zip encoding disabled; siege requires zlib support to enable it
** SIEGE 4.0.2
** Preparing 150 concurrent users for battle.
The server is now under siege...

Monitora il bilanciamento del carico e la scalabilità automatica

  1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul bilanciatore del carico denominato fortressnet-balancer.

  3. Fai clic sulla scheda Monitoraggio.

  4. Nel menu a discesa Backend, seleziona fortressnet-backend-service.

Potrebbero essere necessari fino a dieci minuti per visualizzare dati sufficienti. Subito dopo dovresti visualizzare un messaggio simile al seguente:

 Indicatore di monitoraggio della consoleTrusted Cloud che mostra le richieste provenienti dall&#39;Europa distribuite equamente tra tutti e tre i backend.

Che cosa succede:

  1. Il test di carico inizia a inviare una grande quantità di traffico contemporaneamente. Inizialmente, il bilanciatore del carico distribuisce le richieste equamente tra i tre backend. Il numero di richieste supera rapidamente i limiti di scalabilità automatica e potrebbe persino indurre i server a restituire Backend 5xx errors, che verrà visualizzato sull'indicatore di monitoraggio. Il gestore della scalabilità automatica inizia ad avviare istanze aggiuntive in base alle esigenze.

  2. La scalabilità automatica soddisfa le esigenze di capacità. Per ridurre al minimo la latenza delle richieste, i bilanciatori del carico di Compute Engine tentano di instradare le richieste al backend più vicino al client. In questo caso, poiché il traffico del test di carico proviene dall'Europa, il bilanciatore del carico preferisce instradare più richieste al backend europeo. Di conseguenza, la scalabilità automatica potrebbe avviare più istanze nel backend europeo per gestire una percentuale più elevata di richieste.

Genera traffico di test altrove

Supponiamo che il tuo servizio web sia diffuso anche in Asia tra gli utenti che si connettono a internet nel pomeriggio. Genera un numero elevato di richieste dall'Asia.

Console

  1. Per creare un'altra istanza installata con lo strumento di test di carico Siege, svolgi i seguenti passaggi:

    1. Nella console Trusted Cloud , vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Fai clic su Crea istanza.

    3. Imposta Nome su asia-loadtest.

    4. In Regione, seleziona asia-east1.

    5. Espandi la sezione Opzioni avanzate.

    6. Espandi la sezione Gestione.

    7. Nella sezione Automazione, inserisci il seguente script di avvio:

      apt -y install siege
      

    8. Fai clic su Crea.

  2. Per recuperare l'indirizzo IP del bilanciatore del carico, svolgi i seguenti passaggi:

    1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

      Vai a Bilanciamento del carico

    2. Fai clic su fortressnet-balancer.

    3. In Frontend, copia l'indirizzo IPv4 nella colonna IP:Porta. (Gli indirizzi IPv4 sono nel formato www.xxx.yyy.zzz.)

  3. Accedi con SSH all'istanza di test di carico.

    1. Attendi che accanto all'istanza asia-loadtest venga visualizzato un segno di spunta verde nella colonna Nome.
    2. Fai clic su SSH su asia-loadtest nella colonna Connetti.
  4. Inizia il test con lo strumento Siege. Scegli come target l'indirizzo IPv4 del bilanciatore del carico.

    siege -c150 http://LOAD_BALANCER_IP_ADDRESS
    

gcloud

  1. Nella sessione di shell originale, crea un'altra istanza installata con lo strumento di test di carico Siege.

    gcloud compute instances create asia-loadtest \
        --network default \
        --zone asia-east1-c \
        --metadata startup-script='apt -y install siege'
    
  2. Ottieni l'indirizzo IPv4 del bilanciatore del carico.

    gcloud compute addresses list
    
  3. Apri una nuova sessione di shell in cui è disponibile il comando gcloud.

    1. Nella nuova sessione di shell, accedi con SSH all'istanza di test di carico.

      gcloud compute ssh --zone asia-east1-c asia-loadtest
      
    2. Inizia il test con lo strumento Siege. Scegli come target l'indirizzo IPv4 del bilanciatore del carico.

      siege -c150 http://LOAD_BALANCER_IP_ADDRESS
      

Anche adesso dovresti vedere l'output che dichiara The server is now under siege...

[alert] Zip encoding disabled; siege requires zlib support to enable it
** SIEGE 4.0.2
** Preparing 150 concurrent users for battle.
The server is now under siege...

Monitora il bilanciamento del carico e la scalabilità automatica

Torna alla visualizzazione del monitoraggio del bilanciamento del carico dell'ultima volta. Potrebbero essere necessari fino a dieci minuti per visualizzare nuovi dati sufficienti. Subito dopo dovresti visualizzare un messaggio simile al seguente:

 Indicatore del monitoraggio della consoleTrusted Cloud che mostra le richieste provenienti da Europa e Asia distribuite tra tutti e tre i backend

Che cosa succede:

  1. Anche in questo caso, il test di carico invia un altro numero elevato di richieste contemporaneamente. Inizialmente, il bilanciatore del carico distribuisce le richieste equamente tra i tre backend esistenti. Quando il numero di richieste supera i limiti di scalabilità automatica, il gestore della scalabilità automatica inizia ad avviare istanze aggiuntive in base alle esigenze.

  2. La scalabilità automatica soddisfa le nuove esigenze di capacità. Il bilanciatore del carico preferisce comunque indirizzare le richieste ai backend disponibili più vicini. Di conseguenza, alla fine il backend asiatico riceve richieste principalmente dall'Asia, il backend europeo riceve richieste principalmente dall'Europa e il backend statunitense riceve tutto il resto.

Libera spazio

Al termine del tutorial, puoi liberare spazio eliminando le risorse che hai creato in modo che non utilizzino più la quota e non generino addebiti. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.

Eliminazione del progetto

Il modo più semplice per eliminare la fatturazione è quello di eliminare il progetto creato per il tutorial.

Per eliminare il progetto:

  1. In the Trusted Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Eliminazione di istanze

Per eliminare un'istanza di Compute Engine:

  1. In the Trusted Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Passaggi successivi