Configurare un bilanciatore del carico delle applicazioni interno regionale con un backend esterno

La guida mostra come configurare un bilanciatore del carico delle applicazioni interno regionale che esegue il proxy delle richieste a un backend esterno. Un backend esterno è un endpoint esterno a Google Cloud.

Prima di seguire questa guida, familiarizza con la documentazione relativa alla panoramica del NEG su internet, incluse le limitazioni.

Il seguente diagramma di architettura mostra un frontend del bilanciatore del carico delle applicazioni interno regionale con un backend esterno.

Un bilanciatore del carico delle applicazioni interno regionale con un backend esterno.
Figura 1. Un bilanciatore del carico delle applicazioni interno regionale con un backend esterno (fai clic per ingrandire).

Autorizzazioni

Per seguire questa guida, devi creare un NEG internet e creare o modificare un bilanciatore del carico delle applicazioni in un progetto. Devi essere un proprietario o editor del progetto (roles/owner o roles/editor) oppure devi disporre di entrambi i seguenti ruoli IAM di Compute Engine.

Attività Ruolo richiesto
Creare e modificare i componenti del bilanciatore del carico Amministratore rete Compute
(roles/compute.networkAdmin)
Creare e modificare i NEG Amministratore di istanze Compute
(roles/compute.instanceAdmin)

Configurare l'ambiente di backend esterno al di fuori di Google Cloud

Per configurare l'ambiente di backend esterno, consulta le sezioni seguenti.

Configura gli endpoint di rete

Configura un endpoint di rete per esporre il backend esterno a Google Cloud. Assicurati che l'endpoint, ovvero una combinazione di IP:porta o un nome di dominio completo (FQDN) e una porta, sia raggiungibile su internet. A questo endpoint viene fatto riferimento in un secondo momento dal NEG internet.

Per i requisiti di configurazione dettagliati degli endpoint NEG internet, consulta la panoramica dei NEG internet.

Consenti al backend esterno di ricevere traffico da Google Cloud

Questo passaggio può essere completato dopo aver creato la sottorete solo proxy e configurato il gateway Cloud NAT.

Per consentire alle richieste da Google Cloud di raggiungere il tuo backend esterno, devi eseguire i seguenti passaggi:

  1. Configura un gateway Cloud NAT con gli indirizzi IP utilizzati per il traffico in uscita da Google Cloud. Il gateway mappa l'intervallo della sottorete solo proxy agli indirizzi IP esterni. Per la procedura, consulta Configurare un gateway Cloud NAT.
  2. Assicurati che l'ambiente di backend esterno sia configurato per consentire al traffico da Google Cloud di raggiungere il backend esterno. Ad esempio, se hai utilizzato indirizzi IP prenotati in precedenza per il gateway NAT, inserirai questi indirizzi IP nella lista consentita nel tuo ambiente esterno. Per eseguire questa configurazione, probabilmente dovrai collaborare con l'amministratore della rete o della sicurezza del tuo ambiente esterno.

Configurare l'ambiente Google Cloud

Avrai bisogno di una rete VPC con due subnet: una per i componenti del bilanciatore del carico e l'altra per la subnet solo proxy della regione. Poi, creerai il bilanciatore del carico con un backend NEG internet.

Crea la rete e la subnet VPC

Questa sottorete viene utilizzata per creare i componenti del bilanciatore del carico.

console Cloud

  1. Nella console Google Cloud, vai alla pagina Reti VPC.
    Vai a Reti VPC
  2. Fai clic su Crea rete VPC.
  3. Inserisci un Nome: LB_NETWORK.
  4. Nella sezione Subnet:
    • Imposta Modalità di creazione subnet su Personalizzata.
    • Nella sezione Nuova subnet, inserisci le seguenti informazioni:
      • Nome: LB_SUBNET_NAME
      • Regione: REGION
      • Intervallo di indirizzi IP: LB_SUBNET_RANGE
    • Fai clic su Fine.
  5. Fai clic su Crea.

gcloud

  1. Crea la rete VPC personalizzata utilizzando il comando gcloud compute networks create:

    gcloud compute networks create LB_NETWORK \
      --subnet-mode=custom
    
  2. Crea una subnet nella rete LB_NETWORK.

    gcloud compute networks subnets create LB_SUBNET_NAME \
      --network=LB_NETWORK \
      --range=LB_SUBNET_RANGE \
      --region=REGION
    

Configura la subnet solo proxy

Questa subnet solo proxy viene utilizzata da tutti i bilanciatori del carico basati su Envoy a livello di regione nella regione REGION.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.
    Vai a Reti VPC
  2. Seleziona una Rete dall'elenco.
  3. Fai clic su Aggiungi subnet.
  4. Inserisci un Nome: PROXY_ONLY_SUBNET_NAME.
  5. Seleziona una Regione: REGION.
  6. Imposta Finalità su Proxy gestito a livello di regione.
  7. Inserisci un intervallo di indirizzi IP: PROXY_ONLY_SUBNET_RANGE.
  8. Fai clic su Aggiungi.

gcloud

Crea la subnet solo proxy con il comando gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=LB_NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Configura un gateway Cloud NAT

Prima di configurare il gateway Cloud NAT, assicurati di aver esaminato le limitazioni e le considerazioni sui prezzi associati. Per maggiori dettagli, consulta NEG regionali: utilizzare un gateway Cloud NAT.

I comandi riportati di seguito descrivono come configurare un gateway Cloud NAT. Il gateway Cloud NAT può essere configurato per utilizzare indirizzi IP esterni NAT automatici, in cui l'allocazione si basa sulla domanda, o per utilizzare un insieme di indirizzi IP esterni prenotati manualmente. Il gateway mappa l'intervallo di subnet solo proxy agli indirizzi IP esterni.

Configurare gli indirizzi IP allocati automaticamente tramite NAT

Quando crei un gateway Cloud NAT con l'allocazione automatica degli indirizzi IP NAT, puoi specificare i livelli di servizio di rete (livello Premium o livello Standard) da cui il gateway Cloud NAT alloca gli indirizzi IP.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic su Inizia o Crea gateway Cloud NAT.

  3. Inserisci un nome per il gateway LB_NAT_CONFIG.

  4. In Tipo NAT, seleziona Pubblico.

  5. Nell'elenco Rete, seleziona LB_NETWORK.

  6. Nell'elenco Regione, seleziona REGION.

  7. Crea un router Cloud nella regione.

  8. In Tipo di endpoint di origine, seleziona Bilanciatori del carico proxy gestiti.

  9. Nell'elenco Origine, seleziona Personalizzato.

    • In Subnet, seleziona PROXY_ONLY_SUBNET_NAME.
  10. Nell'elenco Indirizzi IP Cloud NAT, seleziona Automatico (consigliato).

  11. Per Livello di servizio di rete, scegli Premium o Standard.

  12. Fai clic su Crea.

gcloud

Utilizza indirizzi IP allocati dinamicamente se il tuo ambiente di backend esterno non richiede di inserire nella lista consentita indirizzi IP Google Cloud specifici che possono inviare traffico al backend esterno.

  1. Crea un router Cloud:

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. Configura il gateway Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --auto-allocate-nat-external-ips \
      --region=REGION
    

Sostituisci quanto segue:

  • LB_NAT_CONFIG: il nome della configurazione NAT.

  • ROUTER_NAME: il nome del tuo router Cloud.

  • REGION: la regione della NAT da creare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).

  • PROXY_ONLY_SUBNET_NAME: il nome della sottorete solo del proxy.

Configurare gli indirizzi IP assegnati manualmente

Utilizza indirizzi IP allocati manualmente solo se il tuo ambiente backend esterno richiede l'utilizzo di una lista consentita per indirizzi IP Google Cloud specifici. Se l'ambiente di backend esterno non ha bisogno di una lista consentita, utilizza l'allocazione dinamica come mostrato in precedenza.

Quando crei un gateway Cloud NAT, puoi scegliere di assegnare manualmente gli indirizzi IP NAT del livello Premium o del livello Standard o di entrambi, rispettando determinate condizioni.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic su Inizia o Crea gateway Cloud NAT.

  3. Inserisci un nome per il gateway LB_NAT_CONFIG.

  4. Nell'elenco Rete, seleziona LB_NETWORK.

  5. Nell'elenco Regione, seleziona REGION.

  6. Seleziona o crea un router cloud nella regione.

  7. In Tipo di endpoint di origine, seleziona Bilanciatori del carico proxy gestiti.

  8. Nell'elenco Origine, seleziona Personalizzato.

    • In Subnet, seleziona PROXY_ONLY_SUBNET_NAME.
  9. Nell'elenco Indirizzi IP Cloud NAT, seleziona Manuale.

  10. Per Livello di servizio di rete, scegli Premium o Standard.

  11. Seleziona o crea un indirizzo IP esterno statico riservato da utilizzare per il NAT.

  12. Se vuoi specificare altri indirizzi IP, fai clic su Aggiungi indirizzo IP, quindi seleziona o crea un altro indirizzo IP esterno statico riservato.

  13. Fai clic su Crea.

gcloud

  1. Crea gli indirizzi IP. Poiché il gateway esegue la traduzione NAT uno a uno, devi assicurarti che il pool di indirizzi IP riservati sia sufficientemente grande da gestire la quantità di traffico prevista. Indirizzi IP NAT allocati in modo insufficiente potrebbero comportare la perdita di traffico.

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. Crea un router Cloud:

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. Configura il gateway Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    

    Sostituisci quanto segue:

  • LB_NAT_CONFIG: il nome della configurazione NAT.

  • ROUTER_NAME: il nome del tuo router Cloud.

  • PROXY_ONLY_SUBNET_NAME: il nome della sottorete solo del proxy.

  • REGION: la regione della NAT da creare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).

Per ulteriori informazioni, consulta Specificare intervalli di sottoreti per NAT nella documentazione di Cloud NAT.

Assicurati di utilizzare una lista consentita per gli intervalli di indirizzi IP NAT nel tuo ambiente backend esterno, in modo che il backend esterno possa ricevere traffico da Google Cloud.

Prenota l'indirizzo IP del bilanciatore del carico

Prenota un indirizzo IP interno per il bilanciatore del carico.

Console

Puoi prenotare un indirizzo IP interno autonomo utilizzando la console Google Cloud.

  1. Vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sulla rete utilizzata per configurare la connettività ibrida tra gli ambienti.
  3. Fai clic su Indirizzi IP interni statici e poi su Prenota indirizzo statico.
  4. Inserisci un Nome: LB_IP_ADDRESS.
  5. Per Subnet, seleziona LB_SUBNET_NAME.
  6. Se vuoi specificare l'indirizzo IP da prenotare, in Indirizzo IP statico seleziona Scelta manuale e poi inserisci un Indirizzo IP personalizzato. In caso contrario, il sistema assegna automaticamente un indirizzo IP nella subnet.
  7. Se vuoi utilizzare questo indirizzo IP con più regole di inoltro, in Finalità, scegli Condiviso.
  8. Fai clic su Prenota per completare la procedura.

gcloud

  1. Utilizzando gcloud CLI, esegui il comando compute addresses create:

    gcloud compute addresses create LB_IP_ADDRESS \
      --region=REGION \
      --subnet=LB_SUBNET_NAME
    
  2. Utilizza il comando compute addresses describe per visualizzare l'indirizzo IP assegnato:

    gcloud compute addresses describe LB_IP_ADDRESS \
      --region=REGION
    

Configura il NEG internet

Puoi creare un NEG internet utilizzando endpoint INTERNET_FQDN_PORT o INTERNET_IP_PORT.

Console

Creare un gruppo di istanze elastiche con endpoint INTERNET_FQDN_PORT

  1. Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.

    Vai a Gruppo di endpoint di rete

  2. Fai clic su Crea gruppo di endpoint di rete.

  3. Specifica un INTERNET_NEG_NAME per il NEG internet. Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.

  4. Nell'elenco Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete (internet) e poi procedi nel seguente modo:

    • Nell'elenco Ambito, seleziona Regionale.
    • (Facoltativo) Nell'elenco Regione, modifica il valore REGION per questo NEG.
    • Nell'elenco Rete, seleziona LB_NETWORK.
    • Nella casella Porta predefinita, inserisci DEFAULT_PORT_NUMBER.
    • Nell'elenco Aggiungi endpoint tramite, seleziona Nome di dominio e porta completi.
  5. Seleziona Crea.

Aggiungi endpoint INTERNET_FQDN_PORT al NEG

  1. Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.

    Vai a Gruppo di endpoint di rete

  2. Fai clic su INTERNET_NEG_NAME.
  3. Inserisci il nome di dominio completo, ad esempio myorg.example.com. Devi specificare gli oggetti FQDN in sintassi FQDN standard.

  4. (Facoltativo) In Tipo di porta, seleziona Personalizzata. Se il tipo di porta è Default, viene utilizzata la porta predefinita del NEG.

  5. Nella casella Numero porta, inserisci PORT_NUMBER_1.
  6. Seleziona Crea.

Creare un gruppo di istanze elastiche con endpoint INTERNET_IP_PORT

  1. Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.

    Vai a Gruppo di endpoint di rete

  2. Fai clic su Crea gruppo di endpoint di rete.

  3. Specifica un nome INTERNET_NEG_NAME per il NEG di internet. Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.

  4. Nell'elenco Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete (internet) e poi procedi nel seguente modo:

    • Nell'elenco Ambito, seleziona Regionale.
    • (Facoltativo) Nell'elenco Regione, modifica il valore REGION per questo NEG.
    • Nell'elenco Rete, seleziona LB_NETWORK.
    • Nella casella Porta predefinita, inserisci DEFAULT_PORT_NUMBER.
    • Nell'elenco Aggiungi endpoint tramite, seleziona IP e porta.
  5. Seleziona Crea.

Aggiungi endpoint INTERNET_IP_PORT al NEG

  1. Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.

    Vai a Gruppo di endpoint di rete

  2. Fai clic su INTERNET_NEG_NAME.
  3. Nel campo Indirizzo IP, inserisci IP_ADDRESS_1.
  4. (Facoltativo) Nell'elenco Tipo di porta, seleziona Personalizzata. Se il tipo di porta è Default, viene utilizzata la porta predefinita del NEG.

  5. Nel campo Numero porta, inserisci PORT_NUMBER_1.
  6. Seleziona Crea.

gcloud

Per creare un NEG con endpoint INTERNET_FQDN_PORT:

  1. Crea la risorsa NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_FQDN_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Aggiungi endpoint al gruppo di endpoint di rete. Se non viene specificata una porta, viene utilizzata la porta predefinita del NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \
        [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Sostituisci quanto segue:

    • FULLY_QUALIFIED_DOMAIN_NAME: il nome di dominio completamente qualificato per l'endpoint
    • PORT_NUMBER: il numero di porta per l'endpoint

    Puoi aggiungere fino a 256 endpoint per NEG.

Se il tuo dominio è risolvibile su internet, non è necessaria alcuna altra configurazione per impostare il DNS. Tuttavia, se utilizzi FQDN privati, dovrai configurare Cloud DNS per semplificare la risoluzione DNS. Il nome deve essere ospitato su Cloud DNS o essere risolvibile tramite il reindirizzamento DNS da Cloud DNS a un DNS on-premise.

Per iniziare, crea una zona Cloud DNS per ospitare i record DNS nel tuo progetto. Poi aggiungi i record DNS. Per i passaggi di configurazione specifici, consulta la documentazione di Cloud DNS.

Per creare un NEG con endpoint INTERNET_IP_PORT:

  1. Crea la risorsa NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_IP_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Aggiungi endpoint al gruppo di endpoint di rete. Se non viene specificata una porta, viene utilizzata la porta predefinita del NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \
        [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Sostituisci quanto segue:

    • IP_ADDRESS: l'indirizzo IP dell'endpoint
    • PORT_NUMBER: il numero di porta per l'endpoint

    Puoi ripetere questo passaggio per aggiungere fino a 256 endpoint per NEG.

Crea 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. 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 Interno e fai clic su Avanti.
  5. In Deployment tra regioni o in una regione singola, seleziona Ideale per workload regionali e fai clic su Avanti.
  6. Fai clic su Configura.

Configurazione di base

  1. Inserisci un nome del bilanciatore del carico.
  2. In Regione, seleziona REGION.
  3. In Rete, seleziona LB_NETWORK.

Riserva una subnet solo proxy

Per prenotare una subnet solo proxy:

  1. Fai clic su Riserva subnet.
  2. In Nome, inserisci PROXY_ONLY_SUBNET_NAME.
  3. In Intervallo di indirizzi IP, inserisci PROXY_ONLY_SUBNET_RANGE.
  4. Fai clic su Aggiungi.

Configurazione frontend

  1. Fai clic su Configurazione frontend.
  2. Inserisci un nome.
  3. In Subnet, seleziona LB_SUBNET_NAME.
  4. Per creare un bilanciatore del carico HTTPS, devi disporre di un certificato SSL. Ti consigliamo di utilizzare un certificato gestito da Google.

    Proprietà Valore (digita un valore o seleziona un'opzione come specificato)
    Protocollo HTTPS
    Versione IP IPv4
    Indirizzo IP Seleziona l'indirizzo IP riservato in precedenza: LB_IP_ADDRESS.
    Porta 443
    Certificato

    Seleziona un certificato SSL esistente o creane uno nuovo.

    Per creare un bilanciatore del carico HTTPS, devi disporre di una risorsa del certificato SSL da utilizzare nel proxy HTTPS.

    Se vuoi testare questa procedura senza configurare una risorsa del certificato SSL (o un dominio come richiesto dai certificati gestiti da Google), puoi configurare un bilanciatore del carico HTTP.

    Per creare un bilanciatore del carico HTTP, verifica che le seguenti opzioni siano configurate con questi valori:

    Proprietà Valore (digita un valore o seleziona un'opzione come specificato)
    Protocollo HTTP
    Versione IP IPv4
    Indirizzo IP Seleziona l'indirizzo IP riservato in precedenza: LB_IP_ADDRESS.
    Porta 80
  5. Fai clic su Fine.

Configurazione backend

  1. Fai clic su Configurazione backend.
  2. Fai clic su Servizi e bucket di backend.
  3. Fai clic su Crea un servizio di backend.
  4. Inserisci un nome.
  5. In Tipo di backend, seleziona Gruppo di endpoint di rete internet.
  6. Per Protocollo, seleziona il protocollo che intendi utilizzare dal bilanciatore del carico al NEG internet.
  7. In Backend, nella finestra Nuovo backend, seleziona il Gruppo di endpoint di rete internet regionale creato nel passaggio precedente.
  8. Fai clic su Fine.
  9. Configura il controllo di integrità:
    1. In Controllo di integrità, seleziona Crea un controllo di integrità.
    2. Imposta il nome del controllo di integrità su HTTP_HEALTH_CHECK_NAME.
    3. In Protocollo, seleziona HTTP.
    4. Imposta Porta su 80.
  10. Fai clic su Crea.

Esamina e finalizza

  1. Fai clic su Esamina e finalizza.
  2. Se è tutto a posto, fai clic su Crea.

gcloud

  1. (Facoltativo) Crea un controllo di integrità. I probe del controllo di integrità per i backend esterni utilizzano i controlli di integrità di Envoy distribuiti e vengono successivamente tradotti tramite NAT.
    gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Crea un servizio di backend:
    gcloud compute backend-services create BACKEND_SERVICE \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTP \
        --health-checks=HTTP_HEALTH_CHECK_NAME \
        --health-checks-region=REGION \
        --region=REGION
    
  3. Aggiungi il NEG internet al servizio di backend:
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
    
  4. Crea una mappa URL per instradare le richieste in entrata al servizio di backend:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. (Facoltativo) Esegui questo passaggio se utilizzi HTTPS tra il client e il bilanciatore del carico. Questo passaggio non è necessario per i bilanciatori del carico HTTP.

    Puoi creare certificati Compute Engine o Certificate Manager. Utilizza uno dei seguenti metodi per creare certificati utilizzando Certificate Manager:

    • Certificati autogestiti a livello di regione. Per informazioni su come creare e utilizzare i certificati autogestiti a livello di regione, consulta la sezione Eseguire il deployment di un certificato autogestito a livello di regione. Le mappe dei certificati non sono supportate.

    • Certificati gestiti da Google a livello di regione. Le mappe dei certificati non sono supportate.

      Gestore certificati supporta i seguenti tipi di certificati gestiti da Google a livello di regione:

    • Dopo aver creato i certificati, allegali direttamente al proxy di destinazione.

      Per creare una risorsa del certificato SSL autogestita di Compute Engine:
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Crea un proxy HTTP(S) di destinazione per instradare le richieste alla mappa URL.

      Per un bilanciatore del carico HTTP, crea un proxy di destinazione HTTP:

      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      

      Per un bilanciatore del carico HTTPS, crea un proxy di destinazione HTTPS. Il proxy è la parte del bilanciatore del carico che contiene il certificato SSL per il bilanciamento del carico HTTPS, quindi devi caricare anche il tuo certificato in questo passaggio.

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --ssl-certificates=SSL_CERTIFICATE_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      
    • Crea una regola di forwarding per instradare le richieste in entrata al proxy.

      Per un bilanciatore del carico HTTP:

      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=LB_NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=80
      

      Per un bilanciatore del carico HTTPS:

      gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=LB_NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=443
      

Collegare il dominio al bilanciatore del carico

Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato al bilanciatore del carico, ad esempio 30.90.80.100. Per indirizzare il tuo dominio al 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, che rimandi all'indirizzo IP del bilanciatore del carico. Ad esempio, per creare record A per www.example.com e example.com, utilizza 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 record.

Testa il bilanciatore del carico

Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare traffico al suo indirizzo IP.

Crea una VM client

Questo esempio crea una VM client (vm-client) nella stessa regione del bilanciatore del carico. Il client viene utilizzato per convalidare la configurazione del bilanciatore del carico e dimostrare il comportamento previsto.

gcloud

La VM client può trovarsi in qualsiasi zona della stessa REGION del bilanciatore del carico e può utilizzare qualsiasi sottorete della stessa rete VPC.

gcloud compute instances create vm-client \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --network=LB_NETWORK \
    --subnet=LB_SUBNET_NAME \
    --zone=ZONE

Invia traffico al bilanciatore del carico

Potrebbero essere necessari alcuni minuti prima che la configurazione del bilanciatore del carico venga propagata dopo il primo deployment.

  • Connettiti all'istanza client tramite SSH.

    gcloud compute ssh vm-client \
      --zone=ZONE
    
  • Verifica che il bilanciatore del carico si connetta all'applicazione in esecuzione sul backend esterno come previsto.

    Per i test HTTP, esegui:

    curl IP_ADDRESS
    

    Per i test HTTPS, esegui:

    curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
    

    Sostituisci TEST_DOMAIN_URL con il dominio associato alla tua applicazione. Ad esempio, test.example.com.

    Il flag -k fa sì che curl salti la convalida del certificato.

Configurazione aggiuntiva

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

Per attivare ancora più funzionalità per il bilanciatore del carico delle applicazioni interno regionale, ad esempio l'accesso globale (se i client si trovano in una regione diversa), consulta Configurare un bilanciatore del carico delle applicazioni interno con backend di gruppi di istanze VM: configurazione aggiuntiva.

Utilizzare un'intestazione personalizzata per autenticare le richieste

Per autenticare le richieste inviate al backend esterno, puoi impostare un 'intestazione personalizzata per indicare che la richiesta proviene da un bilanciatore del carico Google Cloud. Dovrai anche configurare il backend esterno in modo che attenda questo intestazione personalizzata per il traffico proveniente da Google Cloud.

Per scoprire come configurare le intestazioni personalizzate, consulta Configurare la gestione avanzata del traffico.

Per altri metodi di autenticazione, vedi Autenticare le richieste al backend esterno.

Aggiorna il timeout keepalive HTTP del client

Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con un valore predefinito per il timeout del keepalive HTTP del client.

Per aggiornare il timeout keepalive HTTP del client, segui le istruzioni riportate di seguito.

Console

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

    Vai a Bilanciamento del carico.

  2. Fai clic sul nome del bilanciatore del carico da modificare.
  3. Fai clic su Modifica.
  4. Fai clic su Configurazione frontend.
  5. Espandi Funzionalità avanzate. In Timeout keepalive HTTP, inserisci un valore di timeout.
  6. Fai clic su Aggiorna.
  7. Per rivedere le modifiche, fai clic su Rivedi e finalizza e poi su Aggiorna.

gcloud

Per un bilanciatore del carico HTTP, aggiorna il proxy HTTP di destinazione utilizzando il comando gcloud compute target-http-proxies update.

      gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region=REGION
      

Per un bilanciatore del carico HTTPS, aggiorna il proxy HTTPS di destinazione utilizzando il comando gcloud compute target-https-proxies update.

      gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region REGION
      

Sostituisci quanto segue:

  • TARGET_HTTP_PROXY_NAME: il nome del proxy HTTP di destinazione.
  • TARGET_HTTPS_PROXY_NAME: il nome del proxy HTTPS di destinazione.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC: il valore del timeout keepalive HTTP da 5 a 600 secondi.

Passaggi successivi