Panoramica dei gruppi di endpoint di rete internet

Cloud Load Balancing supporta il proxy del traffico a backend esterni all'esterno di Google Cloud. Per definire un backend esterno per un bilanciatore del carico, utilizza una risorsa denominata gruppo di endpoint di rete internet (NEG).

Puoi utilizzare questo tipo di deployment quando vuoi fornire contenuti da un backend esterno, ma vuoi che il bilanciatore del carico di Google Cloud sia il frontend. In questo modo puoi:

  • Utilizza l'infrastruttura Google Edge per terminare le connessioni utente.
  • Indirizza le connessioni al backend esterno.
  • Con i bilanciatori del carico globali, puoi utilizzare Cloud CDN per memorizzare nella cache i contenuti per il backend esterno.
  • Invia il traffico al tuo endpoint pubblico attraverso il backbone privato di Google, in modo da migliorare l'affidabilità e ridurre la latenza tra client e server.

La figura 1 mostra un bilanciatore del carico delle applicazioni esterno con più tipi di backend, uno dei quali è un backend esterno configurato con un NEG internet.

Gruppi di endpoint di rete internet nel bilanciamento del carico.
Figura 1. Gruppi di endpoint di rete internet nel bilanciamento del carico (fai clic per ingrandire).

I backend NEG internet sono supportati da vari bilanciatori del carico globali e regionali. A seconda del bilanciatore del carico (globale o regionale), il supporto del NEG internet è diverso per quanto riguarda DNS, controllo di integrità, numero disponibile di endpoint e comportamenti di routing del traffico.

Le sezioni che seguono spiegano come vengono utilizzati i backend esterni con Cloud Load Balancing. Se vuoi utilizzare un backend esterno con Cloud Service Mesh, consulta Cloud Service Mesh con i gruppi di endpoint di rete internet.

Terminologia

I seguenti termini vengono a volte utilizzati in modo intercambiabile perché hanno significati uguali o simili:

  • backend esterno: un backend che risiede all'esterno di Google Cloud ed è raggiungibile su internet. L'endpoint in un NEG internet.
  • origine personalizzata:uguale a un backend esterno. Nella rete CDN, origin è il termine standard di settore per un'istanza di backend che gestisce contenuti web.
  • internet network endpoint group (NEG): la risorsa API Google Cloud che utilizzi per specificare un backend esterno.
  • endpoint esterno: uguale a un backend esterno.

In questo documento viene utilizzato il termine backend esterno, tranne quando si fa riferimento alla risorsa API NEG internet.

Componenti del bilanciatore del carico

Questa sezione descrive l'architettura e le risorse di bilanciamento del carico necessarie per configurare un bilanciatore del carico con un backend esterno. Il bilanciatore del carico richiede una configurazione speciale solo per il servizio di backend. La configurazione frontend è uguale a qualsiasi altro bilanciatore del carico.

Le figure seguenti mostrano le risorse Google Cloud necessarie per configurare un bilanciatore del carico con un backend esterno.

Esterno globale

Questa figura mostra le risorse Google Cloud necessarie per configurare un bilanciatore del carico delle applicazioni esterno globale con un backend esterno.

Bilanciatore del carico delle applicazioni esterno globale con backend esterno
Bilanciatore del carico delle applicazioni esterno globale con backend esterno (fai clic per ingrandire).

Esterno regionale

Questa figura mostra le risorse Google Cloud necessarie per configurare un bilanciatore del carico delle applicazioni esterno regionale con un backend esterno.

Bilanciatore del carico delle applicazioni esterno regionale con un backend esterno.
Bilanciatore del carico delle applicazioni esterno regionale con un backend esterno (fai clic per ingrandire).

Questa figura mostra le risorse Google Cloud necessarie per configurare un bilanciatore del carico di rete proxy esterno regionale con un backend esterno.

Bilanciatore del carico di rete proxy esterno regionale con backend esterno.
Bilanciatore del carico di rete proxy esterno regionale con un backend esterno (fai clic per ingrandire).

Interno a livello di regione

Questa figura mostra le risorse Google Cloud necessarie per configurare un bilanciatore del carico delle applicazioni interno regionale con un backend esterno.

Bilanciatore del carico delle applicazioni interno regionale con un backend esterno.
Bilanciatore del carico delle applicazioni interno regionale con un backend esterno (fai clic per ingrandire).

Questa figura mostra le risorse Google Cloud necessarie per configurare un bilanciatore del carico di rete proxy interno regionale con un backend esterno.

Bilanciatore del carico di rete proxy interno regionale con backend esterno.
Bilanciatore del carico di rete proxy interno regionale con un backend esterno (fai clic per ingrandire).

Puoi utilizzare i NEG internet solo nel livello di servizi di rete Premium.

Configurazione frontend

Non è richiesta alcuna configurazione frontend speciale per la creazione di un bilanciatore del carico con un backend NEG internet. Le regole di forwarding vengono utilizzate per instradare il traffico per indirizzo IP, porta e protocollo a un proxy di destinazione. Il proxy di destinazione termina quindi le connessioni dai client. Inoltre, i bilanciatori del carico basati su Envoy richiedono una subnet solo proxy.

I bilanciatori del carico delle applicazioni utilizzano anche le mappe URL per configurare il routing delle richieste basato su URL ai servizi di backend appropriati.

Per ulteriori dettagli su ciascuno di questi componenti, consulta le sezioni relative all'architettura del rispettivo bilanciatore del carico:

NEG Internet

Un NEG internet è una risorsa utilizzata per definire un backend esterno per il bilanciatore del carico. Il backend esterno a cui fa riferimento il NEG internet deve essere raggiungibile su internet. L'endpoint non è raggiungibile solo tramite Cloud VPN o Cloud Interconnect. Se il backend esterno fa riferimento a un'API o a un servizio Google, il servizio deve essere raggiungibile tramite la porta TCP 80 o 443 utilizzando il protocollo HTTP, HTTPS o HTTP/2.

Esistono due modi per configurare l'endpoint esterno a cui fa riferimento il NEG: INTERNET_FQDN_PORT o INTERNET_IP_PORT. Inoltre, ciascuno di questi endpoint è disponibile in due ambiti: globale o a livello di regione.

Utilizza la tabella seguente per esaminare le differenze tra i due tipi di endpoint e il loro comportamento in ambito globale e regionale.

Bilanciatori del carico Tipo di endpoint Definizione di endpoint Ambito Controlli di integrità
  • Bilanciatore del carico delle applicazioni esterno globale
  • Bilanciatore del carico delle applicazioni classico

INTERNET_FQDN_PORT

Un nome di dominio completo pubblicamente risolvibile e una porta facoltativa. Ad esempio, backend.example.com:4431.

Il nome di dominio deve essere risolvibile dall'infrastruttura DNS pubblica di Google.

È consentito un solo endpoint per NEG.

Globale Funzionalità non supportata

INTERNET_IP_PORT

Un indirizzo IP instradabile pubblicamente e una porta facoltativa. Ad esempio, 8.8.8.8:4431.

L'indirizzo IP non può essere un indirizzo RFC 1918.

È consentito un solo endpoint per NEG.

  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno regionale
  • Bilanciatore del carico di rete proxy esterno regionale
  • Bilanciatore del carico di rete proxy interno regionale

INTERNET_FQDN_PORT

Un nome di dominio completo pubblicamente risolvibile e una porta facoltativa. Ad esempio, backend.example.com:4432.

Il nome di dominio deve essere risolvibile da Cloud DNS o dall'infrastruttura DNS pubblica di Google.

Sono consentiti massimo 256 endpoint per NEG.

Regionale Controlli di integrità distribuiti di Envoy

INTERNET_IP_PORT

Un indirizzo IP instradabile pubblicamente e una porta facoltativa. Ad esempio, 8.8.8.8:4432.

L'indirizzo IP non può essere un indirizzo RFC 1918.

Sono consentiti massimo 256 endpoint per NEG.

1 Se non specifichi una porta quando aggiungi l'endpoint, viene utilizzata la porta predefinita del NEG. Se non hai specificato una porta predefinita per il NEG, viene utilizzata la porta nota per il protocollo di backend (80 per HTTP e 443 per HTTPS e HTTP/2).

2 Con i NEG internet a livello di regione, devi specificare una porta. Puoi specificare una porta predefinita durante la creazione del NEG oppure puoi specificare una porta ogni volta che aggiungi un endpoint al NEG oppure puoi eseguire entrambe le operazioni. Se non specifichi una porta durante l'aggiunta di un endpoint, viene utilizzata la porta predefinita del NEG.

Risoluzione DNS per gli endpoint INTERNET_FQDN_PORT a livello di regione

Se il tuo dominio è risolvibile tramite internet, non sono necessarie altre configurazioni per impostare il DNS. Tuttavia, se devi risolvere i nomi di dominio completi privati, dovrai configurare Cloud DNS per facilitare la risoluzione DNS. Il nome deve essere ospitato su Cloud DNS o essere risolvibile mediante l'inoltro DNS da Cloud DNS a un DNS on-premise.

Inizia creando una zona Cloud DNS per ospitare i record DNS nel tuo progetto. quindi aggiungi i record DNS. Per le procedure di configurazione specifiche, consulta la documentazione di Cloud DNS.

Se utilizzi un VPC condiviso, prendi nota dei requisiti di rete specifici. Puoi anche utilizzare altre funzionalità di Cloud DNS, ad esempio le zone di forwarding, per recuperare i record da un server DNS on-premise.

Risoluzione degli indirizzi IP per gli endpoint INTERNET_FQDN_PORT globali

Quando un endpoint INTERNET_FQDN_PORT punta a un record DNS che restituisce più indirizzi IP, l'indirizzo IP viene risolto nel seguente modo:

  • Il bilanciatore del carico utilizza un resolver DNS in una regione Google Cloud più vicina al client su internet. Se il record DNS per il tuo endpoint INTERNET_FQDN_PORT restituisce indirizzi IP diversi in base alla posizione del client, assicurati che ciascuno di questi indirizzi IP possa essere raggiunto dal bilanciatore del carico.

  • Il bilanciatore del carico tenta di connettersi al primo indirizzo IP nella risposta DNS. Se quell'indirizzo IP non è raggiungibile, il bilanciatore del carico restituisce una risposta HTTP 502 (Bad Gateway). Questo vale anche se sono disponibili altri indirizzi IP della risposta DNS.

Per ulteriori informazioni sulle località e sugli intervalli IP utilizzati dall'infrastruttura di risoluzione DNS di Google, consulta la documentazione sul DNS pubblico di Google. I nomi che non possono essere risolti dal sistema DNS pubblico non sono utilizzabili come backend esterni.

Risoluzione degli indirizzi IP per gli endpoint INTERNET_FQDN_PORT a livello di regione

I NEG internet a livello di regione supportano la risoluzione dei nomi di dominio utilizzando Cloud DNS e il DNS pubblico di Google. Nel caso dei server DNS pubblici, Cloud DNS inoltra il traffico ai server DNS pubblici.

Se il server DNS restituisce più indirizzi IP, Envoy bilancia il carico del traffico tra gli indirizzi IP restituiti in base all'algoritmo di bilanciamento del carico configurato (round robin, minimo richiesta e così via). L'elenco degli endpoint viene aggiornato periodicamente in base al TTL del DNS. Puoi configurare riprova criteri per forzare Envoy a tentare di connettersi a un altro indirizzo IP in caso di errore.

Servizio di backend

I servizi di backend forniscono informazioni di configurazione al bilanciatore del carico. I bilanciatori del carico utilizzano le informazioni in un servizio di backend per indirizzare il traffico in entrata a uno o più backend collegati.

Per configurare un bilanciatore del carico con un backend esterno, devi configurare il servizio di backend con un backend NEG internet. Quando aggiungi un NEG internet a un servizio di backend, si applicano le seguenti considerazioni, a seconda dell'ambito del NEG:

  • Il servizio di backend non può utilizzare anche altri tipi di backend (ad esempio NEG o gruppi di istanze a livello di zona) come backend.

  • Numero di NEG per servizio di backend

    • NEG globali. Puoi aggiungere un solo backend NEG internet a un servizio di backend.
    • NEG a livello di regione. Puoi aggiungere fino a 50 NEG internet allo stesso servizio di backend.
  • Numero di endpoint per NEG

    • NEG globali. Puoi aggiungere un solo endpoint a un NEG internet.

    Poiché è consentito un solo endpoint in ogni NEG internet globale, il bilanciamento del carico non viene effettivamente eseguito. Il bilanciatore del carico funge solo da frontend e esegue il proxy del traffico al backend esterno specificato. Ciò significa che non puoi utilizzare nessuna delle modalità di bilanciamento del carico, come frequenza, connessione o utilizzo.

    • NEG a livello di regione. Puoi aggiungere fino a 256 endpoint per NEG allo stesso servizio di backend.

    I NEG a livello di regione non supportano le modalità di bilanciamento del carico, come frequenza, connessione o utilizzo. Tutti gli endpoint di tutti i NEG collegati a un servizio di backend sono raggruppati in un unico gruppo. Il traffico di bilanciamento del carico tra questo pool di endpoint viene gestito utilizzando gli algoritmi di bilanciamento del carico di Envoy. Per gli algoritmi dei criteri di bilanciamento del carico supportati, consulta localityLbPolicy nella documentazione relativa all'API del servizio di backend regionale.

  • Controlli di integrità

  • Lo schema di bilanciamento del carico del servizio di backend deve corrispondere a quello richiesto dal bilanciatore del carico di cui stai eseguendo il deployment. Per l'elenco completo, vedi Servizi di backend.

  • Il protocollo del servizio di backend deve essere HTTP, HTTPS o HTTP2.

    Ti consigliamo vivamente di utilizzare HTTPS o HTTP/2 come protocollo quando configuri un servizio di backend con un NEG internet, in modo che la comunicazione tra il bilanciatore del carico e il backend sia criptata e autenticata durante il transito nella rete internet pubblica.

    Inoltre, se utilizzi HTTPS o HTTP/2 come protocollo di backend, assicurati di utilizzare un endpoint INTERNET_FQDN_PORT per creare il backend esterno. Questo presenta due vantaggi:

    • Garantisce che il bilanciatore del carico convalidi il certificato del server SSL presentato dal backend esterno e verifica che le seguenti informazioni siano vere:

      • Il certificato è firmato da autorità di certificazione (CA) note.
      • Il certificato non è scaduto.
      • La firma del certificato è valida.
      • Il nome di dominio completo configurato corrisponde a uno dei nomi alternativi del soggetto (SAN) del certificato.

      Se crei il backend esterno utilizzando un endpoint INTERNET_IP_PORT, la convalida dei certificati del server SSL non viene eseguita.

    • L'estensione SSL Server Name Indication (SNI) è supportata solo con gli endpoint INTERNET_FQDN_PORT. Il nome di dominio completo configurato viene inviato tramite SNI in hello del client durante l'handshake SSL tra il bilanciatore del carico e l'endpoint esterno. L'SNI non viene inviato quando utilizzi un endpoint INTERNET_IP_PORT, perché i valori letterali degli indirizzi IP non sono consentiti nel campo HostName di un payload SNI.

Controlli di integrità

La configurazione del controllo di integrità varia in base al tipo di bilanciatore del carico:

  • Bilanciatore del carico delle applicazioni esterno globale e bilanciatore del carico delle applicazioni classico. Un servizio di backend con un NEG internet globale non supporta i controlli di integrità.

    Se il backend esterno non è raggiungibile o se il nome host configurato (FQDN) non può essere risolto, il bilanciatore del carico restituisce una risposta HTTP 502 (Bad Gateway) ai suoi client.

  • Bilanciatore del carico delle applicazioni esterno regionale, bilanciatore del carico delle applicazioni interno regionale, bilanciatore del carico di rete proxy esterno regionale e bilanciatore del carico di rete proxy interno regionale I controlli di integrità sono facoltativi. I probe del controllo di integrità per questi bilanciatori del carico provengono dalla subnet solo proxy e poi tradotti da NAT (utilizzando Cloud NAT) in indirizzi IP preprenotati o indirizzi IP NAT allocati automaticamente. Per maggiori dettagli, vedi NEG a livello di regione: utilizzare un gateway Cloud NAT.

    I controlli di integrità distribuiti di Envoy vengono creati utilizzando gli stessi processi per la console Google Cloud, gcloud CLI e API dei controlli di integrità centralizzati. Non sono richieste altre configurazioni.

    Aspetti da considerare:

    • I controlli di integrità gRPC non sono supportati.
    • I controlli di integrità con protocollo PROXY v1 abilitato non sono supportati.
    • Poiché il piano dati Envoy gestisce i controlli di integrità, non puoi utilizzare la console Google Cloud, l'API o gcloud CLI per controllare lo stato di integrità di questi endpoint esterni. Per i NEG ibridi con bilanciatori del carico basati su Envoy, la console Google Cloud mostra lo stato del controllo di integrità come N/A. È previsto.

    • Ogni proxy Envoy assegnato alla subnet solo proxy nella regione nella rete VPC avvia controlli di integrità in modo indipendente. Pertanto, potresti notare un aumento del traffico di rete a causa del controllo di integrità. L'aumento dipende dal numero di proxy Envoy assegnati alla tua rete VPC in una regione, dalla quantità di traffico ricevuto da questi proxy e dal numero di endpoint necessari per il controllo di integrità di ciascun proxy Envoy. Nel caso peggiore, il traffico di rete dovuto ai controlli di integrità aumenta di una percentuale quadratica di (O(n^2)).

    • I log dei controlli di integrità per i controlli di integrità distribuiti di Envoy non includono stati di integrità dettagliati. Per maggiori dettagli sui dati registrati, vedi Registrazione del controllo di integrità. Per risolvere ulteriormente i problemi di connettività dai proxy Envoy agli endpoint NEG, devi anche controllare i rispettivi log del bilanciatore del carico.

Abilita il backend esterno per ricevere richieste

Il traffico proveniente dai bilanciatori del carico che utilizzano NEG internet a livello di regione proviene dalla subnet solo proxy e viene quindi tradotto (utilizzando Cloud NAT) in indirizzi IP NAT pre-prenotati o allocati automaticamente. Ciò include sia i probe del controllo di integrità sia le richieste degli utenti dal bilanciatore del carico ai backend.

La configurazione del backend esterno per consentire il traffico da Google Cloud dipende dall'ambito del NEG: globale o regionale.

NEG globali: aggiungi indirizzi IP in uscita predefiniti di Google a una lista consentita

Se utilizzi un NEG internet globale, devi aggiungere gli intervalli di indirizzi IP che Google utilizza per inviare richieste a backend esterni a una lista consentita. Per cercare gli indirizzi IP da aggiungere a una lista consentita, esegui una query sul record TXT DNS di _cloud-eoips.googleusercontent.com utilizzando uno strumento come dig o nslookup.

Ad esempio, vedi Consentire al backend esterno di ricevere traffico da Google Cloud.

NEG a livello di regione: usa un gateway Cloud NAT

Se utilizzi un NEG internet a livello di regione, dovrai prima configurare un gateway Cloud NAT per allocare un insieme di intervalli di indirizzi IP da cui deve avere origine il traffico Google Cloud.

L'endpoint del gateway deve essere di tipo ENDPOINT_TYPE_MANAGED_PROXY_LB.

Il gateway Cloud NAT può essere configurato in modo da allocare automaticamente indirizzi IP esterni in base alla domanda o utilizzare un set di indirizzi IP esterni pre-prenotati manualmente.

  • Indirizzi IP allocati automaticamente

    Utilizza gli indirizzi IP allocati automaticamente se l'ambiente di backend esterno non richiede l'aggiunta di indirizzi IP Google Cloud specifici che possono inviare traffico al backend esterno in una lista consentita.

  • Indirizzi IP allocati manualmente

    Utilizza gli indirizzi IP allocati manualmente solo se il tuo ambiente di backend esterno richiede l'aggiunta di indirizzi IP Google Cloud specifici a una lista consentita. Poiché ogni Envoy assegnato alla tua subnet proxy utilizza un intero indirizzo IP, assicurati che il pool di indirizzi IP prenotati sia abbastanza grande da contenere tutti gli Envoy.

    Se si verificano problemi di connettività su larga scala, controlla se hai raggiunto i limiti di Cloud NAT. Per impostazione predefinita, il limite è di 50 indirizzi IP NAT allocati manualmente per gateway.

Questa configurazione Cloud NAT si applica all'intera subnet solo proxy. Il traffico internet associato a tutti i bilanciatori del carico basati su Envoy a livello di regione nella regione condividono lo stesso gateway NAT.

L'utilizzo di Cloud NAT comporta addebiti sia per il traffico utente sia per il traffico del controllo di integrità. Per informazioni dettagliate su come funzionano i prezzi del NEG internet a livello di regione, consulta Prezzi del NEG internet a livello di regione.

Esistono alcune limitazioni per i gateway NAT configurati su subnet solo proxy:

  • Viene eseguita solo la traduzione NAT one-to-one. La condivisione dell'indirizzo IP non è supportata.
  • Il logging e il monitoraggio non sono supportati. Vale a dire che i flag --enable-logging e --log-filter non sono supportati.
  • Le funzionalità correlate alle porte, come l'allocazione statica e dinamica delle porte, l'impostazione del numero massimo e minimo di porte per VM e la mappatura indipendente dagli endpoint, non sono supportate. Ogni proxy riceve tutte le 65536 porte.

Autentica le richieste verso il backend esterno

Questa sezione riguarda solo i bilanciatori del carico delle applicazioni.

Per autenticare le richieste inviate al tuo backend esterno, puoi eseguire una delle seguenti operazioni:

  • Imposta un'intestazione personalizzata per indicare che la richiesta proviene da un bilanciatore del carico Google Cloud utilizzando un'intestazione della richiesta personalizzata. Ad esempio, puoi utilizzare 16 o più byte crittografici casuali come chiave condivisa.

    L'implementazione delle trasformazioni delle intestazioni personalizzate dipende dal tipo di bilanciatore del carico in uso:

    • Bilanciatore del carico delle applicazioni esterno globale e bilanciatore del carico delle applicazioni classico. Le trasformazioni personalizzate delle intestazioni possono essere configurate sul servizio di backend o sulla mappa di URL.

      Ad esempio, puoi configurare il backend esterno in modo che preveda un determinato valore per l'intestazione Host della richiesta HTTP e configurare il bilanciatore del carico per impostare l'intestazione Host sul valore previsto. Se non configuri un'intestazione della richiesta personalizzata, il bilanciatore del carico conserva le intestazioni utilizzate dal client per la connessione al bilanciatore del carico e include la stessa intestazione nella risposta. Tuttavia, tieni presente che la modifica dell'intestazione Host non è supportata nella mappa URL.

      Esistono ulteriori limitazioni associate alla configurazione dell'intestazione Host. Per maggiori dettagli, consulta Creare intestazioni personalizzate nei servizi di backend. Per un esempio specifico, vedi Configurare un bilanciatore del carico delle applicazioni esterno globale con un backend esterno.

    • Bilanciatore del carico delle applicazioni esterno regionale e bilanciatore del carico delle applicazioni interno regionale. Le trasformazioni personalizzate delle intestazioni possono essere configurate solo nella mappa URL.

      Per questi bilanciatori del carico basati su Envoy, Host e authority sono parole chiave speciali prenotate da Google Cloud. Non puoi modificare le intestazioni per questi bilanciatori del carico. Ti consigliamo invece di creare altre intestazioni personalizzate (ad esempio, MyHost) in modo da non interferire con i nomi delle intestazioni riservate.

  • Abilita IAP e verifica che il JWT firmato nell'intestazione della richiesta sia firmato da Google e che la attestazione aud (pubblico) contenga il numero di progetto in cui è definito il bilanciatore del carico.

    IAP non è compatibile con Cloud CDN. IAP non è supportato con i bilanciatori del carico delle applicazioni esterni regionali e i bilanciatori del carico di rete proxy (interni ed esterni).

  • Abilita l'autenticazione dell'origine privata, che concede a un bilanciatore del carico delle applicazioni esterno l'accesso a lungo termine a un bucket Amazon Simple Storage Service (Amazon S3) privato o ad altri archivi di oggetti compatibili. Cloud CDN (e di conseguenza l'autenticazione dell'origine privata) non è supportato con gli Application Load Balancer esterni regionali e gli Application Load Balancer interni regionali.

Log

Le richieste inviate tramite proxy a un backend esterno vengono registrate in Cloud Logging nello stesso modo in cui vengono registrate le richieste per altri backend.

Per ulteriori informazioni, consulta le seguenti risorse:

Se abiliti Cloud CDN per un bilanciatore del carico delle applicazioni esterno utilizzando un backend esterno, vengono registrati anche i successi della cache.

Elaborazione di intestazioni con backend esterni

Bilanciatori del carico diversi possono gestire l'elaborazione delle intestazioni in modi diversi quando eseguono le richieste tramite proxy a un backend esterno. Esamina le seguenti informazioni per capire in che modo il tipo di bilanciatore del carico potrebbe elaborare le intestazioni HTTP.

Bilanciatori del carico delle applicazioni esterni globali e Application Load Balancer classici

Quando un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico delle applicazioni classico esegue il proxy delle richieste a un backend esterno, regola le intestazioni HTTP nei seguenti modi:

  • Alcune intestazioni sono unite. Quando sono presenti più istanze della stessa chiave di intestazione (ad esempio, Via), il bilanciatore del carico combina i relativi valori in un unico elenco separato da virgole per una singola chiave di intestazione. Vengono unite solo le intestazioni i cui valori possono essere rappresentati come elenco separato da virgole. Altre intestazioni, ad esempio Set-Cookie, non vengono mai unite.

  • Le intestazioni hanno lettere maiuscole corrette quando il protocollo del servizio di backend è HTTP o HTTPS:

    • La prima lettera della chiave dell'intestazione e ogni lettera che segue un trattino (-) sono in maiuscolo per preservare la compatibilità con i client HTTP/1.1. Ad esempio, user-agent viene modificato in User-Agent e content-encoding viene modificato in Content-Encoding.

    • Determinate intestazioni, come Accept-CH (suggerimenti client), vengono convertite per corrispondere a una rappresentazione standard con lettere miste.

  • Vengono aggiunte alcune intestazioni o vengono aggiunti valori. I bilanciatori del carico delle applicazioni esterni aggiungono o modificano sempre determinate intestazioni, come Via e X-Forwarded-For.

Bilanciatori del carico delle applicazioni esterni regionali e bilanciatori del carico delle applicazioni interni regionali

Non è prevista un'elaborazione speciale dell'intestazione per i bilanciatori del carico basati su Envoy che utilizzano NEG internet. Per sapere come Envoy elabora generalmente le intestazioni, consulta Manipolazione delle intestazioni HTTP.

Limitazioni

  • Esamina la sezione relativa al servizio di backend per verificare le limitazioni associate alla configurazione dei NEG internet come backend.
  • Quando modifichi un bilanciatore del carico per cambiare il backend da un NEG internet a qualsiasi altro tipo di backend o cambi il backend da qualsiasi altro tipo a un NEG internet, l'applicazione subisce un tempo di inattività temporaneo di circa 30-90 secondi. Ad esempio, durante questo tempo di inattività, i client che inviano richieste ai bilanciatori del carico delle applicazioni esterni globali vedranno gli errori 502 con il codice di errore failed_to_connect_to_backend. Questo è un comportamento previsto.
  • Le seguenti funzionalità di gestione avanzata del traffico non sono supportate con i backend di NEG internet globali:
    • Richiedi mirroring
    • Criteri relativi ai nuovi tentativi
    • Criteri di traffico (inclusi i criteri relativi alla località di bilanciamento del carico, all'affinità sessione e al rilevamento di outlier)
  • Esamina la sezione Gateway Cloud NAT per conoscere le limitazioni associate ai gateway NAT configurati su subnet solo proxy.

Quote e limiti

Ai NEG internet si applicano le quote e i limiti seguenti:

  • Puoi configurare tutti i NEG con endpoint di rete esterni come consentito dalla quota esistente del gruppo di endpoint di rete.

  • Il numero di NEG per servizio di backend dipende dal tipo di NEG internet (globale o regionale):

    • Per i NEG globali, puoi aggiungere un solo backend NEG internet allo stesso servizio di backend.
    • Per i NEG a livello di regione, puoi aggiungere fino a 50 NEG internet allo stesso servizio di backend.
  • Il numero di endpoint per NEG dipende anche dal tipo di NEG internet (globale o a livello di regione):

    • Per i NEG globali, puoi aggiungere un solo endpoint a un NEG internet.
    • Per i NEG a livello di regione, puoi aggiungere fino a 256 endpoint a un NEG internet.

Per ulteriori informazioni, consulta la quota backend NEG e la quota endpoint per NEG.

Prezzi

Il traffico in uscita verso gli endpoint NEG internet esterni viene addebitato in base alle tariffe in uscita da internet per il networking del livello Premium. L'origine si basa sulla posizione del client, mentre la destinazione si basa sulla località del tuo endpoint pubblico.

Se hai configurato un gateway Cloud NAT per mappare la subnet solo proxy del bilanciatore del carico basato su Envoy a livello di regione, ti verranno addebitati i costi di Cloud NAT. Per i gateway Cloud NAT allocati per i bilanciatori del carico sono previsti addebiti orari equivalenti a una rete con più di 32 istanze VM. Per i dettagli, consulta i prezzi di Cloud NAT.

Per ulteriori informazioni, consulta i prezzi di Cloud Load Balancing.

Passaggi successivi