Panoramica del bilanciatore del carico delle applicazioni

Il bilanciatore del carico delle applicazioni è un bilanciatore del carico di livello 7 basato su proxy che consente esegui e scala i tuoi servizi. La Il bilanciatore del carico delle applicazioni distribuisce il traffico HTTP e HTTPS ai backend ospitati su diverse piattaforme Google Cloud, come Compute Engine, Google Kubernetes Engine (GKE), Cloud Storage e Cloud Run e i backend esterni connessi tramite internet o tramite la connettività ibrida.

I bilanciatori del carico delle applicazioni sono disponibili nelle seguenti modalità di deployment:

  • Bilanciatore del carico delle applicazioni esterno: bilancia il carico del traffico proveniente dai client su internet. Per i dettagli sull'architettura, vedi Architettura del bilanciatore del carico delle applicazioni esterno.

    Modalità di deployment Livello di servizio di rete Schema di bilanciamento del carico Indirizzo IP Porte frontend
    Esterno globale Livello Premium EXTERNAL_MANAGED IPv4
    IPv6

    Può fare riferimento esattamente a una porta tra 1-65535.

    Esterno regionale Livello Premium o Standard EXTERNAL_MANAGED IPv4
    Classico

    Globale nel livello Premium

    Regionale nel livello Standard

    EXTERNAL IPv4
    IPv6 (richiede il livello Premium)
  • Bilanciatore del carico delle applicazioni interno: bilancia il carico del traffico all'interno della rete VPC o delle reti connesse alla rete VPC. Per i dettagli sull'architettura, vedi Architettura del bilanciatore del carico delle applicazioni interno.

    Modalità di deployment Livello di servizio di rete Schema di bilanciamento del carico Indirizzo IP Porte frontend
    Interno a livello di regione Livello Premium INTERNAL_MANAGED IPv4

    Può fare riferimento esattamente a una porta tra 1-65535.

    Interno tra regioni*

    Livello Premium INTERNAL_MANAGED IPv4

Lo schema di bilanciamento del carico è un attributo della regola di inoltro e del servizio di backend di un bilanciatore del carico e indica se quest'ultimo può essere usato per il traffico interno o esterno. Il termine *_MANAGED nello schema di bilanciamento del carico indica che il bilanciatore del carico è implementato come servizio gestito su Google Front End (GFE) o sul proxy Envoy open source. In uno schema di bilanciamento del carico che *_MANAGED, le richieste vengono indirizzate a GFE o a Envoy proxy.

* Il bilanciatore del carico utilizza risorse globali e può essere implementato in una o più regioni Google Cloud a tua scelta.

Application Load Balancer esterno

I bilanciatori del carico delle applicazioni esterni vengono implementati utilizzando Google Front End (GFE) o proxy gestiti. I bilanciatori del carico delle applicazioni esterni globali e i bilanciatori del carico delle applicazioni classici utilizzano GFE distribuiti a livello globale, che operano insieme utilizzando la rete globale e il piano di controllo di Google. I GFE offrono il bilanciamento del carico su più regioni nel livello Premium, indirizzando il traffico al backend funzionante più vicino con capacità e terminando il traffico HTTP(S) il più vicino possibile agli utenti. I bilanciatori del carico delle applicazioni esterni globali e regionali utilizzano il software open source Envoy proxy per abilitare funzionalità di gestione avanzata del traffico.

Questi bilanciatori del carico possono essere implementati in una delle seguenti modalità: globale, a livello di regione o classica.

I bilanciatori del carico delle applicazioni esterni supportano le seguenti funzionalità:

Il seguente diagramma mostra un'architettura di esempio di bilanciatore del carico delle applicazioni esterno.

Architettura del bilanciatore del carico delle applicazioni esterno.
Architettura del bilanciatore del carico delle applicazioni esterno
.

Per una panoramica completa, vedi Panoramica dell'architettura per Bilanciatori del carico delle applicazioni esterni.

Bilanciatore del carico delle applicazioni interno

I bilanciatori del carico delle applicazioni interni sono bilanciatori del carico di livello 7 regionali basati su proxy Envoy che ti consentono di eseguire e scalare il traffico delle applicazioni HTTP dietro un indirizzo IP interno. I bilanciatori del carico delle applicazioni interni supportano i backend in una regione, ma può essere configurato in modo da essere accessibile a livello globale da parte dei clienti regione Google Cloud.

Il bilanciatore del carico distribuisce il traffico ai backend ospitati su Google Cloud, on-premise o in altri ambienti cloud. Anche i bilanciatori del carico delle applicazioni interni supporta le seguenti funzionalità:

  • Norme relative alla località. All'interno di un gruppo di istanze di backend o di un gruppo di endpoint di rete, puoi configurare la modalità di distribuzione delle richieste alle istanze o agli endpoint dei membri. Per maggiori dettagli, vedi Gestione del traffico.
  • Accesso globale. Quando l'accesso globale è abilitato, i client di qualsiasi regione possono per accedere al bilanciatore del carico. Per maggiori dettagli, vedi Abilitazione globale l'accesso alle app.
  • Accesso da reti connesse. Puoi rendere il tuo bilanciatore del carico accessibile ai clienti da reti diverse da quelle di Google Cloud una rete VPC (Virtual Private Cloud). Le altre reti devono essere connessa al VPC del bilanciatore del carico utilizzando il peering di rete VPC, Cloud VPN e Cloud Interconnect. Per maggiori dettagli, vedi Accesso connesso reti.
  • Compatibilità con GKE tramite Ingress (completamente orchestrato). Per maggiori dettagli, consulta Configurare Ingress per bilanciatori del carico delle applicazioni interni.
  • I bilanciatori del carico delle applicazioni interni regionali sono supportati con App Hub, che è in anteprima.
Architettura del bilanciatore del carico delle applicazioni interno.
Architettura del bilanciatore del carico delle applicazioni interno.

Per una panoramica completa, consulta la Panoramica dell'architettura per i bilanciatori del carico delle applicazioni interni.

Casi d'uso

Le sezioni seguenti descrivono alcuni casi d'uso comuni per i bilanciatori del carico delle applicazioni.

Servizi web a tre livelli

Puoi implementare una combinazione di bilanciatori del carico delle applicazioni e bilanciatori del carico di rete per supportare i servizi web tradizionali a tre livelli. La l'esempio seguente mostra come eseguire il deployment di ogni livello, a seconda del traffico tipo:

  • Livello web. Il frontend dell'applicazione viene servito da un bilanciatore del carico delle applicazioni esterno con backend di gruppi di istanze. Il traffico proviene da internet e viene eseguito tramite proxy dal bilanciatore del carico a un insieme di backend del gruppo di istanze in varie regioni. Questi backend inviano il traffico HTTP(S) a un insieme di bilanciatori del carico delle applicazioni interni.
  • Livello di applicazione. Il deployment del middleware dell'applicazione è stato eseguito utilizzando un bilanciatore del carico delle applicazioni interno e backend di gruppi di istanze. La i bilanciatori del carico distribuiscono il traffico ai gruppi di istanze middleware. Questi i gruppi di istanze middleware, quindi inviano il traffico ai bilanciatori del carico di rete passthrough interni.
  • Livello di database. I bilanciatori del carico di rete fungono da frontend per il livello del database. Distribuiscono il traffico ai backend di archiviazione dei dati in varie regioni.
Routing basato sul livello 7 in un'applicazione web a tre livelli.
Routing basato su livello 7 in un'applicazione web a tre livelli.

Accesso globale per i bilanciatori del carico delle applicazioni interni regionali

Se abiliti l'accesso globale per il bilanciatore del carico delle applicazioni interno regionale, le VM client di livello web possono trovarsi in un'altra regione.

Questo esempio di applicazione multilivello mostra quanto segue:

  • Un livello web per internet disponibile a livello globale che bilancia il carico del traffico mediante un bilanciatore del carico delle applicazioni esterno.
  • Un livello di database backend bilanciato del carico nella regione us-east1 a cui accede il livello web globale.
  • Una VM client che fa parte del livello web nella regione europe-west1 che accede al livello del database bilanciato interno in us-east1.
App web a tre livelli con bilanciatore del carico delle applicazioni esterno, accesso globale e
         il bilanciatore del carico delle applicazioni
interno.
App web a tre livelli con bilanciatore del carico delle applicazioni esterno, accesso globale e un bilanciatore del carico delle applicazioni interno (fai clic per ingrandire).

Carichi di lavoro con conformità giurisdizionale

Alcuni carichi di lavoro con requisiti normativi o di conformità richiedono che le configurazioni di rete e la terminazione del traffico si trovino in una regione specifica. Per questi carichi di lavoro, un bilanciatore del carico delle applicazioni esterno regionale è spesso l'opzione preferita per fornire i controlli di giurisdizione richiesti da questi carichi di lavoro.

Gestione avanzata del traffico

Gli Application Load Balancer supportano funzionalità avanzate di gestione del traffico che ti consentono di avere un controllo granulare sulla modalità di gestione del traffico. tra cui:

  • Puoi aggiornare la modalità di gestione del traffico senza dover modificare i il codice dell'applicazione.
  • Puoi instradare il traffico in modo intelligente in base a parametri HTTP(S), come host, percorso, intestazioni e altri parametri della richiesta. Ad esempio, puoi utilizzare i bucket Cloud Storage per gestire i contenuti video statici e i gruppi di istanze o i NEG per gestire tutte le altre richieste.
  • Puoi ridurre i rischi durante il deployment di una nuova versione della tua applicazione utilizzando la suddivisione del traffico in base al peso. Ad esempio, puoi inviare il 95% del traffico alla versione precedente del servizio e il 5% alla nuova versione. Dopo aver verificato che la nuova versione funzioni come previsto, puoi spostare gradualmente le percentuali finché il 100% del traffico non raggiunge una nuova versione del servizio. La suddivisione del traffico è in genere utilizzata per il deployment nuove versioni, test A/B, migrazione dei servizi, modernizzazione dei servizi legacy e processi simili.

Di seguito è riportato un esempio di routing basato sul percorso implementato utilizzando un bilanciatore del carico delle applicazioni interno. Ogni percorso è gestito da un backend diverso.

Routing basato su percorso con bilanciatori del carico delle applicazioni interni.
Routing basato su percorso con bilanciatori del carico delle applicazioni interni.

Per ulteriori dettagli, consulta quanto segue:

Estensibilità con Service Extensions

I callout di Service Extensions ti consentono di inserire logica personalizzata nel percorso dei dati con bilanciamento del carico. Queste estensioni ti consentono di indicare bilanciatori del carico delle applicazioni supportati per effettuare chiamate gRPC ad applicazioni o servizi gestiti dall'utente durante e l'elaborazione dei dati.

Per ulteriori informazioni, consulta la panoramica di Service Extensions.

Migrazione dei servizi legacy a Google Cloud

La migrazione di un servizio esistente a Google Cloud ti consente di liberare la capacità on-premise e ridurre il costo e l'onere della manutenzione di un'infrastruttura on-premise. Puoi configurare temporaneamente un deployment ibrido che ti consenta di instradare il traffico sia al tuo attuale servizio on-premise sia a un endpoint del servizio Google Cloud corrispondente.

Il seguente diagramma mostra questa configurazione con un bilanciatore del carico delle applicazioni interno. Se usando un bilanciatore del carico interno, puoi configurare il carico di Google Cloud per utilizzare la suddivisione del traffico basata su ponderazioni al fine di suddividere il traffico tra i due i servizi di machine learning. La suddivisione del traffico ti consente di iniziare inviando lo 0% del traffico alla dal servizio Google Cloud e dal 100% al servizio on-premise. Puoi quindi aumentare gradualmente la proporzione di traffico inviato al servizio Google Cloud. Infine, invii il 100% del traffico a Google Cloud e ritirare il servizio on-premise.

Eseguire la migrazione di servizi legacy a Google Cloud.
Esegui la migrazione dei servizi precedenti a Google Cloud.

Bilanciamento del carico per le applicazioni GKE

Esistono tre modi per eseguire il deployment dei bilanciatori del carico delle applicazioni per GKE cluster:

Load balancing per Cloud Run, funzioni Cloud Run e applicazioni App Engine

Puoi utilizzare un bilanciatore del carico delle applicazioni come frontend per le tue applicazioni serverless Google Cloud. In questo modo puoi configurare le tue applicazioni serverless in modo che gestiscano le richieste da un indirizzo IP dedicato non condiviso con altri servizi.

Per configurare questa opzione, utilizza un NEG serverless come backend del bilanciatore del carico. La i seguenti diagrammi mostrano come un'applicazione serverless è integrata con Bilanciatore del carico delle applicazioni.

Esterno globale

Questo diagramma mostra il modo in cui un NEG serverless si inserisce in un bilanciatore del carico delle applicazioni esterno globale dell'architettura.

Architettura del bilanciatore del carico delle applicazioni esterno globale per le app serverless.
Architettura del bilanciatore del carico delle applicazioni esterno globale per le app serverless.

Esterno regionale

Questo diagramma mostra come un gruppo di elenchi di negazioni serverless si inserisce in un'architettura di bilanciatore del carico delle applicazioni esterno regionale. Questo bilanciatore del carico supporta solo Cloud Run di backend.

Architettura del bilanciatore del carico delle applicazioni esterno regionale per le app serverless.
Architettura del bilanciatore del carico delle applicazioni esterno regionale per le app serverless.

Interno a livello di regione

Questo diagramma mostra il modo in cui un NEG serverless si inserisce nel bilanciatore del carico delle applicazioni interno regionale un modello di machine learning. Questo bilanciatore del carico supporta solo Cloud Run di backend.

Architettura del bilanciatore del carico delle applicazioni interno regionale per le app serverless.
Architettura del bilanciatore del carico delle applicazioni interno regionale per le app serverless.

Interno tra regioni

Questo diagramma mostra come un gruppo di errori serverless si inserisce nel modello di bilanciatore del carico delle applicazioni interno tra regioni. Questo bilanciatore del carico supporta solo i backend Cloud Run.

Architettura del bilanciatore del carico delle applicazioni interno tra regioni per le app serverless.
Architettura del bilanciatore del carico delle applicazioni interno tra regioni per le app serverless (fai clic per ingrandire).

Documentazione correlata:

Bilanciamento del carico verso backend esterni a Google Cloud

I bilanciatori del carico delle applicazioni supportano il bilanciamento del carico del traffico verso endpoint che estendono oltre Google Cloud, come data center on-premise e altri servizi ambienti cloud-native. I backend esterni sono in genere accessibili in uno dei seguenti modi:

  • Accessibile tramite la rete internet pubblica. Per questi endpoint, viene utilizzata come backend del bilanciatore del carico. Il NEG internet è configurato su punta a un singolo endpoint FQDN:Port o IP:Port sul backend esterno. I NEG internet possono essere globali o regionali.

    Il seguente diagramma mostra come connettersi a backend esterni accessibili tramite la rete internet pubblica utilizzando un NEG internet globale.

    Bilanciatore del carico delle applicazioni esterno globale con un backend esterno.
    Bilanciatore del carico delle applicazioni esterno globale con backend esterno.

    Per maggiori dettagli, consulta NEG internet Panoramica.

  • Accessibile tramite connettività ibrida (Cloud Interconnect o Cloud VPN). Per questi endpoint, utilizza un NEG ibrido come carico del bilanciatore del carico del bilanciatore del carico. Il NEG ibrido è configurato per puntare agli endpoint IP:Port sul backend esterno.

    I seguenti diagrammi mostrano come connettersi a backend esterni accessibile tramite Cloud Interconnect o Cloud VPN.

    Esterno

    Connettività ibrida con bilanciatori del carico delle applicazioni esterni globali.
    Connettività ibrida con bilanciatori del carico delle applicazioni esterni globali.

    Interno

    Connettività ibrida con bilanciatori del carico delle applicazioni interni.
    Connettività ibrida con bilanciatori del carico delle applicazioni interni.

    Per ulteriori dettagli, consulta la panoramica delle NEG ibride.

Integrazione con Private Service Connect

Private Service Connect consente il consumo privato di servizi su reti VPC appartenenti a gruppi, team, progetti o organizzazioni diversi. Puoi utilizzare Private Service Connect di accedere alle API e ai servizi Google o ai servizi gestiti rete VPC.

Puoi utilizzare un bilanciatore del carico delle applicazioni esterno globale per accedere ai servizi pubblicati utilizzando Private Service Connect. Per ulteriori informazioni, consulta Informazioni sui backend di Private Service Connect.

Puoi utilizzare un bilanciatore del carico delle applicazioni interno per inviare richieste alle API di Google regionali supportate e servizi. Per ulteriori informazioni, vedi Accedere alle API di Google tramite i backend.

Alta disponibilità e failover tra regioni

Il failover tra regioni è disponibile solo con i bilanciatori del carico delle applicazioni esterni globali, bilanciatori del carico delle applicazioni classici e bilanciatori del carico delle applicazioni interni tra regioni. Questi bilanciatori del carico consentono di migliorare la disponibilità dei servizi quando crei servizi di backend globali con backend in più regioni. Se i backend di una determinata regione non sono attivi, il traffico viene trasferito in modo corretto a un'altra regione.

Per scoprire di più sul funzionamento del failover, consulta i seguenti argomenti: