Configura un bilanciatore del carico di rete proxy classico (proxy SSL) con backend di gruppi di istanze VM

Questo documento fornisce istruzioni per la configurazione di un bilanciatore del carico di rete proxy classico con da un proxy SSL di destinazione e da un gruppo di istanze VM. Prima di iniziare, leggi Per informazioni, consulta Panoramica del bilanciatore del carico di rete proxy esterno sul funzionamento di questi bilanciatori del carico.

Panoramica della configurazione

Questo esempio mostra come configurare un bilanciatore del carico di rete proxy esterno per servizio in due regioni: Regione A e Regione B. Potrai configurare quanto segue:

  1. Quattro istanze distribuite in due regioni
  2. Gruppi di istanze per il blocco delle istanze
  3. Componenti di backend, tra cui:
    • Controllo di integrità: utilizzato per monitorare l'integrità dell'istanza
    • Servizio di backend: monitora i gruppi di istanze e li impedisce dal superamento della configurazione
    • Backend: contengono i gruppi di istanze
  4. Componenti di frontend, tra cui:
    • Una risorsa del certificato SSL. Puoi utilizzare un certificato autogestito, in cui fornisci il tuo proprio certificato SSL o un certificato gestito da Google, in cui Google emette un certificato valido per tutti i tuoi domini. Per ulteriori informazioni, consulta l'articolo Tipi di certificati SSL.
    • Il proxy SSL stesso con il relativo certificato SSL
    • Un indirizzo IPv4 statico esterno e una regola di forwarding che invia all'utente traffico verso il proxy
    • Un indirizzo IPv6 statico esterno e una regola di forwarding che invia traffico verso il proxy
  5. Una regola firewall che consenta il traffico dal bilanciatore del carico di controllo dell'integrità delle istanze.
  6. Facoltativamente, un criterio SSL per controlla le funzionalità del protocollo SSL negoziate dal bilanciatore del carico del proxy SSL con i clienti.

Dopodiché testerai la configurazione.

Autorizzazioni

Per seguire questa guida, devi essere in grado di creare istanze e modificare un in un progetto. Devi essere un progetto proprietario o editor oppure includono tutte le seguenti caratteristiche Ruoli IAM di Compute Engine:

Attività Ruolo richiesto
Creazione di reti, subnet e componenti del bilanciatore del carico Amministratore rete
Aggiungi e rimuovi regole firewall Amministratore sicurezza
Creazione delle istanze Amministratore istanze Compute

Per ulteriori informazioni, consulta le seguenti guide:

Configura la rete e le subnet

Per creare la rete e la subnet di esempio, segui questi passaggi.

Console

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

    Vai alle reti VPC

  2. Fai clic su Crea rete VPC.

  3. Inserisci un nome per la rete.

  4. Scegli Personalizzata per la Modalità di creazione subnet.

  5. Nella sezione Nuova subnet, specifica la seguente configurazione per una subnet:

    1. Nel campo Nome, specifica un nome per la subnet.
    2. Nel campo Regione, inserisci il nome di una regione.
    3. Per Tipo di stack IP, seleziona IPv4 (stack singolo).
    4. Nel campo Intervallo di indirizzi IP, inserisci un intervallo di indirizzi IP. Questo è l'intervallo IPv4 principale per nella subnet.
  6. Fai clic su Fine.

  7. Per aggiungere una subnet in una regione diversa, fai clic su Aggiungi subnet e ripeti i passaggi precedenti.

  8. Fai clic su Crea.

gcloud

gcloud compute networks subnets update SUBNET \
    --network=NETWORK \
    --stack-type=IPV4_ONLY \
    --range=10.1.2.0/24 \
    --region=REGION_A

Sostituisci quanto segue:

  • NETWORK: un nome per la rete VPC

  • SUBNET: un nome per la subnet

  • REGION_A: il nome della regione

Configura istanze e gruppi di istanze

Questa sezione mostra come creare istanze e gruppi di istanze, quindi aggiungere le istanze ai gruppi di istanze. Un sistema di produzione normalmente userebbe sui gruppi di istanze gestite sui modelli di istanze, ma questa configurazione è più veloce per i test iniziali.

Creazione delle istanze

Crea queste istanze con il tag ssl-lb, che verrà utilizzato dalla regola firewall in un secondo momento.

Console

Crea istanze

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

    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Imposta Nome su vm-a1.

  4. Imposta la Zona su ZONE_A.

  5. Fai clic su Opzioni avanzate.

  6. Fai clic su Networking e configura il seguente campo:

    • Nel campo Tag di rete, inserisci ssl-lb e allow-health-check-ipv6.
  7. Nella sezione Interfacce di rete, fai clic su Modifica. e apporta le seguenti modifiche:

    • Seleziona la rete.
    • Seleziona una subnet.

    • Fai clic su Fine.

  8. Fai clic su Gestione. Inserisci lo script seguente nel Script di avvio.

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
  9. Lascia invariati i valori predefiniti per gli altri campi.

  10. Fai clic su Crea.

  11. Crea vm-a2 con le stesse impostazioni, ad eccezione di Lo Script di avvio deve essere impostato come segue:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html
  12. Crea vm-b1 con le stesse impostazioni, ad eccezione di Zona impostata su ZONE_B e Lo Script di avvio deve essere impostato come segue:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html
  13. Crea vm-b2 con le stesse impostazioni, ad eccezione di Zona impostata su ZONE_B e Lo Script di avvio deve essere impostato come segue:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html

gcloud

  1. Crea vm-a1 nella zona ZONE_A.

    gcloud compute instances create vm-a1 \
       --image-family debian-12 \
       --image-project debian-cloud \
       --tags ssl-lb \
       --zone ZONE_A \
       --metadata startup-script="#! /bin/bash
         sudo apt-get update
         sudo apt-get install apache2 -y
         sudo a2ensite default-ssl
         sudo a2enmod ssl
         sudo service apache2 restart
         echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
         EOF"
    
  2. Crea vm-a2 nella zona ZONE_A.

    gcloud compute instances create vm-a2 \
      --image-family=debian-12 \
      --image-project=debian-cloud \
      --tags=ssl-lb \
      --zone=ZONE_A \
      --metadata=startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html
         EOF"
    
  3. Crea vm-b1 nella zona ZONE_B.

    gcloud compute instances create vm-b1 \
      --image-family=debian-12 \
      --image-project=debian-cloud \
      --tags=ssl-lb \
      --zone=ZONE_B \
      --metadata=startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html
        EOF"
    
  4. Crea vm-b2 nella zona ZONE_B.

    gcloud compute instances create vm-b2 \
      --image-family=debian-12 \
      --image-project=debian-cloud \
      --tags=ssl-lb \
      --zone=ZONE_B \
      --metadata=startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html
        EOF"
    

Crea un gruppo di istanze per ogni zona e aggiungi le istanze

Console

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

    Vai a Gruppi di istanze

  2. Fai clic su Crea gruppo di istanze.

  3. Imposta il Nome su instance-group-a.

  4. Imposta la Zona su ZONE_A.

  5. In Mappatura delle porte, fai clic su Aggiungi porta. Un bilanciatore del carico invia il traffico a un gruppo di istanze attraverso un predefinita. Crea una porta denominata per mappare il traffico in entrata su una porta specifica numero.

    1. Inserisci ssl-lb nel campo Nome porta e nel campo Numeri di porta 443.
  6. In Definizione di istanza, fai clic su Seleziona istanze esistenti.

  7. In Istanze VM, seleziona vm-a1 e vm-a2.

  8. Non modificare le altre impostazioni.

  9. Fai clic su Crea.

  10. Ripeti i passaggi, ma imposta quanto segue:

    • Nome: instance-group-b
    • Zona: ZONE_B
    • Nome porta di ssl-lb e Numeri di porta di 443
    • Istanze: vm-b1 e vm-b2.
  11. Verifica di avere due gruppi di istanze, ciascuno con due istanze.

gcloud

  1. Creare un gruppo di istanze-group-a.

    gcloud compute instance-groups unmanaged create instance-group-a --zone ZONE_A
    
  2. Imposta una porta denominata per il gruppo di istanze.

    gcloud compute instance-groups set-named-ports instance-group-a \
        --named-ports=ssl-lb:443 \
        --zone=ZONE_A
    
  3. Aggiungi vm-a1 e vm-a2 a instance-group-a

    gcloud compute instance-groups unmanaged add-instances instance-group-a \
        --instances=vm-a1,vm-a2 \
        --zone=ZONE_A
    
  4. Crea il gruppo di istanze instance-group-b.

    gcloud compute instance-groups unmanaged create instance-group-b --zone ZONE_B
    
  5. Imposta una porta denominata per il gruppo di istanze.

    gcloud compute instance-groups set-named-ports instance-group-b \
        --named-ports=ssl-lb:443 \
        --zone=ZONE_B
    
  6. Aggiungi vm-b1 e vm-b2 a instance-group-b

    gcloud compute instance-groups unmanaged add-instances instance-group-b \
        --instances=vm-b1,vm-b2 \
        --zone=ZONE_B
    

Ora hai un gruppo di istanze in ciascuna delle due regioni, ciascuna con due di Compute Engine.

Crea una regola firewall per il bilanciatore del carico SSL

Configura il firewall in modo da consentire il traffico dal bilanciatore del carico e dall'integrità di controllo delle istanze.

Console

  1. Nella console Google Cloud, vai alla pagina Criteri firewall.

    Vai a Criteri firewall

  2. Fai clic su Crea regola firewall.

  3. Nel campo Nome, inserisci allow-ssl-lb-and-health.

  4. Seleziona la rete.

  5. In Target, seleziona Tag di destinazione specificati.

  6. Imposta Tag di destinazione su ssl-lb.

  7. Imposta Filtro di origine su Intervalli IPv4.

  8. Imposta Intervalli IPv4 di origine su 130.211.0.0/22 e 35.191.0.0/16.

  9. In Protocolli e porte, imposta Protocolli e porte specificati su tcp:443.

  10. Fai clic su Crea.

gcloud

gcloud compute firewall-rules create allow-ssl-lb-and-health \
  --source-ranges=130.211.0.0/22,35.191.0.0/16 \
  --target-tags=ssl-lb \
  --allow=tcp:443

Se utilizzi un certificato gestito da Google, verifica che il tuo lo stato della risorsa di certificato è ATTIVO. Per ulteriori informazioni, vedi Risorsa del certificato SSL gestito da Google .

gcloud compute ssl-certificates list

Configura il bilanciatore del carico

Console

Avvia la configurazione

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

    Vai a Bilanciamento del carico

  2. Fai clic su Crea bilanciatore del carico.
  3. Per Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
  4. Per Proxy o passthrough, seleziona Bilanciatore del carico proxy e fai clic su Avanti.
  5. Per Pubblico o interno, seleziona Rivolto al pubblico (esterno) e fai clic su Avanti.
  6. Per Deployment globale o in una regione singola, seleziona Ideale per carichi di lavoro e fai clic su Avanti.
  7. Per Generazione del bilanciatore del carico, seleziona proxy classico Bilanciatore del carico di rete e fai clic su Avanti.
  8. Fai clic su Configura.

Configurazione di base

Imposta il Nome su my-ssl-lb.

Configurazione backend

  1. Fai clic su Configurazione backend.
  2. In Tipo di backend, seleziona Gruppi di istanze.
  3. Imposta il Protocollo su SSL.
  4. In Porta denominata, inserisci ssl-lb.
  5. Accetta il valore predefinito per Timeout.
  6. Lascia il Tipo di backend impostato su Gruppi di istanze.
  7. Configura il primo backend:
    1. In Nuovo backend, seleziona il gruppo di istanze instance-group-a.
    2. Imposta Numeri di porta su 443.
    3. Conserva i valori predefiniti rimanenti.
  8. Configura il secondo backend:
    1. Fai clic su Aggiungi backend.
    2. Seleziona il gruppo di istanze instance-group-b.
    3. Imposta Numeri di porta su 443.
    4. Fai clic su Fine.
  9. Configura il controllo di integrità:
    1. In Controllo di integrità, seleziona Crea controllo di integrità.
    2. Imposta il Nome del controllo di integrità su my-ssl-health-check.
    3. In Protocollo, seleziona SSL.
    4. Conserva i valori predefiniti rimanenti.
    5. Fai clic su Salva e continua.
  10. Nella console Google Cloud, verifica che sia presente un segno di spunta accanto a Configurazione backend. In caso contrario, assicurati di aver completato tutti i passaggi.

Configurazione frontend

  1. Fai clic su Configurazione frontend.
    1. Aggiungi la prima regola di forwarding:
    2. Inserisci my-ssl-lb-forwarding-rule come nome.
    3. In Protocollo, seleziona SSL.
    4. In Indirizzo IP, seleziona Crea indirizzo IP:
        .
      1. Inserisci ssl-lb-static-ipv4 come nome.
      2. Fai clic su Prenota.
    5. In Certificato, seleziona Crea un nuovo certificato.
    6. Inserisci my-ssl-cert come nome.
    7. Se scegli Carica il mio certificato, completa i seguenti passaggi:
        .
      1. Incolla il certificato o fai clic su Carica per passare al tuo del certificato.
      2. Incolla la chiave privata o fai clic su Carica per accedere al tuo chiave privata.
    8. Se scegli Crea certificato gestito da Google, inserisci un Dominio.
      1. Per inserire altri domini, fai clic su Aggiungi dominio.
      2. Fai clic su Crea.
    9. Per aggiungere risorse di certificato oltre al protocollo SSL principale risorsa del certificato, fai clic su Certificati aggiuntivi. Quindi seleziona un altro certificato dal menu Certificati oppure fai clic su Crea un nuovo certificato e segui le istruzioni riportate sopra.
      1. (Facoltativo) Per creare un criterio SSL:
      2. In Criterio SSL, seleziona Crea un criterio.
      3. Inserisci my-ssl-policy come nome.
      4. Per Versione TLS minima, seleziona TLS 1.0.
      5. In Profilo, seleziona Moderno. Le funzionalità abilitate e Vengono visualizzate le funzionalità disattivate.
      6. Fai clic su Salva.
    10. (Facoltativo) Attiva Protocollo proxy.
    11. Fai clic su Fine.
      Aggiungi la seconda regola di forwarding:
    1. Fai clic su Aggiungi IP e porta frontend.
    2. Inserisci my-ssl-lb-ipv6-forwarding-rule come nome.
    3. Imposta Versione IP su IPv6.
    4. In Indirizzo IP, fai clic su Crea indirizzo IP.
      1. Inserisci il nome ssl-lb-static-ipv6.
      2. Fai clic su Prenota.
    5. In Certificato, seleziona my-ssl-cert.
    6. Per aggiungere risorse di certificato oltre al protocollo SSL principale risorsa di certificazione, seleziona un certificato dalla Elenco Certificati o fai clic su Crea un nuovo certificato.
    7. (Facoltativo) Utilizza un criterio SSL o attiva Protocollo proxy.
    8. Fai clic su Fine.
    9. Verifica che sia presente un segno di spunta verde accanto a Configurazione frontend. nella console Google Cloud. In caso contrario, assicurati di aver completato tutti i passaggi precedenti.
    10. Fai clic su Fine.

Esamina e finalizza

  1. Fai clic su Esamina e finalizza.
  2. Rivedi le impostazioni di configurazione del bilanciatore del carico.
  3. (Facoltativo) Fai clic su Codice equivalente per visualizzare la richiesta API REST. che verrà utilizzato per creare il bilanciatore del carico.
  4. Fai clic su Crea.

gcloud

  1. Creare un controllo di integrità.
       gcloud compute health-checks create ssl my-ssl-health-check --port=443
       
  2. Crea un servizio di backend.
       gcloud compute backend-services create my-ssl-lb \
           --load-balancing-scheme EXTERNAL \
           --global-health-checks \
           --protocol=SSL \
           --port-name=ssl-lb \
           --health-checks=my-ssl-health-check \
           --timeout=5m \
           --global
       

    In alternativa, puoi configurare le comunicazioni non criptate il bilanciatore del carico più rapido alle istanze utilizzando --protocol=TCP.

  3. Aggiungi gruppi di istanze al servizio di backend.
       gcloud compute backend-services add-backend my-ssl-lb \
           --instance-group=instance-group-a \
           --instance-group-zone=ZONE_A \
           --balancing-mode=UTILIZATION \
           --max-utilization=0.8 \
           --global
       
       gcloud compute backend-services add-backend my-ssl-lb \
           --instance-group=instance-group-b \
           --instance-group-zone=ZONE_B \
           --balancing-mode=UTILIZATION \
           --max-utilization=0.8 \
           --global
       
  4. Configura la risorsa del certificato SSL.

    Se utilizzi certificati autogestiti, devi già disporre di almeno un certificato SSL da caricare. In caso contrario, vedi Panoramica dei certificati SSL. Quando utilizzi più certificati SSL, devi crearli uno alla volta.

    Se utilizzi certificati SSL autogestiti e non disponi di un chiave privata e un certificato firmato, puoi creare e utilizzare certificato autofirmato a scopo di test.

    Per creare una risorsa del certificato SSL autogestito:

       gcloud compute ssl-certificates create my-ssl-cert \
           --certificate=CRT_FILE_PATH \
           --private-key=KEY_FILE_PATH
       

    Per creare una risorsa del certificato SSL gestito da Google:

       gcloud compute ssl-certificates create www-ssl-cert \
           --domains=DOMAIN_1,DOMAIN_2
       
  5. Configura un proxy SSL di destinazione.

    I bilanciatori del carico di rete proxy esterno supportano la creazione di un proxy SSL di destinazione con da uno a quindici certificati SSL. Prima di eseguire questo comando, devi creare una risorsa del certificato SSL per ogni certificato.

    Se vuoi attivare l'intestazione proxy, impostala su PROXY_V1 anziché none. Facoltativamente, puoi collegare un criterio SSL al proxy di destinazione. Per prima cosa, crea il criterio.

       gcloud compute ssl-policies create my-ssl-policy \
           --profile=MODERN \
           --min-tls-version=1.0
       

    Quindi il criterio è stato collegato al proxy di destinazione.

       gcloud compute target-ssl-proxies create my-ssl-lb-target-proxy \
           --backend-service=my-ssl-lb \
           --ssl-certificates=[SSL_CERT_1][,[SSL_CERT_2],...] \
           --ssl-policy=my-ssl-policy \
           --proxy-header=NONE
       
  6. Prenota indirizzi IP statici globali.

    I tuoi clienti utilizzano questi indirizzi IP per accedere al servizio con bilanciamento del carico.

       gcloud compute addresses create ssl-lb-static-ipv4 \
           --ip-version=IPV4 \
           --global
       
       gcloud compute addresses create ssl-lb-static-ipv6 \
           --ip-version=IPV6 \
           --global
       
  7. Configura le regole di forwarding globali.

    Crea regole di forwarding globali associate al proxy di destinazione. Sostituisci LB_STATIC_IP e LB_STATIC_IPV6 con gli indirizzi IP che generate in Prenota indirizzi IP statici globali.

       gcloud compute forwarding-rules create my-ssl-lb-forwarding-rule \
           --load-balancing-scheme EXTERNAL \
           --global \
           --target-ssl-proxy=my-ssl-lb-target-proxy \
           --address=LB_STATIC_IP \
           --ports=443
       
       gcloud compute forwarding-rules create my-ssl-lb-ipv6-forwarding-rule \
           --load-balancing-scheme EXTERNAL \
           --global \
           --target-ssl-proxy=my-ssl-lb-target-proxy \
           --address=LB_STATIC_IPV6 \
           --ports=443
       

Connetti il tuo dominio al bilanciatore del carico

Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato dal bilanciatore del carico, ad esempio 30.90.80.100. Per puntare il dominio verso bilanciatore del carico, crea un record A utilizzando il servizio di registrazione del dominio. Se hai aggiunto più domini al tuo certificato SSL, devi aggiungere un record A per ciascuno, puntando tutti all'indirizzo IP del bilanciatore del carico. Ad esempio, per crea record A per www.example.com e example.com, usa quanto segue:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Se utilizzi Cloud DNS come provider DNS, consulta Aggiungere, modificare ed eliminare i record.

Testa il bilanciatore del carico

Nel browser web, connettiti al tuo indirizzo IP statico tramite HTTPS. In questo di prova, le istanze stanno usando certificati autofirmati. Pertanto, la prima volta che accedi a una pagina, nel browser viene visualizzato un avviso. Clic tramite l'avviso per vedere la pagina effettiva. Sostituisci IP_ADDRESS con l'indirizzo IPv4 o IPv6 creato in precedenza.

https://IP_ADDRESS

Dovresti vedere uno degli host della regione più vicina a te. Ricarica il finché non vedi l'altra istanza in quella regione. Per visualizzare le istanze da nell'altra regione, arresta le istanze nella regione più vicina.

In alternativa, puoi utilizzare curl dalla riga di comando della macchina locale. Se utilizzi un certificato autofirmato sul proxy SSL, devi inoltre specificare -k. L'opzione curl -k consente a curl di funzionare anche se disponi di un certificato autofirmato o nessun certificato. Se hai una normale puoi rimuovere questo parametro. Dovresti usare soltanto -k per testare il tuo sito. In circostanze normali, è stata richiesta una è una misura di sicurezza importante e gli avvisi relativi ai certificati non da ignorare.

Sostituisci IP_ADDRESS con l'indirizzo IPv4 o IPv6 creato in precedenza.

curl -k https://IP_ADDRESS

Se non riesci a raggiungere il bilanciatore del carico, prova i passaggi descritti in Risoluzione dei problemi di configurazione.

Opzioni di configurazione aggiuntive

Questa sezione espande l'esempio di configurazione per fornire alternative e e altre opzioni di configurazione. Tutte le attività sono facoltative. Puoi eseguirle in qualsiasi ordine.

Protocollo PROXY per conservare le informazioni di connessione del client

Il bilanciatore del carico di rete proxy termina le connessioni TCP da il client e crea nuove connessioni alle istanze. Per impostazione predefinita, le informazioni sull'IP e sulla porta del client originali non vengono conservate.

Per conservare e inviare le informazioni di connessione originali alle tue istanze, Attiva il protocollo PROXY versione 1. Questo protocollo invia un'intestazione aggiuntiva contenente l'origine Indirizzo IP, indirizzo IP di destinazione e numeri di porta per l'istanza come parte della richiesta.

Assicurati che le istanze di backend del bilanciatore del carico di rete del proxy siano in esecuzione che supportano le intestazioni di protocollo PROXY. Se i server non sono configurate per supportare le intestazioni del protocollo PROXY, le istanze di backend diverse.

Se imposti il protocollo PROXY per il traffico degli utenti, puoi impostarlo anche per il tuo controlli di integrità. Se stai controllando lo stato di integrità e la pubblicazione sulla stessa porta, imposta il valore --proxy-header del controllo di integrità in modo che corrisponda dell'impostazione del bilanciatore del carico.

L'intestazione del protocollo PROXY è in genere una singola riga di testo leggibile testo nel seguente formato:

PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n

L'esempio seguente mostra un protocollo PROXY:

PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n

Nell'esempio precedente, l'IP client è 192.0.2.1, l'IP di bilanciamento del carico è 198.51.100.1, la porta del client è 15221 e la porta di destinazione è 110.

Se l'IP del client non è noto, il bilanciatore del carico genera un'intestazione del protocollo PROXY nel seguente formato:

PROXY UNKNOWN\r\n

Aggiorna l'intestazione del protocollo PROXY per il proxy di destinazione

L'esempio di configurazione del bilanciatore del carico in questa pagina mostra come Abilita l'intestazione del protocollo PROXY durante la creazione del bilanciatore del carico di rete proxy. Utilizza questi per modificare l'intestazione del protocollo PROXY per un proxy di destinazione esistente.

Console

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

    Vai a Bilanciamento del carico

  2. Fai clic su Modifica per il tuo carico. con il bilanciatore del carico di rete passthrough esterno regionale.
  3. Fai clic su Configurazione frontend.
  4. Modifica il valore del campo Protocollo proxy su On.
  5. Fai clic su Update (Aggiorna) per salvare le modifiche.

gcloud

Nel comando seguente, modifica il campo --proxy-header e impostalo su NONE o PROXY_V1, a seconda delle tue esigenze.

gcloud compute target-ssl-proxies update TARGET_PROXY_NAME \
    --proxy-header=[NONE | PROXY_V1]

Configura l'affinità sessione

Queste procedure mostrano come aggiornare un servizio di backend per l'esempio Bilanciatore del carico del proxy SSL in modo che il servizio di backend utilizzi l'affinità IP client.

Quando è abilitata l'affinità IP client, il bilanciatore del carico indirizza una particolare delle richieste del client alla stessa VM di backend in base a un hash creato l'indirizzo IP del client e l'indirizzo IP del bilanciatore del carico (l'indirizzo IP esterno di una regola di forwarding esterna).

Console

Per abilitare l'affinità sessione IP client:

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

    Vai a Bilanciamento del carico

  2. Fai clic su Backend.

  3. Fai clic su my-ssl-lb (il nome del servizio di backend creato per questo esempio) e fai clic su Modifica.

  4. Nella pagina Dettagli servizio di backend, fai clic su Avanzate. configurazione.

  5. In Affinità sessione, seleziona IP client dal menu.

  6. Fai clic su Aggiorna.

gcloud

Usa questo comando per aggiornare il backend my-ssl-lb specificando l'affinità sessione IP client:

gcloud compute backend-services update my-ssl-lb \
    --global \
    --session-affinity=CLIENT_IP

API

Per impostare l'affinità sessione IP client, effettua una richiesta PATCH alla backendServices/patch .

PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-ssl-lb
{
  "sessionAffinity": "CLIENT_IP"
}

Abilita svuotamento della connessione

Puoi abilitare lo svuotamento della connessione sui servizi di backend per garantire il minimo agli utenti quando un'istanza che gestisce il traffico viene terminato, rimosso manualmente o rimosso da un gestore della scalabilità automatica. Per scoprire di più su per lo svuotamento della connessione, consulta Attivazione dello svuotamento connessioni documentazione.

Passaggi successivi