Panoramica dei gruppi di endpoint di rete internet

Cloud Load Balancing supporta il proxy del traffico verso i backend esterni al di fuori di Trusted Cloud by S3NS. Per definire un backend esterno per un bilanciatore del carico, utilizza una risorsa chiamata gruppo di endpoint di rete (NEG) di internet.

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

  • Utilizza l'infrastruttura Google Edge per terminare le connessioni degli utenti.
  • Indirizza le connessioni al backend esterno.
  • Distribuisci il traffico all'endpoint pubblico tramite il backbone privato di Google, il che migliora l'affidabilità e può ridurre la latenza tra client e server.

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 gruppi di endpoint di rete internet.

Terminologia

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

  • Backend esterno: un backend che si trova al di fuori di Trusted Cloud by S3NS ed è raggiungibile su internet. L'endpoint in un NEG internet.
  • Gruppo di endpoint di rete internet (NEG): la risorsa API che utilizzi per specificare un backend esterno. Trusted Cloud by S3NS
  • Endpoint esterno:come un backend esterno.

Questo documento utilizza il termine backend esterno, tranne quando fa riferimento alla risorsa API NEG di internet.

Componenti del bilanciatore del carico

Questa sezione descrive l'architettura di bilanciamento del carico e le risorse 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 del frontend è la stessa di qualsiasi altro bilanciatore del carico.

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

Esterno regionale

Questa figura mostra le risorse Trusted 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 Trusted 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 un 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 Trusted 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 Trusted 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 un backend esterno.
Bilanciatore del carico di rete proxy interno regionale con un backend esterno (fai clic per ingrandire).

Puoi utilizzare i NEG di internet solo nel livello Premium di Network Service Tiers.

Configurazione frontend

Per creare un bilanciatore del carico con un backend NEG di internet non è necessaria alcuna configurazione speciale del frontend. Le regole di forwarding vengono utilizzate per instradare il traffico verso un proxy di destinazione in base a indirizzo IP, porta e protocollo. 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 l'instradamento delle richieste basato su URL ai servizi di backend appropriati.

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

NEG Internet

Un NEG di internet è una risorsa utilizzata per definire un backend esterno per il bilanciatore del carico. Esistono due tipi di NEG internet: NEG internet globale e NEG internet regionale. Differiscono per ambito (globale o regionale) e comportamento. Il backend esterno a cui fa riferimento un NEG di internet globale deve essere raggiungibile esclusivamente tramite internet; non può essere raggiunto 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. Se viene scelto il formato INTERNET_IP_PORT, può essere utilizzato solo un indirizzo IP instradabile su internet pubblico; se viene scelto il formato INTERNET_FQDN_PORT, il nome di dominio completo può essere risolto in un indirizzo IP instradabile su internet pubblico o in un indirizzo IP privato a seconda dell'ambito dell'endpoint: regionale o globale.

I NEG internet a livello di regione sono basati su proxy Envoy gestiti. Ogni NEG può avere più endpoint e un servizio di backend può includere più NEG internet.

Per il traffico in uscita, puoi configurare i gateway Cloud NAT per impostare gli indirizzi IP di origine. In alternativa, puoi instradare il traffico utilizzando le route apprese all'interno della rete VPC. Sebbene Cloud NAT non sia richiesto per questo metodo di routing, è supportato.

La seguente tabella descrive in che modo i diversi bilanciatori del carico supportano i NEG internet regionali.

Bilanciatori del carico Tipo di endpoint Definizione dell'endpoint Ambito Controlli di integrità
  • 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 risolvibile pubblicamente o privatamente e una porta facoltativa. Ad esempio, backend.example.com:443*.

Il nome di dominio deve essere risolvibile da Cloud DNS.

Sono consentiti un massimo di 256 endpoint per NEG.

Regionale Controlli di integrità distribuiti di Envoy

INTERNET_IP_PORT

Solo 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 un massimo di 256 endpoint per NEG.

* Con i NEG internet regionali, 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 fare entrambe le cose. Se non specifichi una porta durante l'aggiunta di un endpoint, viene utilizzata la porta predefinita del NEG.

Risoluzione DNS per gli endpoint regionali INTERNET_FQDN_PORT

Se il tuo dominio è risolvibile su internet, non è necessaria alcuna altra configurazione per impostare il DNS. Tuttavia, se stai risolvendo FQDN privati, devi configurare Cloud DNS per facilitare la risoluzione DNS. Il nome deve essere ospitato su Cloud DNS o essere risolvibile utilizzando l'inoltro DNS da Cloud DNS a un DNS on-premise o al peering DNS se viene fatto riferimento a una zona DNS privata in un'altra rete VPC.

Inizia creando 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. L'ordine di risoluzione di Cloud DNS è descritto in dettaglio nella sezione Ordine di risoluzione dei nomi.

Se utilizzi un VPC condiviso, tieni presente i requisiti di rete specifici. Puoi anche utilizzare altre funzionalità di Cloud DNS, come le zone di inoltro, per recuperare i record da un server DNS on-premise.

Risoluzione dell'indirizzo IP per gli endpoint INTERNET_FQDN_PORT regionali

I NEG internet a livello di regione supportano la risoluzione dei nomi di dominio utilizzando Cloud DNS.

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, meno richieste e così via). L'elenco degli endpoint viene aggiornato periodicamente in base al TTL del DNS. Puoi configurare i criteri di riprova per forzare Envoy a tentare di connettersi a un altro indirizzo IP se uno non riesce.

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, configura 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 altri tipi di backend (come NEG di zona o gruppi di istanze) come backend.

  • Numero di NEG per servizio di backend

  • Numero di endpoint per NEG

    I NEG regionali non supportano modalità di bilanciamento del carico come frequenza, connessione o utilizzo. Tutti gli endpoint di tutti i NEG collegati a un servizio di backend vengono raggruppati in un unico gruppo. Il bilanciamento del carico del traffico 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 dell'API del servizio di backend regionale.

  • Controlli di integrità

  • Lo schema di bilanciamento del carico del servizio di backend deve corrispondere allo schema richiesto dal bilanciatore del carico che stai implementando. Per l'elenco completo, consulta 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 su internet pubblico.

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

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

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

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

    • L'estensione SSL Server Name Indication (SNI) è supportata solo con endpoint INTERNET_FQDN_PORT. Al FQDN configurato viene inviato un SNI nel client hello 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 dell'indirizzo IP non sono consentiti nel campo HostName di un payload SNI.

Controlli di integrità

La configurazione del controllo di integrità varia a seconda del tipo di bilanciatore del carico:

  • 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 hanno origine dalla subnet solo proxy e vengono poi tradotti con NAT (utilizzando Cloud NAT) in indirizzi IP prenotati in precedenza o in indirizzi IP NAT allocati automaticamente. Per maggiori dettagli, vedi NEG regionali: utilizzare un gateway Cloud NAT.

    I controlli di integrità Envoy distribuiti vengono creati utilizzando gli stessi processi di consoleTrusted Cloud , gcloud CLI e API dei controlli di integrità centralizzati. Non è necessaria alcuna altra configurazione.

    Aspetti da considerare:

    • I controlli di integrità gRPC non sono supportati.
    • I controlli di integrità con il protocollo PROXY v1 abilitato non sono supportati.
    • Poiché il piano dati Envoy gestisce i controlli di integrità, non puoi utilizzare la consoleTrusted 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 Trusted Cloud mostra lo stato del controllo di integrità comeN/A. È previsto.

    • Ogni proxy Envoy assegnato alla subnet solo proxy nella regione della rete VPC avvia i 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 che ogni proxy Envoy deve controllare. Nel peggiore dei casi, il traffico di rete dovuto ai controlli di integrità aumenta a una velocità quadratica (O(n^2)).

    • I log dei controlli di integrità per i controlli di integrità Envoy distribuiti non includono stati di integrità dettagliati. Per informazioni dettagliate su cosa viene registrato, vedi Registrazione dei controlli di integrità. Per risolvere ulteriormente i problemi di connettività dai proxy Envoy agli endpoint NEG, devi controllare anche i log del bilanciatore del carico corrispondente.

Attiva il backend esterno per ricevere richieste

Configura il backend esterno per consentire il traffico da Trusted Cloud.

NEG regionali: utilizza un gateway Cloud NAT

Se utilizzi un NEG internet a livello di regione, devi prima configurare un gateway Cloud NAT per allocare un insieme di intervalli di indirizzi IP da cui deve provenire il traffico Trusted Cloud .

L'endpoint del gateway deve essere di tipo ENDPOINT_TYPE_MANAGED_PROXY_LB.

Il gateway Cloud NAT può essere configurato per allocare automaticamente gli indirizzi IP esterni in base alla domanda o utilizzare un insieme di indirizzi IP esterni riservati manualmente.

  • Indirizzi IP allocati automaticamente

    Utilizza gli indirizzi IP allocati automaticamente se il tuo ambiente di backend esterno non richiede di aggiungere a una lista consentita indirizzi IP specifici che possono inviare traffico al backend esterno. Trusted Cloud

  • Indirizzi IP assegnati manualmente

    Utilizza indirizzi IP allocati manualmente solo se l'ambiente di backend esterno richiede di aggiungere indirizzi IP Trusted Cloud specifici a una lista consentita. Poiché ogni Envoy assegnato alla subnet proxy utilizza un intero indirizzo IP, assicurati che il pool di indirizzi IP riservati sia sufficiente per tutti gli Envoy.

    Se riscontri problemi di connettività su larga scala, controlla di aver raggiunto i limiti di Cloud NAT. Per impostazione predefinita, puoi allocare manualmente fino a 50 indirizzi IP NAT per gateway.

L'allocazione dinamica delle porte è supportata per i NEG internet regionali. Gli indirizzi IP possono essere condivisi dai proxy, quindi utilizzati completamente.

Questa configurazione Cloud NAT si applica all'intera subnet solo proxy. Il traffico internet associato a tutti i bilanciatori del carico basati su Envoy regionali nella regione condivide 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 sul funzionamento dei prezzi dei NEG internet a livello di regione, consulta la sezione Prezzi dei NEG internet a livello di regione.

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

  • Viene eseguita solo la traduzione NAT uno a uno. La condivisione dell'indirizzo IP non è supportata.
  • Il logging e il monitoraggio non sono supportati. ovvero i flag --enable-logging e --log-filter non sono supportati.

Autenticare le richieste al backend esterno

Questa sezione si applica solo ai bilanciatori del carico delle applicazioni.

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

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

    L'implementazione delle trasformazioni delle intestazioni personalizzate dipende dal tipo di bilanciamento del carico che utilizzi:

    • Bilanciatore del carico delle applicazioni esterno regionale e bilanciatore del carico delle applicazioni interno regionale. Le trasformazioni dell'intestazione personalizzata possono essere configurate solo nella mappa URL.

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

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

Log

Le richieste sottoposte a 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:

Limitazioni

  • Consulta la sezione del servizio di backend per limitazioni associate alla configurazione dei NEG di internet come backend.
  • Quando modifichi un bilanciatore del carico per cambiare il backend da un NEG internet a qualsiasi altro tipo di backend o da qualsiasi altro tipo di backend a un NEG internet, la tua applicazione subisce un downtime temporaneo di circa 30-90 secondi.
  • Consulta la sezione Gateway Cloud NAT per le limitazioni associate ai gateway NAT configurati su subnet solo proxy.

Quote e limiti

Per informazioni su quote e limiti, consulta la tabella delle quote dei backend NEG e la tabella delle quote degli endpoint per NEG.

Prezzi

Il traffico in uscita verso gli endpoint NEG di internet esterni viene addebitato alle tariffe per il traffico in uscita da internet per il networking del livello Premium. L'origine si basa sulla posizione del client e la destinazione sulla posizione dell'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. I gateway Cloud NAT assegnati per i bilanciatori del carico comportano addebiti orari equivalenti a una rete con più di 32 istanze VM. Per informazioni dettagliate, consulta Prezzi di Cloud NAT.

Per maggiori informazioni, consulta la pagina Prezzi di Cloud Load Balancing.

Passaggi successivi