Configura un servizio di backend di Cloud Load Balancing globale

Crea un bilanciatore del carico nella tua applicazione configurando e collegando componenti frontend e backend Cloud Load Balancing distinti. Questi componenti ti consentono di applicare controlli distinti per il traffico esterno e interno e impediscono l'accesso diretto ai dati.

Il componente di backend globale di Cloud Load Balancing consente di gestire le impostazioni di distribuzione del traffico del bilanciatore del carico, incluso il protocollo utilizzato per connettersi ai backend, le impostazioni di sessione, i controlli di integrità e i timeout. Configura i seguenti backend:

  • NEG serverless: un elenco di applicazioni Cloud Run o Cloud Run Functions serverless come backend.

  • Gruppo di istanze gestite: un elenco di gruppi di istanze Compute Engine come backend.

Per saperne di più, consulta la panoramica dei servizi di backend.

Questo documento descrive le connessioni e i parametri che configuri quando utilizzi App Design Center per creare un backend di Cloud Load Balancing globale. I parametri di configurazione si basano sul modulo Terraform terraform-google-lb-http.

Connessioni dei componenti

Per creare un componente Cloud Load Balancing completo, connetti il backend Cloud Load Balancing globale ad almeno un frontend Cloud Load Balancing globale. I componenti di Cloud Load Balancing connessi vengono visualizzati come gruppo nel canvas di progettazione.

La tabella seguente elenca i componenti che connetti a un backend di Cloud Load Balancing globale e gli aggiornamenti risultanti alla tua applicazione e al relativo codice Terraform generato.

Componente connesso

Aggiornamenti delle applicazioni

Informazioni introduttive

Cloud Run

  • Il bilanciatore del carico può distribuire il traffico in entrata al servizio Cloud Run.
  • Il servizio Cloud Run viene aggiunto come endpoint di backend nella configurazione dei backend NEG serverless di Cloud Load Balancing.
Configura un bilanciatore del carico delle applicazioni esterno globale con Cloud Run

Frontend di bilanciamento del carico globale di Cloud Load Balancing (obbligatorio)

  • Il frontend di Cloud Load Balancing, che gestisce le richieste in entrata, è collegato al backend di Cloud Load Balancing, che elabora le richieste.
  • Le informazioni sul servizio di backend vengono aggiunte all'input della mappa URL frontend.
Panoramica delle mappe URL

Compute Engine MIG

  • Il bilanciatore del carico può distribuire il traffico in entrata al gruppo di istanze gestite di Compute Engine.
  • Il MIG di Compute Engine viene aggiunto al campo dei gruppi di servizio di backend di Cloud Load Balancing.
Configura un bilanciatore del carico delle applicazioni classico con un backend del gruppo di istanze gestite

Parametri di configurazione obbligatori

Se il modello include un componente di backend di Cloud Load Balancing globale, configura i seguenti parametri prima del deployment.

Nome parametro

Descrizione e vincoli

Informazioni introduttive

Nome

Nome del servizio di backend del bilanciatore del carico. name

ID progetto

Il progetto in cui vuoi eseguire il deployment del servizio di backend di Cloud Load Balancing.

Configurare i componenti

Parametri di configurazione facoltativi

I seguenti parametri sono facoltativi. Per visualizzare i parametri avanzati, nell'area Configurazione, seleziona Mostra campi avanzati.

Funzionalità

Nome parametro

Informazioni su descrizione e vincoli

Informazioni introduttive

Mappature dei percorsi host

Host Configurare le mappe URL Utilizzare le mappe URL
Percorso Configurare le mappe URL Utilizzare le mappe URL
Schema di bilanciamento del carico loadBalancingScheme Panoramica dei servizi di backend
Protocollo protocol Protocollo per i backend
Nome porta portName Porte denominate
Descrizione Una descrizione del servizio di backend. description
Abilita CDN enableCDN Panoramica di Cloud CDN
Modalità di compressione compressionMode La compressione non funziona
Intestazioni delle richieste personalizzate customRequestHeaders[] Creare intestazioni personalizzate nei servizi di backend
Intestazioni delle risposte personalizzate customResponseHeaders[] Creare intestazioni personalizzate nei servizi di backend
Timeout per svuotamento della connessione in secondi connectionDraining.drainingTimeoutSec Abilita svuotamento delle connessioni
Affinità sessione sessionAffinity Affinità sessione
TTL cookie affinità sec affinityCookieTtlSec Affinità cookie generato
Policy LB località localityLbPolicy Policy di bilanciamento del carico per le località
Timeout (sec) timeoutSec Timeout del servizio di backend

Log config

Attiva logConfig.enable Logging
Frequenza di campionamento logConfig.sampleRate Logging

Gruppi

Gruppo backends[].group Backend
Descrizione Una descrizione per il gruppo di backend. backends[].description
Modalità di bilanciamento backends[].balancingMode Modalità di bilanciamento e impostazioni della capacità target
Scalatore di capacità backends[].capacityScaler Scalatore di capacità
Connessioni massime backends[].maxConnections Modalità di bilanciamento della connessione
Numero massimo di connessioni per istanza backends[].maxConnectionsPerInstance Modalità di bilanciamento della connessione
Max Connections Per Endpoint backends[].maxConnectionsPerEndpoint Modalità di bilanciamento della connessione
Tariffa massima backends[].maxRate Modalità di bilanciamento del tasso
Tariffa massima per istanza backends[].maxRatePerInstance Modalità di bilanciamento del tasso
Max Rate Per Endpoint backends[].maxRatePerEndpoint Modalità di bilanciamento del tasso
Utilizzo massimo backends[].maxUtilization Modalità di bilanciamento dell'utilizzo

Backend NEG serverless

Regione region Panoramica dei gruppi di endpoint di rete serverless
Tipo Il tipo di backend serverless. I valori possibili includono cloud-run, cloud-function o app-engine. Bilanciatori del carico supportati
Nome servizio appEngine.service Panoramica dei gruppi di endpoint di rete serverless
Versione del servizio appEngine.version Panoramica dei gruppi di endpoint di rete serverless

Configurazione IAP

Attiva iap.enabled Panoramica di Identity-Aware Proxy
ID client OAuth2 iap.oauth2ClientId Come condividere i client OAuth
Client secret OAuth2 iap.oauth2ClientSecret Come condividere i client OAuth

Policy CDN

Modalità cache cdnPolicy.cacheMode Panoramica della memorizzazione nella cache
Signed URL Cache Max Age Sec cdnPolicy.signedUrlCacheMaxAgeSec Personalizzare la durata massima della cache
TTL predefinito cdnPolicy.defaultTtl Modificare le impostazioni e gli override TTL
TTL max cdnPolicy.maxTtl Modificare le impostazioni e gli override TTL
TTL cliente cdnPolicy.clientTtl Modificare le impostazioni e gli override TTL
Memorizzazione nella cache negativa cdnPolicy.negativeCaching Utilizza la memorizzazione nella cache negativa
Pubblica quando inattivo cdnPolicy.serveWhileStale Pubblicazione di contenuti scaduti
Ignora cache per intestazioni delle richieste cdnPolicy.bypassCacheOnRequestHeaders[] Ignorare la cache

Policy di memorizzazione nella cache negativa

Codice cdnPolicy.negativeCachingPolicy[].code Utilizza la memorizzazione nella cache negativa
TTL cdnPolicy.negativeCachingPolicy[].ttl Utilizza la memorizzazione nella cache negativa

Policy chiavi di cache

Includi host cdnPolicy.cacheKeyPolicy.includeHost Chiavi della cache
Includi protocollo cdnPolicy.cacheKeyPolicy.includeProtocol Chiavi della cache
Includi stringa di query cdnPolicy.cacheKeyPolicy.includeQueryString Elenco di inclusione delle stringhe di query
Lista nera delle stringhe di query cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] Elenco di esclusione della stringa di query
Elenco consentito di stringhe di query cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] Elenco di inclusione delle stringhe di query
Includi intestazioni HTTP cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] Impostazioni della chiave della cache delle intestazioni HTTP e dei cookie HTTP
Includi cookie denominati cdnPolicy.cacheKeyPolicy.includeNamedCookies[] Includere cookie denominati

Rilevamento outlier

Tempo di esclusione base in secondi outlierDetection.baseEjectionTime.seconds Rilevamento outlier per i NEG serverless
Base Ejection Time Nanos outlierDetection.baseEjectionTime.nanos Rilevamento outlier per i NEG serverless
Errori consecutivi outlierDetection.consecutiveErrors Rilevamento outlier per i NEG serverless
Errori consecutivi del gateway outlierDetection.consecutiveGatewayFailure Rilevamento outlier per i NEG serverless
Esclusione forzata per errori consecutivi outlierDetection.enforcingConsecutiveErrors Rilevamento outlier per i NEG serverless
Esclusione forzata per errori consecutivi del gateway outlierDetection.enforcingConsecutiveGatewayFailure Rilevamento outlier per i NEG serverless
Applicazione della percentuale di successo outlierDetection.enforcingSuccessRate Rilevamento outlier per i NEG serverless
Intervallo in secondi outlierDetection.interval.seconds Rilevamento outlier per i NEG serverless
Interval Nanos outlierDetection.interval.nanos Rilevamento outlier per i NEG serverless
Percentuale massima di espulsione outlierDetection.maxEjectionPercent Rilevamento outlier per i NEG serverless
Numero minimo di host con percentuale di successo outlierDetection.successRateMinimumHosts Rilevamento outlier per i NEG serverless
Volume richieste percentuale di successo outlierDetection.successRateRequestVolume Rilevamento outlier per i NEG serverless
Fattore stdev percentuale di successo outlierDetection.successRateStdevFactor Rilevamento outlier per i NEG serverless

Controllo di integrità

Host http2HealthCheck.host Flag aggiuntivi per i controlli di integrità HTTP, HTTPS e HTTP/2
Percorso richiesta http2HealthCheck.requestPath Criteri di esito positivo per HTTP, HTTPS e HTTP/2
Richiesta sslHealthCheck.request Criteri di esito positivo per SSL e TCP
Risposta sslHealthCheck.response Flag aggiuntivi per i controlli di integrità HTTP, HTTPS e HTTP/2
Porta http2HealthCheck.port Protocolli, porte e categorie per il controllo di integrità
Nome porta http2HealthCheck.portName Porte denominate
Intestazione proxy http2HealthCheck.proxyHeader Intestazioni
Specifica della porta http2HealthCheck.portSpecification Flag di specifica della porta
Protocollo type Protocolli, porte e categorie per il controllo di integrità
Intervallo di controllo in secondi checkIntervalSec Sonde
Timeout (sec) timeoutSec Sonde
Soglia di integrità healthyThreshold Stato di salute
Soglia stato non integro unhealthyThreshold Stato di salute
Logging logConfig.enable Informazioni sul logging dei controlli di integrità
Policy di sicurezza edge edge_security_policy Policy di sicurezza perimetrale
Policy di sicurezza security_policy Panoramica delle norme di sicurezza
Reti firewall network Configura le regole firewall
Progetti firewall I nomi dei progetti in cui creare le regole firewall. Configura le regole firewall
Tag di destinazione targetTags[] Limitare i client che possono inviare traffico al bilanciatore del carico
Account di servizio di destinazione targetServiceAccounts[] Filtro di origine e destinazione per service account

Passaggi successivi

Collega il componente di backend a un componente di frontend. Per configurare il componente frontend, consulta Configurare un frontend Cloud Load Balancing globale in App Design Center.