Questo documento mostra come creare un bilanciatore del carico delle applicazioni esterno globale con un servizio di backend e un bucket di backend che si trovano in un progetto diverso da quello in cui si trovano il frontend del bilanciatore del carico e la mappa URL. Questo modello di deployment è noto come riferimento ai servizi tra progetti.
L'esempio utilizzato in questo documento non utilizza un ambiente VPC condiviso per configurare il riferimento ai servizi tra progetti. Per scoprire di più su come configurare il riferimento ai servizi tra progetti in un ambiente VPC condiviso, consulta Configurare un bilanciatore del carico delle applicazioni esterno globale con VPC condiviso.
Prima di iniziare
Assicurati che la configurazione soddisfi i seguenti prerequisiti.
Ruoli e autorizzazioni IAM richiesti
Per seguire questa guida, devi disporre dei seguenti ruoli IAM:
Attività | Ruolo richiesto |
---|---|
Crea un progetto | Ruolo di autore del progetto (roles/resourcemanager.projectCreator )
|
Creare risorse di computing | Ruolo Amministratore rete Compute (roles/compute.networkAdmin )
|
Creazione di bucket di Cloud Storage | Ruolo Amministratore oggetti Storage (roles/storage.objectAdmin )
|
Utilizzare una risorsa di un altro progetto |
In questo esempio, un amministratore del progetto B deve concedere
il
ruolo Utente dei servizi bilanciatore del carico Compute
( Per scoprire di più su come assegnare questo ruolo, consulta Concedi autorizzazioni all'amministratore del bilanciatore del carico Compute per utilizzare il servizio di backend. |
Crea Trusted Cloud by S3NS progetti
Per l'esempio riportato in questo documento, segui le istruzioni due volte per creare due Trusted Cloud by S3NS progetti.
Console
Per creare un nuovo progetto, segui questi passaggi:
-
Vai alla pagina Gestisci risorse nella console Trusted Cloud .
I passaggi rimanenti vengono visualizzati nella console Trusted Cloud .
- Nell'elenco a discesa Seleziona organizzazione nella parte superiore della pagina, scegli la risorsa Organizzazione in cui creare un progetto. Se stai usufruendo di una prova gratuita, salta questo passaggio perché l'elenco non viene visualizzato.
- Fai clic su Crea progetto.
- Nella finestra Nuovo progetto visualizzata, inserisci un nome per il progetto e seleziona un account di fatturazione appropriato. Il nome del progetto può contenere solo lettere, numeri, virgolette singole, trattini, spazi o punti esclamativi e deve avere una lunghezza compresa tra 4 e 30 caratteri.
- Inserisci la cartella o l'organizzazione padre nella casella Posizione. Questa risorsa sarà l'entità padre gerarchica di un nuovo progetto. Se Nessuna organizzazione è un'opzione, puoi selezionarla per creare il nuovo progetto come livello superiore della sua gerarchia di risorse.
- Una volta specificati i dettagli del nuovo progetto, fai clic su Crea.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Per creare un nuovo progetto, utilizza il comando
gcloud projects create
:gcloud projects create PROJECT_ID
dove PROJECT_ID è l'ID del progetto che vuoi creare. Un ID progetto deve iniziare con una lettera minuscola e può contenere solo lettere ASCII, cifre e trattini e deve essere compreso tra 6 e 30 caratteri.
Panoramica della configurazione
Come illustrato nel seguente diagramma, il frontend e la mappa URL di un bilanciatore del carico delle applicazioni esterno globale vengono creati in un progetto diverso dal servizio di backend e dal bucket di backend del bilanciatore del carico. Questo tipo di deployment tra progetti non utilizza un ambiente VPC condiviso.
In questa configurazione, la mappa URL instrada le richieste di contenuti statici
(/images/*
) a un bucket di backend, mentre tutte le altre richieste vengono instradate al
servizio di backend predefinito.
La tabella seguente fornisce una panoramica delle risorse create nel progetto A e nel progetto B. Il frontend e la mappa URL del bilanciatore del carico vengono creati nel progetto A, mentre i componenti di backend vengono creati nel progetto B.
Risorse create nel progetto A | Risorse create nel progetto B |
---|---|
|
|
Nelle sezioni seguenti configureremo le diverse risorse elencate nella tabella precedente, a partire dalla configurazione di una rete VPC e di una subnet per le VM di backend del bilanciatore del carico nel progetto B.
Configura una rete e una subnet per le VM di backend del bilanciatore del carico nel progetto B
Ai fini di questo esempio, le VM di backend vengono create nella seguente rete e subnet:
Rete. La rete è una rete VPC in modalità personalizzata denominata
lb-network
.Subnet per le VM di backend del bilanciatore del carico: una subnet denominata
lb-backend-subnet
nella regioneus-west1
utilizza10.1.2.0/24
per il suo intervallo IP primario. Gli intervalli di indirizzi IPv4 principali e secondari di una subnet sono indirizzi IPv4 interni regionali. Per saperne di più, vedi Intervalli IPv4 validi.
Console
Nella console Trusted Cloud , vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
In Nome, inserisci
lb-network
.Nella sezione Subnet, imposta Modalità di creazione subnet su Personalizzata.
Nella sezione Nuova subnet, inserisci le seguenti informazioni:
- Nome:
lb-backend-subnet
- Seleziona una regione:
us-west1
- Intervallo di indirizzi IP:
10.1.2.0/24
- Nome:
Fai clic su Fine.
Fai clic su Crea.
gcloud
Crea una rete VPC personalizzata, denominata
lb-network
, con il comandogcloud compute networks create
.gcloud compute networks create lb-network \ --subnet-mode=custom \ --project=PROJECT_B_ID
Crea una subnet nella rete VPC
lb-network
nella regioneus-west1
con il comandogcloud compute networks subnets create
.gcloud compute networks subnets create lb-backend-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1 \ --project=PROJECT_B_ID
Configura un servizio di backend nel progetto B
Per configurare un servizio di backend, devi:
- Creare un modello di istanza.
- Crea un gruppo di istanze.
- Creare un controllo di integrità.
- Crea una regola firewall.
- Crea un servizio di backend.
Crea un modello di istanza
Il passaggio preliminare alla creazione di un gruppo di istanze gestite è la creazione di un modello di istanza, ovvero una risorsa che puoi utilizzare per creare istanze di macchine virtuali (VM). Il traffico proveniente dai client viene bilanciato del carico sulle VM in un gruppo di istanze. Il gruppo di istanze gestite fornisce VM che eseguono i server di backend di un bilanciatore del carico delle applicazioni esterno. In questo esempio, i backend gestiscono i propri nomi host.
Console
Nella console Trusted Cloud , vai alla pagina Modelli di istanza di Compute Engine.
Fai clic su Crea modello istanza.
In Nome, inserisci
backend-template
.Nella sezione Disco di avvio, assicurati che il disco di avvio sia impostato su un'immagine Debian, ad esempio Debian GNU/Linux 12 (bookworm). Fai clic su Cambia per modificare l'immagine, se necessario.
Espandi la sezione Opzioni avanzate.
Espandi Networking e configura i seguenti campi:
- In Tag di rete, inserisci
load-balanced-backend
. - Nella sezione Interfacce di rete, configura i seguenti campi:
- Rete:
lb-network
- Subnet:
lb-backend-subnet
- Tipo di stack IP: IPv4
- Rete:
- Fai clic su Fine.
- In Tag di rete, inserisci
Espandi Gestione. Nel campo Script di avvio, inserisci il seguente script:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Retrieve the instance name from metadata vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" # Create an index file echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html # Restart Apache to apply changes systemctl restart apache2' \
Fai clic su Crea.
gcloud
Creare un modello di istanza.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=us-west1 \ --network=projects/PROJECT_B_ID/global/networks/lb-network \ --subnet=projects/PROJECT_B_ID/regions/us-west1/subnetworks/lb-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Retrieve the instance name from metadata vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" # Create an index file echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html # Restart Apache to apply changes systemctl restart apache2' \ --project=PROJECT_B_ID
Creare un gruppo di istanze gestite
Console
Nella console Trusted Cloud , vai alla pagina Gruppi di istanze di Compute Engine.
Fai clic su Crea gruppo di istanze.
Seleziona Nuovo gruppo di istanze gestite (stateless) dalle opzioni.
Come nome del gruppo di istanze, inserisci
lb-backend
.Nell'elenco Modello di istanza, seleziona il modello di istanza
backend-template
creato nel passaggio precedente.Nella sezione Località, seleziona Zona singola e inserisci i seguenti valori:
In Regione, seleziona
us-west1
.In Zona, seleziona
us-west1-a
.
Nella sezione Scalabilità automatica, inserisci i seguenti valori:
In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo.
In Numero minimo di istanze, seleziona
2
.In Numero massimo di istanze, seleziona
3
.
Nella sezione Mappatura delle porte, fai clic su Aggiungi porta e inserisci i valori seguenti:
In Nome porta, inserisci
http
.In Numero porta, inserisci
80
.
Fai clic su Crea.
gcloud
Crea un gruppo di istanze gestite e seleziona il modello di istanza che hai creato nel passaggio precedente:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --zone=us-west1-a \ --size=2 \ --template=INSTANCE_TEMPLATE_NAME \ --project=PROJECT_B_ID
Aggiungi una porta denominata al gruppo di istanze:
gcloud compute instance-groups set-named-ports INSTANCE_GROUP_NAME \ --named-ports=http:80 \ --zone=us-west1-a \ --project=PROJECT_B_ID
Crea un controllo di integrità
I controlli di integrità sono test che confermano la disponibilità dei backend. Crea un controllo di integrità che utilizzi il protocollo HTTP e i probe sulla porta 80. In un secondo momento, collegherai questo controllo di integrità al servizio di backend a cui fa riferimento il bilanciatore del carico.
Console
Nella console Trusted Cloud , vai alla pagina Controlli di integrità di Compute Engine.
Inserisci
lb-health-check
per il nome del controllo di integrità.Imposta il protocollo su HTTP.
Fai clic su Crea.
gcloud
Crea un controllo di integrità HTTP.
gcloud compute health-checks create http lb-health-check \ --use-serving-port \ --project=PROJECT_B_ID
Crea una regola firewall
Per i probe del controllo di integrità, devi creare una regola firewall di autorizzazione in entrata a livello di rete, che ai fini di questo esempio è lb-network
. Questa regola firewall consente ai probe del controllo di integrità di raggiungere le istanze di backend. Questo
esempio utilizza la seguente regola firewall:
fw-allow-health-check
. Una regola in entrata, applicabile alle istanze con bilanciamento del carico, che consente tutto il traffico TCP proveniente dai sistemi di controllo di integrità in Trusted Cloud,130.211.0.0/22
e35.191.0.0/16
. Questo esempio utilizza il tag di destinazioneload-balanced-backend
per identificare le istanze a cui deve essere applicato.
Console
Nella console Trusted Cloud , vai alla pagina Policy firewall.
Fai clic su Crea regola firewall per creare la regola che consente le connessioni SSH in entrata sulla VM client:
- Nome:
fw-allow-health-check
- Rete:
lb-network
- Direzione del traffico: in entrata
- Azione in caso di corrispondenza: Consenti
- Target: Tag di destinazione specificati
- Tag di destinazione:
load-balanced-backend
- Filtro di origine: intervalli IPv4
- Intervalli IPv4 di origine:
130.211.0.0/22
e35.191.0.0/16
- Protocolli e porte:
- Scegli Protocolli e porte specificati.
- Seleziona la casella di controllo TCP, quindi inserisci
80
per il numero di porta. Come best practice, limita questa regola solo ai protocolli e alle porte che corrispondono a quelli utilizzati dal controllo di integrità. Se utilizzi tcp:80 per il protocollo e la porta, Trusted Cloud by S3NS puoi utilizzare HTTP sulla porta 80 per contattare le tue VM, ma non puoi utilizzare HTTPS sulla porta 443 per contattarle.
- Nome:
Fai clic su Crea.
gcloud
Crea la regola firewall
fw-allow-health-check
per consentire i controlli di integritàTrusted Cloud . Questo esempio consente tutto il traffico TCP dai prober di controllo di integrità. Tuttavia, puoi configurare un insieme più ristretto di porte per soddisfare le tue esigenze.gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=load-balanced-backend \ --rules=tcp \ --project=PROJECT_B_ID
Crea un servizio di backend
Crea un servizio di backend globale per distribuire il traffico tra i backend. Nell'ambito di questo passaggio, devi assegnare il controllo di integrità che hai creato al servizio di backend e aggiungere il gruppo di istanze come backend al servizio di backend.
Console
Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.
Vai alla sezione Backend.
Fai clic su Crea servizio di backend.
Per Servizio di backend globale, fai clic sul pulsante Crea accanto.
In corrispondenza del nome del servizio di backend, inserisci
cross-ref-backend-service
.In Tipo di backend, seleziona Gruppo di istanze.
Imposta Protocollo su HTTP.
Nel campo Porta denominata, inserisci
http
. Si tratta dello stesso nome di porta che hai inserito durante la creazione del gruppo di istanze gestite.Per aggiungere backend al servizio di backend:
Nella sezione Backend, imposta il gruppo di istanze su
lb-backend
, ovvero il gruppo di istanze gestite che hai creato in un passaggio precedente.In Numeri di porta, inserisci
80
.Per aggiungere il backend, fai clic su Fine.
Per aggiungere un controllo di integrità, nell'elenco Controllo di integrità, seleziona
lb-health-check
, ovvero il controllo di integrità che hai creato in precedenza.Per creare il servizio di backend, fai clic su Crea.
gcloud
Crea un servizio di backend globale per distribuire il traffico tra i backend:
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=HEALTH_CHECK_NAME \ --global \ --project=PROJECT_B_ID
Aggiungi il tuo gruppo di istanze come backend del servizio di backend:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-zone=us-west1-a \ --global \ --project=PROJECT_B_ID
Configura un bucket di backend nel progetto B
Per creare un bucket di backend, devi:
- Crea il bucket Cloud Storage.
- Copia i contenuti nel bucket.
- Rendi il bucket accessibile pubblicamente.
- Crea un bucket di backend e indirizzalo al bucket Cloud Storage.
Crea un bucket Cloud Storage
Console
- Nella console Trusted Cloud , vai alla pagina Bucket in Cloud Storage.
Fai clic su
Crea.Nella casella Assegna un nome al bucket, inserisci un nome univoco globale che rispetti le linee guida per l'assegnazione dei nomi.
Fai clic su Scegli dove archiviare i tuoi dati.
Imposta Tipo di località su Area geografica.
Dall'elenco delle regioni, seleziona us-east1.
Fai clic su Crea.
gcloud
Crea un bucket nella regione
us-east1
con il comandogcloud storage buckets create
.gcloud storage buckets create gs://BUCKET_NAME \ --default-storage-class=standard \ --location=us-east1 \ --uniform-bucket-level-access \ --project=PROJECT_B_ID
Sostituisci la variabile BUCKET_NAME con il nome del tuo bucket Cloud Storage.
Copia un file grafico nel bucket Cloud Storage
Esegui il comando seguente in Cloud Shell, sostituendo le variabili dei nomi dei bucket con il nome univoco del tuo bucket Cloud Storage, per copiare il file grafico da un bucket Cloud Storage pubblico alla cartella images/
nel tuo bucket Cloud Storage:
gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_NAME/images/
Rendi pubblicamente leggibile il bucket Cloud Storage
Per rendere leggibili tutti gli oggetti in un bucket da parte di chiunque su internet,
concedi al principal allUsers
il ruolo Visualizzatore oggetti Storage
(roles/storage.objectViewer
).
Console
Per concedere a tutti gli utenti l'accesso in visualizzazione agli oggetti nei bucket, ripeti la seguente procedura per ogni bucket:
- Nella console Trusted Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che vuoi rendere pubblico.
Seleziona la scheda Autorizzazioni nella parte superiore della pagina.
Nella sezione Autorizzazioni, fai clic sul pulsante
Concedi accesso. Viene visualizzata la finestra di dialogo Concedi l'accesso.Nel campo Nuove entità, inserisci
allUsers
.Nel campo Seleziona un ruolo, inserisci
Storage Object Viewer
nella casella di filtro e seleziona Visualizzatore oggetti Storage dai risultati filtrati.Fai clic su Salva.
Fai clic su Consenti accesso pubblico.
gcloud
Per concedere a tutti gli utenti l'accesso per visualizzare gli oggetti nei bucket, esegui il comando buckets add-iam-policy-binding
.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
Sostituisci le variabili dei nomi dei bucket con i nomi univoci dei bucket Cloud Storage.
Crea un bucket di backend
I backend bucket fungono da wrapper per i bucket Cloud Storage che hai creato in precedenza. indirizzano il traffico in entrata ai bucket Cloud Storage.
Console
Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.
Vai alla sezione Backend.
Fai clic su Crea bucket di backend.
Inserisci un nome per il bucket di backend.
Seleziona un bucket Cloud Storage a cui indirizzare il bucket di backend.
Fai clic su Crea.
gcloud
Crea un bucket di backend con il
comando gcloud compute backend-buckets create
nel progetto B.
gcloud compute backend-buckets create BACKEND_BUCKET_NAME \ --gcs-bucket-name=BUCKET_NAME \ --project=PROJECT_B_ID
Configura i componenti frontend del bilanciatore del carico nel progetto A
Questa sezione mostra come configurare i seguenti componenti frontend del bilanciatore del carico nel progetto A:
- Indirizzo IP
- Certificato SSL
- Mappa URL
- Proxy di destinazione
- Regola di forwarding
Prenota l'indirizzo IP del bilanciatore del carico
Prenota un indirizzo IP esterno statico globale che può essere assegnato alla regola di forwarding del bilanciatore del carico.
Console
Nella console Trusted Cloud , vai alla pagina Indirizzi IP VPC.
Fai clic su Prenota indirizzo IP statico esterno.
In Nome, inserisci
cross-ref-ip-address
.Imposta Network Service Tier su Premium.
Imposta Versione IP su IPv4.
Imposta Tipo su Globale.
Fai clic su Prenota.
gcloud
Crea un indirizzo IP esterno statico globale.
gcloud compute addresses create IP_ADDRESS_NAME \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global \ --project=PROJECT_A_ID
Configura una risorsa del certificato SSL
In questo esempio, puoi utilizzare HTTP o HTTPS come protocollo di richiesta-risposta tra il client e il bilanciatore del carico. Per creare un bilanciatore del carico HTTPS, devi aggiungere una risorsa del certificato SSL al frontend del bilanciatore del carico.
Crea una risorsa del certificato SSL come descritto nella documentazione seguente:
Ti consigliamo di utilizzare un certificato gestito da Google.
Dopo aver creato il certificato, puoi collegarlo al proxy di destinazione HTTPS.
Configura i componenti di un bilanciatore del carico delle applicazioni esterno globale
Console
Seleziona il tipo di bilanciatore del carico
Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- In Tipo di bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni (HTTP/HTTPS) e fai clic su Avanti.
- In Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
- In Deployment globale o in una regione singola, seleziona Ideale per workload globali e fai clic su Avanti.
- In Generazione del bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni esterno globale e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
- Inserisci un nome per il bilanciatore del carico.
- Tieni aperta la pagina per continuare.
Configura il frontend
Per HTTP:
- Fai clic su Configurazione frontend.
- Inserisci un nome per la regola di forwarding.
- Imposta Protocollo su
HTTP
. - Seleziona l'indirizzo IP che hai creato in Riserva l'indirizzo IP del bilanciatore del carico.
- Imposta Porta su
80
. - Fai clic su Fine.
Per HTTPS:
Se utilizzi HTTPS tra il client e il bilanciatore del carico, devi configurare il proxy con una o più risorse di certificati SSL. Per informazioni su come creare risorse del certificato SSL, vedi Certificati SSL.
- Fai clic su Configurazione frontend.
- Inserisci un nome per la regola di forwarding.
- Nel campo Protocollo, seleziona
HTTPS (includes HTTP/2)
. - Seleziona l'indirizzo IP che hai creato in Riserva l'indirizzo IP del bilanciatore del carico.
- Assicurati che la Porta sia impostata su
443
per consentire il traffico HTTPS. - Fai clic sull'elenco Certificato.
- Seleziona il nome del certificato SSL che hai creato in precedenza.
- Fai clic su Fine.
Configura il backend
- Fai clic su Configurazione backend.
- Fai clic su Servizi di backend tra progetti.
- In ID progetto, inserisci l'ID progetto per il progetto B.
- Dall'elenco Seleziona servizi di backend, seleziona il servizio di backend del progetto B che vuoi utilizzare.
- Fai clic su OK.
Configura le regole di routing
Fai clic su Regole di routing.
Per la modalità, seleziona Regola avanzata per host e percorso.
Seleziona Aggiungi regola host e percorso.
Nel campo Host, inserisci
*
per trovare una corrispondenza con tutti i nomi host.Nella sezione Patch matcher, inserisci la seguente configurazione YAML.
defaultService: projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME name: PATH_MATCHER_NAME pathRules: - paths: - /images/* service: projects/PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME
Il matcher di percorso, in questo esempio, è composto da una regola di percorso e da un servizio predefinito. La regola del percorso indirizza tutte le richieste a
/images/*
a un bucket di backend. Tutte le altre richieste vengono indirizzate al servizio di backend predefinito.Fai clic su Fine.
Per informazioni sulla gestione del traffico, consulta la panoramica della gestione del traffico.
Rivedi e finalizza la configurazione
Esamina i diversi componenti del bilanciatore del carico che hai configurato nei passaggi precedenti. Noterai che la sezione Backend fa riferimento sia al servizio di backend sia al bucket di backend.
Fai clic su Crea.
gcloud
Per creare i componenti di bilanciamento del carico menzionati in precedenza utilizzando gcloud CLI, segui questi passaggi:
Crea una mappa URL con il comando
gcloud compute url-maps create
.gcloud compute url-maps create URL_MAP_NAME \ --default-service=projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME \ --global \ --project=PROJECT_A_ID
Aggiungi un matcher percorso per la mappa URL. Il matcher percorso, in questo esempio, è composto da una regola di percorso e da un servizio predefinito. La regola percorso instrada tutte le richieste a
/images/*
a un bucket di backend. Tutte le altre richieste vengono indirizzate al servizio di backend predefinito.gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --path-matcher-name=PATH_MATCHER_NAME \ --default-service=projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME \ --backend-bucket-path-rules=/images/*=projects/PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME
Crea un proxy di destinazione con il comando
gcloud compute target-http-proxies create
.Per il traffico HTTP, crea un proxy HTTP di destinazione per instradare le richieste alla mappa URL:
gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --global \ --project=PROJECT_A_ID
Per il traffico HTTPS, crea un proxy HTTPS di destinazione per instradare le richieste alla mappa URL. Il proxy è la parte del bilanciatore del carico che contiene il certificato SSL per un bilanciatore del carico HTTPS. Dopo aver creato il certificato, puoi collegarlo al proxy di destinazione HTTPS.
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE_NAME \ --global \ --project=PROJECT_A_ID
Sostituisci
CERTIFICATE_NAME
con il nome del certificato SSL.Crea una regola di forwarding globale con il comando
gcloud compute forwarding-rules create
.Per il traffico HTTP, crea le regole di forwarding globali per instradare le richieste in entrata al proxy HTTP di destinazione:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=IP_ADDRESS_NAME \ --global \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --ports=80 \ --project=PROJECT_A_ID
Per il traffico HTTPS, crea le regole di forwarding globali per instradare le richieste in entrata al proxy di destinazione HTTPS:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=IP_ADDRESS_NAME \ --global \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --ports=443 \ --project=PROJECT_A_ID
Testa il bilanciatore del carico
La configurazione del bilanciatore del carico può richiedere alcuni minuti, dopodiché puoi inviare una richiesta al bilanciatore del carico. In questo esempio, la richiesta viene inviata alla regola di forwarding HTTP del bilanciatore del carico.
Ottieni l'indirizzo IP della regola di forwarding HTTP del bilanciatore del carico.
gcloud compute forwarding-rules describe HTTP_FORWARDING_RULE_NAME \ --global
Se indirizzi il browser a http://IP_ADDRESS, la richiesta viene indirizzata al servizio di backend, che restituisce una pagina con informazioni minime sull'istanza di backend.
Tuttavia, se indirizzi il browser a
http://IP_ADDRESS/images/three-cats.jpg, la richiesta a /images/*
viene indirizzata al bucket di backend, che restituisce il file grafico.
Passaggi successivi
- Panoramica del bilanciatore del carico delle applicazioni esterno
- Certificati SSL
- Pulizia di una configurazione di bilanciamento del carico