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
IPv6Può 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 nella regola di forwarding e nella
servizio di backend di un carico
bilanciatore del carico e indica se il bilanciatore del carico può essere utilizzato per uso interno
per il traffico 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 gestiti proxy. I bilanciatori del carico delle applicazioni esterni globali e i bilanciatori del carico delle applicazioni classici utilizzano GFE che sono distribuiti a livello globale e operano insieme utilizzando la rete globale e il piano di controllo di Google. I GFE offrono un carico per più regioni equilibrato nel livello Premium, indirizzando il traffico al backend integro più vicino dotato di capacità e termina il traffico HTTP(S) il più vicino possibile al tuo utenti. I bilanciatori del carico delle applicazioni esterni globali e i bilanciatori del carico delle applicazioni esterni regionali utilizzano il software proxy Envoy per abilitare funzionalità avanzate di gestione del traffico.
Il deployment di questi bilanciatori del carico può essere eseguito in una le seguenti modalità: globale, regionale o classica.
I bilanciatori del carico delle applicazioni esterni supportano le seguenti funzionalità:
- Gestione avanzata del traffico, ad esempio il mirroring del traffico e il traffico basato sulla ponderazione la suddivisione e le trasformazioni di intestazioni basate su richiesta/risposta. Per maggiori dettagli, vedi Panoramica della gestione del traffico.
- Bilanciamento del carico del traffico verso i backend ospitati su diverse piattaforme Google Cloud come Compute Engine, Google Kubernetes Engine (GKE), Cloud Run e altro ancora. Il supporto del backend dipende dalla modalità di deployment del bilanciatore del carico. Per vedi il Bilanciatore del carico delle applicazioni esterno Panoramica.
- Risposte memorizzate nella cache con Cloud CDN.
- Protezione da attacchi DDoS o altri web mediante l'utilizzo di Google Cloud Armor.
- Bilanciamento del carico in GKE tramite Ingress o Gateway (completamente orchestrato) o NEG autonomi.
- I bilanciatori del carico delle applicazioni esterni regionali sono supportati con App Hub, che è in anteprima.
Il seguente diagramma mostra un'architettura di esempio 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
Gli Application Load Balancer interni sono carichi di livello 7 regionali basati su proxy Envoy che ti consentono di eseguire e scalare il traffico delle applicazioni HTTP un indirizzo IP interno. I bilanciatori del carico delle applicazioni interni supportano i backend in una regione, ma può essere configurato per 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 sulla località. All'interno di un gruppo di istanza di backend o di un endpoint di rete puoi configurare la modalità di distribuzione delle richieste alle istanze membri endpoint. Per i dettagli, consulta Traffico dei modelli.
- 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 mediante 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.
Per una panoramica completa, vedi Panoramica dell'architettura per 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 eseguire il deployment di una combinazione di bilanciatori del carico delle applicazioni Bilanciatori del carico di rete per supportare i servizi web convenzionali 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 è gestito da un bilanciatore del carico delle applicazioni esterno con i backend dei gruppi di istanze. Il traffico entra dalla internet e viene inviato tramite proxy dal bilanciatore del carico a un insieme di gruppi di istanze in varie regioni. Questi backend inviano il traffico HTTP(S) a un insieme dei 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 a livello di database. Distribuiscono il traffico ai backend di archiviazione regioni.
Accesso globale per i bilanciatori del carico delle applicazioni interni regionali
Se abiliti l'accesso globale per i tuoi Application Load Balancer interno regionale, le VM client a 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 con bilanciamento del carico di backend interno nella regione
us-east1
a cui si accede dal livello web globale. - Una VM client che fa parte del livello web nella regione
europe-west1
che accede al livello del database interno con bilanciamento del carico situato inus-east1
.
Carichi di lavoro con conformità giurisdizionale
Alcuni carichi di lavoro con requisiti normativi o di conformità richiedono configurazioni e terminazione del traffico risiedono in una regione specifica. Per questi per carichi di lavoro aziendali, un bilanciatore del carico delle applicazioni esterno regionale è spesso per fornire i controlli giurisdizionali richiesti da questi carichi di lavoro.
Gestione avanzata del traffico
I bilanciatori del carico delle applicazioni supportano funzionalità avanzate di gestione del traffico che ti offrono un controllo granulare su come viene gestito il 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 bucket Cloud Storage per gestire eventuali contenuti video statici. puoi utilizzare i gruppi di istanze o NEG per gestire tutte le altre richieste.
- Puoi mitigare i rischi quando esegui il deployment di una nuova versione della tua applicazione usando la suddivisione del traffico in base alla ponderazione. Ad esempio, puoi inviare il 95% il traffico verso la versione precedente del servizio e il 5% verso la nuova versione il tuo servizio. 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 su percorso implementato utilizzando un il bilanciatore del carico delle applicazioni interno. Ogni percorso è gestito da un backend diverso.
Per ulteriori dettagli, consulta quanto segue:
- Panoramica della gestione del traffico per Bilanciatori del carico delle applicazioni esterni globali
- Panoramica della gestione del traffico per Bilanciatori del carico delle applicazioni esterni regionali
Estensibilità con Service Extensions
I callout di Service Extensions consentono di inserire logica personalizzata nel del carico per il 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 consente di liberare capacità on-premise e ridurre i costi e l'onere della manutenzione un'infrastruttura on-premise. Puoi configurare temporaneamente un modello ibrido che ti consente di instradare il traffico sia agli indirizzi dal servizio on-premise e da un endpoint di 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 a Google Cloud completamente gestito di Google Cloud. Infine, invii il 100% del traffico a Google Cloud e ritirare il servizio on-premise.
Bilanciamento del carico per le applicazioni GKE
Esistono tre modi per eseguire il deployment dei bilanciatori del carico delle applicazioni per GKE cluster:
- Gateway GKE un controller di deployment. Supportato solo da gli Application Load Balancer esterni globali, gli Application Load Balancer classici e di bilanciatori del carico delle applicazioni interni regionali. Per istruzioni sulla configurazione, consulta la sezione Deployment Gateway.
- GKE Ingress un controller di deployment. Puoi utilizzare lo controller GKE Ingress integrato, che esegue il deployment del carico di Google Cloud per conto di utenti GKE. È uguale alla versione autonoma di bilanciamento del carico, tranne per il fatto che il suo ciclo di vita è completamente automatizzato controllato da GKE. Supportato sia da sistemi interni che esterni Bilanciatori del carico delle applicazioni. Per istruzioni sulla configurazione, consulta quanto segue:
- NEG a livello di zona autonomi. Il deployment dei NEG autonomi viene eseguito e gestiti tramite il NEG GKE ma tutte le risorse di bilanciamento del carico (regole di forwarding, integrità controlli automatici e così via) vengono distribuiti manualmente. Questi sono supportati sia da sistemi e bilanciatori del carico delle applicazioni interni.
Bilanciamento del carico per le applicazioni Cloud Run, Cloud Functions e App Engine
Puoi utilizzare un bilanciatore del carico delle applicazioni come frontend per il tuo le applicazioni serverless di Google Cloud. In questo modo puoi configurare per gestire le richieste da un indirizzo IP dedicato, non condivisi con altri servizi.
Per configurarlo, 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.
Esterno regionale
Questo diagramma mostra come un NEG serverless si inserisce in un bilanciatore del carico delle applicazioni esterno regionale dell'architettura. Questo bilanciatore del carico supporta solo Cloud Run di backend.
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.
Interno tra regioni
Questo diagramma mostra il modo in cui un NEG serverless si inserisce nel bilanciatore del carico delle applicazioni interno tra regioni un modello di machine learning. Questo bilanciatore del carico supporta solo Cloud Run di backend.
Documentazione correlata:
- Panoramica dei NEG serverless
- Configura un bilanciatore del carico delle applicazioni esterno globale con Cloud Run, Cloud Functions, o App Engine di backend
- Configura un bilanciatore del carico delle applicazioni esterno regionale con Cloud Run di backend
- Configura un bilanciatore del carico delle applicazioni interno regionale con Cloud Run di backend
- Configura un bilanciatore del carico delle applicazioni interno tra regioni con Cloud Run
Bilanciamento del carico verso i 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 i data center on-premise e altri servizi ambienti cloud-native. I backend esterni sono in genere accessibili in uno dei seguenti modi 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 a livello di regione.
Il seguente diagramma mostra come connettersi a backend esterni accessibile sulla rete internet pubblica tramite un NEG internet globale.
Bilanciatore del carico delle applicazioni esterno globale con backend esterno. Per maggiori dettagli, consulta NEG internet Panoramica.
Accessibile tramite la connettività ibrida (Cloud Interconnect o Cloud VPN). Per questi endpoint, utilizza un NEG ibrido come carico il backend del bilanciatore. 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. Interno
Connettività ibrida con bilanciatori del carico delle applicazioni interni. Per maggiori dettagli, consulta NEG ibridi Panoramica.
Integrazione con Private Service Connect
Private Service Connect consente il consumo privato dei servizi in reti VPC che appartengono a gruppi, team a progetti o organizzazioni. 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, vedi Informazioni Private Service Connect di backend.
Puoi utilizzare un bilanciatore del carico delle applicazioni interno per inviare richieste alle API di Google regionali supportate e servizi. Per ulteriori informazioni, consulta Accedere alle API di Google tramite di backend.
Disponibilità elevata 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 si creano servizi di backend globali con backend in più regioni. Se i backend in una particolare regione non sono attivi, il traffico viene eseguito correttamente su un'altra regione.
Per saperne di più su come funziona il failover, consulta i seguenti argomenti:
- Bilanciatori del carico delle applicazioni esterni globali: come vengono le richieste distribuito
- Bilanciatori del carico delle applicazioni interni tra regioni: alta disponibilità e tra regioni Fai il failover