Configura un servizio di backend Cloud Load Balancing globale in Application Design Center

Crea un bilanciatore del carico nella tua applicazione configurando e collegando componenti frontend e backend di Cloud Load Balancing distinti. I componenti separati ti aiutano ad applicare controlli distinti per il traffico esterno e interno e a impedire l'accesso diretto ai dati.

Il componente di backend globale di Cloud Load Balancing ti aiuta a gestire le impostazioni di distribuzione del traffico del bilanciatore del carico, inclusi il protocollo utilizzato per connettersi ai backend, le impostazioni di sessione, i controlli di integrità e i timeout. Puoi configurare i seguenti backend:

  • NEG serverless: un elenco di applicazioni serverless Cloud Run o Cloud Run Functions 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 puoi configurare quando utilizzi Application Design Center per creare un backend 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, devi connettere il backend Cloud Load Balancing globale ad almeno un frontend Cloud Load Balancing globale. I componenti di bilanciamento del carico cloud connessi vengono visualizzati come gruppo nel canvas di progettazione.

La tabella seguente include i componenti che puoi connettere 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 di 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, devi configurare 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, seleziona Mostra campi avanzati nell'area Configurazione.

Funzionalità

Nome parametro

Informazioni su descrizione e vincoli

Informazioni introduttive

Mappature dei percorsi host

Host Configurare le mappe degli URL Utilizzare le mappe URL
Percorso Configurare le mappe degli URL Utilizzare le mappe URL
Schema di bilanciamento del carico loadBalancingScheme Panoramica dei servizi di backend
Protocollo protocollo Protocollo per i backend
Nome porta portName Porte denominate
Descrizione Una descrizione del servizio di backend. description
Attiva 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 di bilanciamento del carico locale 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
Scalabilità della capacità backends[].capcityScaler Scalatore della 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 il tempo massimo di memorizzazione nella 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
Restituisci quando inattivo cdnPolicy.serveWhileStale Pubblicazione di contenuti obsoleti
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 della stringa di query
Lista nera delle stringhe di query cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] Elenco di esclusione delle stringhe di query
Elenco consentito di stringhe di query cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] Elenco di inclusione della stringa di query
Includi intestazioni HTTP cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] Impostazioni della chiave della cache di intestazioni HTTP e cookie HTTP
Includi cookie denominati cdnPolicy.cacheKeyPolicy.includeNamedCookies[] Inclusi i 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
Applicazione di errori consecutivi outlierDetection.enforcingConsecutiveErrors Rilevamento outlier per i NEG serverless
Applicazione degli 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 host 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 ACriteri 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 Probe
Timeout (sec) timeoutSec Probe
Soglia stato soddisfacente healthyThreshold Stato di salute
Soglia stato non integro unhealthyThreshold Stato di salute
Logging logConfig.enable Informazioni sul logging del controllo 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 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

Devi collegare il componente di backend a un componente di frontend. Per configurare il componente frontend, vedi Configurare un frontend Cloud Load Balancing globale in Application Design Center.