Questa pagina mostra come creare un bilanciatore del carico delle applicazioni esterno per instradare le richieste ai backend serverless. Il termine serverless si riferisce ai seguenti prodotti di calcolo serverless:
- App Engine
- Cloud Run Functions
- Cloud Run
L'integrazione dei bilanciatori del carico delle applicazioni esterni con API Gateway consente ai tuoi backend serverless di sfruttare tutte le funzionalità fornite da Cloud Load Balancing. Per configurare un bilanciatore del carico delle applicazioni esterno per instradare il traffico a un gateway API, consulta Guida introduttiva a un bilanciatore del carico delle applicazioni esterno per API Gateway. Il supporto del bilanciatore del carico delle applicazioni esterno per API Gateway è in anteprima.
I NEG serverless ti consentono di utilizzare le app serverless con i bilanciatori del carico delle applicazioni esterni.Google Cloud Dopo aver configurato un bilanciatore del carico con il backend NEG serverless, le richieste al bilanciatore del carico vengono indirizzate al backend dell'app serverless.
Per saperne di più sui NEG serverless, leggi la panoramica dei NEG serverless.
Se sei un utente esistente del bilanciatore del carico delle applicazioni classico, assicurati di consultare la panoramica della migrazione quando pianifichi un nuovo deployment con il bilanciatore del carico delle applicazioni esterno globale.Prima di iniziare
- Esegui il deployment di un servizio App Engine, Cloud Run Functions o Cloud Run.
- Se non l'hai ancora fatto, installa Google Cloud CLI.
- Configurare le autorizzazioni.
- Aggiungi una risorsa del certificato SSL.
Esegui il deployment di un servizio App Engine, Cloud Run Functions o Cloud Run
Le istruzioni riportate in questa pagina presuppongono che tu abbia già un servizio Cloud Run, Cloud Run Functions o App Engine in esecuzione.
Per l'esempio in questa pagina, abbiamo utilizzato la guida rapida di Cloud Run Python per eseguire il deployment di un servizio Cloud Run nella regione us-central1
. Il resto di questa pagina mostra come configurare un bilanciatore del carico delle applicazioni esterno che utilizza un backend NEG serverless per instradare le richieste a questo servizio.
Se non hai ancora eseguito il deployment di un'app serverless o se vuoi provare un NEG serverless con un'app di esempio, utilizza una delle seguenti guide rapide. Puoi creare un'app serverless in qualsiasi regione, ma devi utilizzare la stessa regione in un secondo momento per creare il NEG serverless e il bilanciatore del carico.
Cloud Run
Per creare una semplice applicazione Hello World, pacchettizzala in un'immagine container e poi esegui il deployment dell'immagine container in Cloud Run, consulta Guida rapida: crea ed esegui il deployment.
Se hai già caricato un container di esempio in Container Registry, consulta la Guida rapida: eseguire il deployment di un container di esempio preimpostato.
Cloud Run Functions
Vedi Cloud Run Functions: Guida rapida Python.
App Engine
Consulta le seguenti guide rapide di App Engine per Python 3:
Installa Google Cloud CLI
Installa Google Cloud CLI. Per informazioni concettuali e sull'installazione dello strumento, consulta la panoramica di gcloud.
Se non hai mai eseguito l'interfaccia alla gcloud CLI, esegui prima
gcloud init
per inizializzare la directory gcloud.
Configura autorizzazioni
Per seguire questa guida, devi creare un NEG serverless e un bilanciatore del carico HTTP(S) esterno in un progetto. Devi essere proprietario o editor di un progetto oppure disporre dei seguenti ruoli IAM di Compute Engine:
Attività | Ruolo richiesto |
---|---|
Crea bilanciatore del carico e componenti di rete | Amministratore di rete |
Creare e modificare i gruppi di annunci con targeting espanso | Compute Instance Admin |
Crea e modifica certificati SSL | Amministratore della sicurezza |
Prenotare un indirizzo IP esterno
Ora che i servizi sono operativi, configura un indirizzo IP esterno statico globale che i clienti utilizzano per raggiungere il bilanciatore del carico.
Console
Nella console Google Cloud , vai alla pagina Indirizzi IP esterni.
Fai clic su Prenota indirizzo IP statico esterno.
In Nome, inserisci
example-ip
.In Livello di servizio di rete, seleziona Premium.
Per Versione IP, seleziona IPv4.
Per Tipo, seleziona Globale.
Fai clic su Prenota.
gcloud
gcloud compute addresses create example-ip \ --network-tier=PREMIUM \ --ip-version=IPV4 \ --global
Prendi nota dell'indirizzo IPv4 riservato:
gcloud compute addresses describe example-ip \ --format="get(address)" \ --global
Crea una risorsa del certificato SSL
Per creare un bilanciatore del carico HTTPS, devi aggiungere una risorsa certificato SSL al frontend del bilanciatore del carico. Crea una risorsa del certificato SSL utilizzando un certificato SSL gestito da Google o un certificato SSL autogestito.
Certificati gestiti da Google. L'utilizzo di certificati gestiti da Google è consigliato perché Google Cloud ottiene, gestisce e rinnova questi certificati automaticamente. Per creare un certificato gestito da Google, devi disporre di un dominio e dei record DNS per quel dominio affinché il certificato venga sottoposto a provisioning.
Inoltre, devi aggiornare il record A DNS del dominio in modo che punti all'indirizzo IP del bilanciatore del carico creato nel passaggio precedente (
example-ip
). Se hai più domini in un certificato gestito da Google, devi aggiornare i record DNS per tutti i domini e i sottodomini in modo che puntino all'indirizzo IP del bilanciatore del carico. Per istruzioni dettagliate, vedi Utilizzo dei certificati gestiti da Google.Certificati autofirmati. Se non vuoi configurare un dominio in questo momento, puoi utilizzare un certificato SSL autofirmato per i test.
Questo esempio presuppone che tu abbia già creato una risorsa del certificato SSL.
Se vuoi testare questa procedura senza creare una risorsa certificato SSL (o un dominio come richiesto dai certificati gestiti da Google), puoi comunque utilizzare le istruzioni riportate in questa pagina per configurare un bilanciatore del carico HTTP.
Crea il bilanciatore del carico
Nel seguente diagramma, il bilanciatore del carico utilizza un backend NEG serverless per indirizzare le richieste a un servizio Cloud Run serverless. Per questo esempio, abbiamo utilizzato la guida rapida di Cloud Run Python per eseguire il deployment di un servizio Cloud Run.
Poiché i controlli di integrità non sono supportati per i servizi di backend con backend NEG serverless, non è necessario creare una regola firewall che consenta i controlli di integrità se il bilanciatore del carico ha solo backend NEG serverless.
Console
Avvia la configurazione
Nella console Google 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
- In corrispondenza del nome del bilanciatore del carico, inserisci
serverless-lb
. - Tieni aperta la finestra per continuare.
Configurazione frontend
- Fai clic su Configurazione frontend.
- In Nome, inserisci un nome.
-
Per creare un bilanciatore del carico HTTPS, devi disporre di
un certificato SSL
(
gcloud compute ssl-certificates list
).Ti consigliamo di utilizzare un certificato gestito da Google come descritto in precedenza.
- Fai clic su Fine.
Per configurare un bilanciatore del carico delle applicazioni esterno, compila i campi nel seguente modo.
Verifica che le seguenti opzioni siano configurate con questi valori:
Proprietà | Valore (digita un valore o seleziona un'opzione come specificato) |
---|---|
Protocollo | HTTPS |
Livello di servizio di rete | Premium |
Versione IP | IPv4 |
Indirizzo IP | example-ip |
Porta | 443 |
(Facoltativo) Timeout keepalive HTTP | Inserisci un valore di timeout compreso tra 5 e 1200 secondi. Il valore predefinito è 610 secondi. |
Certificato | Seleziona un certificato SSL esistente o creane uno nuovo. Per creare un bilanciatore del carico HTTPS, devi disporre di una risorsa certificato SSL da utilizzare nel proxy HTTPS. Puoi creare una risorsa del certificato SSL utilizzando un certificato SSL gestito da Google o un certificato SSL autogestito. Per creare un certificato gestito da Google, devi avere un dominio. Il record A del dominio deve essere risolto nell'indirizzo IP del bilanciatore del carico (in questo esempio, example-ip). L'utilizzo di certificati gestiti da Google è consigliato perché Google Cloud ottiene, gestisce e rinnova automaticamente questi certificati. Se non hai un dominio, puoi utilizzare un certificato SSL autofirmato per i test. |
(Facoltativo) Attiva il reindirizzamento da HTTP a HTTPS |
Utilizza questa casella di controllo per attivare i reindirizzamenti da HTTP a HTTPS.
Se selezioni questa casella di controllo, viene creato un bilanciatore del carico HTTP parziale aggiuntivo che utilizza lo stesso indirizzo IP del bilanciatore del carico HTTPS e reindirizza le richieste HTTP al frontend HTTPS del bilanciatore del carico. Questa casella di controllo può essere selezionata solo quando è selezionato il protocollo HTTPS e viene utilizzato un indirizzo IP riservato. |
Se vuoi testare questa procedura senza configurare una risorsa certificato SSL (o un dominio come richiesto dai certificati gestiti da Google), puoi configurare un bilanciatore del carico HTTP.
Per creare un bilanciatore del carico HTTP, verifica che le seguenti opzioni siano configurate con questi valori:
Proprietà | Valore (digita un valore o seleziona un'opzione come specificato) |
---|---|
Protocollo | HTTP |
Livello di servizio di rete | Premium |
Versione IP | IPv4 |
Indirizzo IP | example-ip |
Porta | 80 |
(Facoltativo) Timeout keepalive HTTP | Inserisci un valore di timeout compreso tra 5 e 1200 secondi. Il valore predefinito è 610 secondi. |
Configurazione backend
- Fai clic su Configurazione backend.
- Nell'elenco Servizi e bucket di backend, fai clic su Crea un servizio di backend.
- In Nome, inserisci un nome.
- In Tipo di backend, seleziona Gruppo di endpoint di rete serverless.
- Lascia invariato Protocollo. Questo parametro viene ignorato.
- Nella sezione Backend, per Nuovo backend, seleziona Crea gruppo di endpoint di rete serverless.
- In Nome, inserisci un nome.
- In Regione, seleziona us-central1, quindi seleziona Cloud Run.
- Seleziona Seleziona il nome del servizio.
- Nell'elenco Servizio, seleziona il servizio Cloud Run per cui vuoi creare un bilanciatore del carico.
- Fai clic su Crea.
- Nella sezione Nuovo backend, fai clic su Fine.
- Fai clic su Crea.
Regole di routing
Le regole di routing determinano come viene indirizzato il traffico. Per configurare il routing, devi configurare le regole host e i matcher percorso, che sono componenti di configurazione della mappa URL di un bilanciatore del carico delle applicazioni esterno.
Fai clic su Regole di routing.
- Mantieni gli host e i percorsi predefiniti. Per questo esempio, tutte le richieste vanno al servizio di backend creato nel passaggio precedente.
Revisione della configurazione
- Fai clic su Esamina e finalizza.
- Rivedi tutte le impostazioni.
- (Facoltativo) Fai clic su Codice equivalente per visualizzare la richiesta dell'API REST che verrà utilizzata per creare il bilanciatore del carico.
- Fai clic su Crea.
- Attendi che la creazione del bilanciatore del carico sia completa.
- Fai clic sul nome del bilanciatore del carico (serverless-lb).
- Prendi nota dell'indirizzo IP del bilanciatore del carico, che utilizzerai nella prossima attività. Viene
chiamato
IP_ADDRESS
.
gcloud
- Crea un NEG serverless per la tua app serverless.
Per creare un NEG serverless con un servizio Cloud Run:
Per altre opzioni, consulta la guida di riferimentogcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME \ --region=us-central1 \ --network-endpoint-type=serverless \ --cloud-run-service=CLOUD_RUN_SERVICE_NAME
gcloud
pergcloud compute network-endpoint-groups create
. - Crea un servizio di backend.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --global
- Aggiungi il NEG serverless come backend al servizio di backend:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --global \ --network-endpoint-group=SERVERLESS_NEG_NAME \ --network-endpoint-group-region=us-central1
- Crea una mappa URL per instradare le richieste in entrata al servizio di backend:
gcloud compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE_NAME
Questa mappa URL ha come target un solo servizio di backend che rappresenta una singola app serverless, quindi non è necessario configurare regole host o corrispondenze di percorso. Se hai più di un servizio di backend, puoi utilizzare le regole host per indirizzare le richieste a servizi diversi in base al nome host e puoi configurare i matcher percorso per indirizzare le richieste a servizi diversi in base al percorso della richiesta.
-
Per creare un bilanciatore del carico HTTPS, devi disporre di una risorsa certificato SSL da utilizzare nel proxy di destinazione HTTPS.
Puoi creare una risorsa del certificato SSL utilizzando un certificato SSL gestito da Google o un certificato SSL autogestito. L'utilizzo di certificati gestiti da Google
è consigliato perché Google Cloud ottiene, gestisce e rinnova
automaticamente questi certificati.
Per creare un certificato gestito da Google, devi avere un dominio. Se non hai un dominio, puoi utilizzare un certificato SSL autofirmato per i test.
Per creare una risorsa del certificato SSL gestito da Google: Per creare una risorsa del certificato SSL autogestito:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
-
Crea un proxy HTTP(S) di destinazione per instradare le richieste alla mappa URL.
Per un bilanciatore del carico HTTP, crea un proxy HTTP di destinazione:
gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
Per un bilanciatore del carico HTTPS, crea un proxy HTTPS di destinazione. Il proxy è la parte del bilanciatore del carico che contiene il certificato SSL per il bilanciamento del carico HTTPS, quindi carichi anche il certificato in questo passaggio.
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
Sostituisci quanto segue:
TARGET_HTTP_PROXY_NAME
: il nome del proxy HTTP di destinazione.TARGET_HTTPS_PROXY_NAME
: il nome del proxy HTTPS di destinazione.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: un campo facoltativo utilizzato per specificare il timeout keepalive HTTP del client. Il valore del timeout deve essere compreso tra 5 e 1200 secondi. Il valore predefinito è 610 secondi.SSL_CERTIFICATE_NAME
: il nome del certificato SSL.URL_MAP_NAME
: il nome della mappa URL.
- Crea una regola di forwarding per instradare le richieste in entrata al proxy.
Per un bilanciatore del carico HTTP:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=example-ip \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
Per un bilanciatore del carico HTTPS:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=example-ip \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
Collegare il dominio al bilanciatore del carico
Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato
al bilanciatore del carico, ad esempio 30.90.80.100
. Per indirizzare il tuo dominio al bilanciatore del carico, crea un record A
utilizzando il servizio di registrazione del dominio. Se
hai aggiunto più domini al certificato SSL, devi aggiungere un record A
per ciascuno, tutti indirizzati all'indirizzo IP del bilanciamento del carico. Ad esempio, per
creare record A
per www.example.com
e example.com
, utilizza quanto segue:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Se utilizzi Cloud DNS come provider DNS, consulta Aggiungere, modificare ed eliminare record.
Testa il bilanciatore del carico
Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare traffico al suo indirizzo IP. Se hai configurato un dominio, puoi inviare traffico anche al nome di dominio. Tuttavia, la propagazione DNS può richiedere tempo per essere completata, quindi puoi iniziare utilizzando l'indirizzo IP per i test.
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
Fai clic sul bilanciatore del carico che hai appena creato.
Prendi nota dell'indirizzo IP del bilanciatore del carico.
Per un bilanciatore del carico HTTP, puoi testare il bilanciatore del carico utilizzando un browser web andando su
http://IP_ADDRESS
. SostituisciIP_ADDRESS
con l'indirizzo IP del bilanciatore del carico. Dovresti essere indirizzato alla home page del serviziohelloworld
.
Per un bilanciatore del carico HTTPS, puoi testare il bilanciatore del carico utilizzando un browser web andando all'indirizzo
https://IP_ADDRESS
. SostituisciIP_ADDRESS
con l'indirizzo IP del bilanciatore del carico. Dovresti essere indirizzato alla home page del serviziohelloworld
.
Se il problema persiste e utilizzi un certificato gestito da Google, verifica che lo stato della risorsa certificato sia ACTIVE. Per ulteriori informazioni, consulta Stato della risorsa certificato SSL gestito da Google.
Se hai utilizzato un certificato autofirmato per i test, il browser visualizza un avviso. Devi indicare esplicitamente al browser di accettare un certificato autofirmato. Fai clic sull'avviso per visualizzare la pagina effettiva.
Opzioni di configurazione aggiuntive
Questa sezione espande l'esempio di configurazione per fornire opzioni di configurazione alternative e aggiuntive. Tutte le attività sono facoltative. Puoi eseguirle in qualsiasi ordine.
Configura il bilanciamento del carico multiregionale
Nell'esempio descritto in precedenza in questa pagina, abbiamo un solo servizio Cloud Run che funge da backend nella regione us-central1
. Poiché il NEG serverless può puntare a un solo endpoint
alla volta, il bilanciamento del carico non viene eseguito in più regioni. Il bilanciatore del carico delle applicazioni esterno funge solo da frontend e fa da proxy per il traffico verso l'endpoint dell'app helloworld
specificato. Tuttavia, potresti voler pubblicare la tua
app Cloud Run da più di una regione per migliorare la latenza per gli utenti finali.
Se a un servizio di backend sono collegati diversi NEG serverless, il bilanciatore del carico bilancia il traffico inoltrando le richieste al NEG serverless nella regione disponibile più vicina. Tuttavia, i servizi di backend possono contenere solo un NEG serverless per regione. Per rendere disponibile il tuo servizio Cloud Run da più regioni, devi configurare il routing tra regioni. Dovresti essere in grado di utilizzare un singolo schema URL che funzioni ovunque nel mondo, ma che gestisca le richieste degli utenti dalla regione più vicina.
Per configurare la pubblicazione multiregionale, devi utilizzare il livello di rete Premium per assicurarti che tutti i deployment Cloud Run regionali siano compatibili e pronti a gestire il traffico da qualsiasi regione.
Per configurare un bilanciatore del carico multiregionale:
- Configura due servizi Cloud Run in regioni diverse. Supponiamo di aver eseguito il deployment di due servizi Cloud Run: uno in una regione degli Stati Uniti e l'altro in una regione d'Europa.
- Crea un bilanciatore del carico delle applicazioni esterno con la seguente configurazione:
- Configura un servizio di backend globale con due NEG serverless:
- Crea il primo NEG nella stessa regione del servizio Cloud Run di cui è stato eseguito il deployment negli Stati Uniti.
- Crea il secondo NEG nella stessa regione del servizio Cloud Run di cui è stato eseguito il deployment in Europa.
- Configura la configurazione frontend con il livello di servizio di rete Premium.
- Configura un servizio di backend globale con due NEG serverless:
La configurazione risultante è mostrata nel seguente diagramma.
Questa sezione si basa sulla configurazione del bilanciatore del carico descritta in precedenza in questa pagina,
in cui hai creato un NEG serverless nella regione us-central1
che punta
a un servizio Cloud Run nella stessa regione. Inoltre, presuppone che tu abbia creato un secondo servizio Cloud Run nella regione europe-west1
. Il secondo NEG serverless che crei punterà
a questo servizio Cloud Run nella regione europe-west1
.
In questo esempio, completerai i seguenti passaggi:
- Crea un secondo NEG serverless nella regione
europe-west1
. - Collega il secondo NEG serverless al servizio di backend.
Per aggiungere un secondo NEG serverless a un servizio di backend esistente, segui questi passaggi.
Console
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico di cui vuoi modificare il servizio di backend.
Nella pagina Dettagli del bilanciatore del carico, fai clic su
Modifica.Nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.
Nella pagina Configurazione backend, fai clic su
Modifica per il servizio di backend che vuoi modificare.Nella sezione Backend, fai clic su Aggiungi un backend.
Nell'elenco Gruppi di endpoint di rete serverless, seleziona Crea gruppo di endpoint di rete serverless.
Inserisci un nome per il NEG serverless.
In Regione, seleziona
europe-west1
.Per Tipo di gruppo di endpoint di rete serverless, seleziona Cloud Run, poi procedi come descritto di seguito:
- Seleziona l'opzione Seleziona servizio.
- Nell'elenco Servizio, seleziona il servizio Cloud Run per cui vuoi creare un bilanciatore del carico.
Fai clic su Crea.
Nella pagina Nuovo backend, fai clic su Fine.
Fai clic su Salva.
Per aggiornare il servizio di backend, fai clic su Aggiorna.
Per aggiornare il bilanciatore del carico, fai clic su Aggiorna nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale.
gcloud
Crea un secondo NEG serverless nella stessa regione in cui è stato eseguito il deployment del servizio Cloud Run.
gcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME_2 \ --region=europe-west1 \ --network-endpoint-type=SERVERLESS \ --cloud-run-service=CLOUD_RUN_SERVICE_2
Sostituisci quanto segue:
SERVERLESS_NEG_NAME_2
: il nome del secondo NEG serverlessCLOUD_RUN_SERVICE_2
: il nome del servizio Cloud Run
Aggiungi il secondo NEG serverless come backend al servizio di backend.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --global \ --network-endpoint-group=SERVERLESS_NEG_NAME_2 \ --network-endpoint-group-region=europe-west1
Sostituisci quanto segue:
BACKEND_SERVICE_NAME
: il nome del servizio di backendSERVERLESS_NEG_NAME_2
: il nome del secondo NEG serverless
Utilizzare una sottoscrizione push Pub/Sub autenticata con un deployment Cloud Run multiregionale
Per le richieste push autenticate, Cloud Run prevede un campo audience specifico per la regione per impostazione predefinita. In caso di deployment Cloud Run multiregionale, se la richiesta push viene indirizzata a un servizio Cloud Run in un'altra regione, la verifica del token JWT non va a buon fine a causa di una mancata corrispondenza del pubblico.
Per ovviare a questa limitazione specifica per regione:
- Configura un segmento di pubblico personalizzato che sia lo stesso per i deployment di servizi in regioni diverse.
- Configura i messaggi push Pub/Sub in modo che utilizzino il segmento di pubblico personalizzato come segmento di pubblico nel token JWT.
Configurare il routing regionale
Un motivo comune per la pubblicazione di applicazioni da più regioni è soddisfare i requisiti di località dei dati. Ad esempio, potresti voler assicurarti che le richieste effettuate dagli utenti europei vengano sempre gestite da una regione situata in Europa. Per configurare questa opzione, devi disporre di uno schema di URL con URL separati per gli utenti dell'UE e non UE e indirizzare gli utenti dell'UE agli URL dell'UE.
In questo scenario, utilizzeresti la mappa URL per instradare le richieste da URL specifici alle regioni corrispondenti. Con questa configurazione, le richieste destinate a una regione non vengono mai inviate a un'altra regione. Ciò garantisce l'isolamento tra le regioni. D'altra parte, quando una regione non funziona, le richieste non vengono indirizzate a un'altra regione. Pertanto, questa configurazione non aumenta la disponibilità del servizio.
Per configurare il routing regionale, devi utilizzare il livello di rete Premium in modo da poter combinare diverse regioni in un'unica regola di forwarding.
Per configurare un bilanciatore del carico con routing regionale:
- Configura due servizi Cloud Run in regioni diverse. Supponiamo di aver eseguito il deployment di due servizi Cloud Run: hello-world-eu in una regione in Europa e hello-world-us in una regione negli Stati Uniti.
- Crea un bilanciatore del carico delle applicazioni esterno con la seguente configurazione:
- Configura un servizio di backend con un NEG serverless in Europa. Il NEG serverless deve essere creato nella stessa regione del servizio Cloud Run di cui è stato eseguito il deployment in Europa.
- Configura un secondo servizio di backend con un altro NEG serverless negli Stati Uniti. Questo NEG serverless deve essere creato nella stessa regione del servizio Cloud Run di cui è stato eseguito il deployment negli Stati Uniti.
- Configura la mappa URL con le regole host e percorso appropriate in modo che un insieme di URL venga instradato al servizio di backend europeo, mentre tutte le richieste vengano instradate al servizio di backend statunitense.
- Configura la configurazione frontend con il livello di rete Premium.
Il resto della configurazione può essere lo stesso descritto in precedenza. La configurazione risultante dovrebbe essere simile a questa:
Utilizzare una maschera URL
Quando crei un NEG serverless, anziché selezionare un servizio Cloud Run specifico, puoi utilizzare una maschera URL per indirizzare più servizi che vengono pubblicati nello stesso dominio. Una maschera URL è un modello dello schema dell'URL. Il NEG serverless utilizzerà questo modello per estrarre il nome del servizio dall'URL della richiesta in entrata e mappare la richiesta al servizio appropriato.
Le maschere URL sono particolarmente utili se il tuo servizio è mappato a un dominio personalizzato anziché all'indirizzo predefinito fornito daGoogle Cloud per il servizio di cui è stato eseguito il deployment. Una maschera URL ti consente di scegliere come target più servizi e versioni con una singola regola anche quando la tua applicazione utilizza un pattern URL personalizzato.
Se non l'hai ancora fatto, assicurati di leggere Panoramica dei NEG serverless: maschere URL.
Costruire una maschera URL
Per creare una maschera URL per il bilanciatore del carico, inizia con l'URL del tuo
servizio. Per questo esempio, utilizzeremo un'app serverless di esempio in esecuzione all'indirizzo
https://example.com/login
. Questo è l'URL in cui verrà pubblicato il servizio login
dell'app.
- Rimuovi
http
ohttps
dall'URL. Ti rimangonoexample.com/login
. - Sostituisci il nome del servizio con un segnaposto per la maschera URL.
- Cloud Run: sostituisci il nome del servizio Cloud Run con il segnaposto
<service>
. Se il servizio Cloud Run ha un tag associato, sostituisci il nome del tag con il segnaposto<tag>
. In questo esempio, la maschera URL rimanente èexample.com/<service>
. - Funzioni Cloud Run: sostituisci il nome della funzione con il segnaposto
<function>
. In questo esempio, la maschera URL rimanente èexample.com/<function>
. - App Engine: sostituisci il nome del servizio con il segnaposto
<service>
. Se al servizio è associata una versione, sostituiscila con il segnaposto<version>
. In questo esempio, la maschera URL rimanente èexample.com/<service>
. - API Gateway: sostituisci il nome del gateway con il segnaposto
<gateway>
. In questo esempio, la maschera URL rimanente èexample.com/<gateway>
.
- Cloud Run: sostituisci il nome del servizio Cloud Run con il segnaposto
(Facoltativo) Se il nome del servizio (o la funzione, la versione o il tag) può essere estratto dalla parte del percorso dell'URL, il dominio può essere omesso. La parte del percorso della maschera URL è distinta dal primo carattere
/
. Se/
non è presente nella maschera URL, si presume che la maschera rappresenti solo l'host. Pertanto, per questo esempio, la maschera URL può essere ridotta a/<service>
,/<gateway>
o/<function>
.Allo stesso modo, se il nome del servizio può essere estratto dalla parte host dell'URL, puoi omettere completamente il percorso dalla maschera URL.
Puoi anche omettere qualsiasi componente di host o sottodominio che precede il primo segnaposto, nonché qualsiasi componente di percorso che segue l'ultimo segnaposto. In questi casi, il segnaposto acquisisce le informazioni richieste per il componente.
Ecco alcuni altri esempi che dimostrano queste regole:
Cloud Run
Questa tabella presuppone che tu abbia un dominio personalizzato chiamato example.com
e che tutti i tuoi servizi Cloud Run vengano mappati a questo dominio utilizzando un bilanciatore del carico delle applicazioni esterno.
Servizio, Nome tag | URL del dominio personalizzato | Maschera URL |
---|---|---|
service: login | https://login-home.example.com/web | <service>-home.example.com |
service: login | https://example.com/login/web | example.com/<service> o /<service> |
service: login, tag: test | https://test.login.example.com/web | <tag>.<service>.example.com |
service: login, tag: test | https://example.com/home/login/test | example.com/home/<service>/<tag> or /home/<service>/<tag> |
service: login, tag: test | https://test.example.com/home/login/web | <tag>.example.com/home/<service> |
Cloud Run Functions
Questa tabella presuppone che tu abbia un dominio personalizzato chiamato example.com
e che tutti i tuoi servizi Cloud Run Functions siano mappati a questo dominio.
Nome funzione | URL del dominio personalizzato | Maschera URL |
---|---|---|
accedi | https://example.com/login | /<function> |
accedi | https://example.com/home/login | /home/<function> |
accedi | https://login.example.com | <function>.example.com |
accedi | https://login.home.example.com | <function>.home.example.com |
App Engine
Questa tabella presuppone che tu abbia un dominio personalizzato chiamato example.com
e che tutti i tuoi servizi App Engine siano mappati su questo dominio.
Nome servizio, versione | URL del dominio personalizzato | Maschera URL |
---|---|---|
service: login | https://login.example.com/web | <service>.example.com |
service: login | https://example.com/home/login/web | example.com/home/<service> o /home/<service> |
service: login, version: test | https://test.example.com/login/web | <version>.example.com/<service> |
service: login, version: test | https://example.com/login/test | example.com/<service>/<version> |
API Gateway
Questa tabella presuppone che tu abbia un dominio personalizzato chiamato example.com
e che
tutti i tuoi servizi
API Gateway siano mappati a questo dominio.
Nome gateway | URL del dominio personalizzato di API Gateway(anteprima) | Maschera URL |
---|---|---|
accedi | https://example.com/login | /<gateway> |
accedi | https://example.com/home/login | /home/<gateway> |
accedi | https://login.example.com | <gateway>.example.com |
accedi | https://login.home.example.com | <gateway>.home.example.com |
Crea un NEG serverless con una maschera URL
Console
Per un nuovo bilanciatore del carico, puoi utilizzare la stessa procedura end-to-end descritta in precedenza in questo argomento. Quando configuri il servizio di backend, invece di selezionare un servizio specifico, inserisci una maschera URL.
Se hai un bilanciatore del carico esistente, puoi modificare la configurazione del backend e fare in modo che il NEG serverless punti a una maschera URL anziché a un servizio specifico.
Per aggiungere un NEG serverless basato su maschera URL a un servizio di backend esistente:
- Vai alla pagina Bilanciamento del carico nella console Google Cloud .
Vai alla pagina Bilanciamento del carico - Fai clic sul nome del bilanciatore del carico di cui vuoi modificare il servizio di backend.
- Nella pagina Dettagli del bilanciatore del carico, fai clic su Modifica .
- Nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.
- Nella pagina Configurazione backend, fai clic su Modifica per il servizio di backend che vuoi modificare.
- Fai clic su Aggiungi backend.
- Seleziona Crea gruppo di endpoint di rete serverless.
- In Nome, inserisci
helloworld-serverless-neg
. - In Regione, seleziona us-central1.
- In Tipo di gruppo di endpoint di rete serverless, seleziona la piattaforma in cui sono state create le tue app (o servizi o funzioni) serverless.
- Seleziona Usa maschera URL.
- Inserisci una maschera URL. Per istruzioni su come creare una maschera URL, consulta Creazione di una maschera URL.
- Fai clic su Crea.
- In Nome, inserisci
- Nella sezione Nuovo backend, fai clic su Fine.
- Fai clic su Aggiorna.
gcloud: Cloud Run
Per creare un NEG serverless con una maschera URL di esempio di example.com/<service>
:
gcloud compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --cloud-run-url-mask="example.com/<service>"
gcloud: Cloud Run Functions
Per creare un NEG serverless con una maschera URL di esempio di example.com/<service>
:
gcloud compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --cloud-function-url-mask="example.com/<service>"
gcloud: App Engine
Per creare un NEG serverless con una maschera URL di esempio di
example.com/<service>
:
gcloud compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --app-engine-url-mask="example.com/<service>"
gcloud: API Gateway
Per creare un NEG serverless con una maschera URL di esempio di
example.com/<gateway>
:
gcloud beta compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --serverless-deployment-platform=apigateway.googleapis.com \ --serverless-deployment-resource=my-gateway \ --serverless-deployment-url-mask="example.com/<gateway>"
Per scoprire come il bilanciatore del carico gestisce i problemi relativi alle mancate corrispondenze della maschera URL, consulta Risoluzione dei problemi relativi ai NEG serverless.
Sposta il tuo dominio personalizzato in modo che venga gestito dal bilanciatore del carico delle applicazioni esterno
Se le tue app di serverless computing vengono mappate a domini personalizzati, potresti voler aggiornare i record DNS in modo che il traffico inviato agli URL dei domini personalizzati esistenti di Cloud Run, Cloud Run Functions, API Gateway o App Engine venga instradato tramite il bilanciatore del carico.
Ad esempio, se hai un dominio personalizzato chiamato example.com
e tutti i tuoi servizi Cloud Run sono mappati a questo dominio, devi aggiornare il record DNS per example.com
in modo che punti all'indirizzo IP del bilanciatore del carico.
Prima di aggiornare i record DNS, puoi testare la configurazione localmente forzando la risoluzione DNS locale del dominio personalizzato all'indirizzo IP del bilanciamento del carico. Per eseguire il test localmente, modifica il file /etc/hosts/
sulla tua macchina locale in modo che example.com
punti all'indirizzo IP del bilanciatore del carico oppure utilizza il flag curl --resolve
per forzare curl
a utilizzare l'indirizzo IP del bilanciatore del carico per la richiesta.
Quando il record DNS per example.com
viene risolto nell'indirizzo IP del bilanciatore del carico HTTP(S), le richieste inviate a example.com
iniziano a essere instradate tramite il bilanciatore del carico. Il bilanciatore del carico le invia al servizio di backend pertinente
in base alla mappa URL. Inoltre, se il servizio di backend è configurato con una maschera URL, il NEG serverless utilizza la maschera per instradare la richiesta al servizio Cloud Run, Cloud Run Functions, API Gateway o App Engine appropriato.
Abilita Cloud CDN
L'attivazione di Cloud CDN per il servizio Cloud Run consente di ottimizzare la distribuzione dei contenuti memorizzandoli nella cache vicino agli utenti.
Puoi attivare Cloud CDN sui servizi di backend utilizzati dai bilanciatori del carico delle applicazioni esterni globali utilizzando il comando gcloud compute
backend-services update
.
gcloud compute backend-services update helloworld-backend-service
--enable-cdn
--global
Cloud CDN è supportato per i servizi di backend con Cloud Run, Cloud Run Functions, API Gateway e backend App Engine.
Abilita IAP sul bilanciatore del carico delle applicazioni esterno
Nota: IAP non è compatibile con Cloud CDN.Puoi configurare IAP in modo che sia
attivato o disattivato (impostazione predefinita). Se attivata, devi fornire valori per
oauth2-client-id
e oauth2-client-secret
.
Per abilitare IAP, aggiorna il servizio di backend
in modo da includere il flag --iap=enabled
con oauth2-client-id
e
oauth2-client-secret
.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --iap=enabled,oauth2-client-id=ID,oauth2-client-secret=SECRET \ --global
Se vuoi, puoi abilitare IAP per una risorsa Compute Engine utilizzando la console Google Cloud , gcloud CLI o l'API.
Attiva Google Cloud Armor
Google Cloud Armor è un prodotto di sicurezza che fornisce protezione contro gli attacchi DDoS (Distributed Denial-of-Service) a tutti i bilanciatori del carico proxy GCLB. Google Cloud Armor fornisce anche criteri di sicurezza configurabili ai servizi a cui si accede tramite un bilanciatore del carico delle applicazioni esterno. Per saperne di più sui criteri di sicurezza di Google Cloud Armor per i bilanciatori del carico delle applicazioni esterni, consulta la panoramica dei criteri di sicurezza di Google Cloud Armor.
Se utilizzi le funzioni Cloud Run, puoi assicurarti che le richieste inviate agli URL predefiniti vengano bloccate utilizzando l'impostazione di traffico in entrata internal-and-gclb
.
Se utilizzi Cloud Run, puoi assicurarti che le richieste inviate agli URL predefiniti o a qualsiasi altro dominio personalizzato configurato tramite Cloud Run siano bloccate limitando il traffico in entrata a "bilanciamento del carico interno e cloud".
Se utilizzi App Engine, puoi utilizzare i controlli di ingresso in modo che la tua app riceva solo le richieste inviate dal bilanciatore del carico (e dalla VPC se la utilizzi).
Senza le impostazioni di ingresso corrette, gli utenti possono utilizzare l'URL predefinito dell'applicazione serverless per bypassare il bilanciamento del carico, le policy di sicurezza Google Cloud Armor, i certificati SSL e le chiavi private che vengono passati tramite il bilanciamento del carico.
(Facoltativo) Configura una policy di sicurezza del backend predefinita. Il criterio di sicurezza predefinito limita il traffico in base a una soglia configurata dall'utente. Per ulteriori informazioni sulle norme di sicurezza predefinite, consulta la panoramica della limitazione della frequenza.
- Per disattivare i criteri di sicurezza predefiniti di Google Cloud Armor, seleziona
None
nel menu dell'elenco dei criteri di sicurezza del backend. - Nella sezione Sicurezza, seleziona Norme di sicurezza predefinite.
- Nel campo Nome criterio, accetta il nome generato automaticamente o inserisci un nome per il criterio di sicurezza.
- Nel campo Conteggio richieste, accetta il conteggio richieste predefinito o inserisci un numero intero compreso tra
1
e10,000
. - Nel campo Intervallo, seleziona un intervallo.
- Nel campo Imponi su chiave, scegli uno dei seguenti valori: Tutti, Indirizzo IP o Indirizzo IP X-Forwarded-For. Per saperne di più su queste opzioni, vedi Identificare i client per la limitazione della frequenza.
Abilitare il logging e il monitoraggio
Puoi abilitare, disabilitare e visualizzare i log per un servizio di backend del bilanciatore del carico delle applicazioni esterno. Quando utilizzi la console Google Cloud , la registrazione è abilitata per impostazione predefinita
per i servizi di backend con backend NEG serverless. Puoi utilizzare gcloud
per
disattivare la registrazione per ogni servizio di backend in base alle esigenze. Per istruzioni, vedi
Registrazione.
Il bilanciatore del carico esporta anche i dati di monitoraggio in Cloud Monitoring. Le metriche di monitoraggio possono essere utilizzate per valutare la configurazione, l'utilizzo e il rendimento di un bilanciatore del carico. Le metriche possono essere utilizzate anche per risolvere i problemi e migliorare l'utilizzo delle risorse e l'esperienza utente. Per istruzioni, vedi Monitoraggio.
Aggiorna il timeout keepalive HTTP del client
Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con un valore predefinito per il timeout keep-alive HTTP del client.Per aggiornare il timeout keepalive HTTP del client, segui queste istruzioni.
Console
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
- Fai clic sul nome del bilanciatore del carico da modificare.
- Fai clic su Modifica.
- Fai clic su Configurazione frontend.
- Espandi Funzionalità avanzate. Per Timeout keepalive HTTP, inserisci un valore di timeout.
- Fai clic su Aggiorna.
- Per rivedere le modifiche, fai clic su Rivedi e finalizza, quindi fai clic su Aggiorna.
gcloud
Per un bilanciatore del carico HTTP, aggiorna il proxy HTTP di destinazione utilizzando il
comando gcloud compute target-http-proxies update
:
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Per un bilanciatore del carico HTTPS, aggiorna il proxy HTTPS di destinazione utilizzando il comando
gcloud compute target-https-proxies update
:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Sostituisci quanto segue:
TARGET_HTTP_PROXY_NAME
: il nome del proxy HTTP di destinazione.TARGET_HTTPS_PROXY_NAME
: il nome del proxy HTTPS di destinazione.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: il valore del timeout keepalive HTTP da 5 a 600 secondi.
Abilita rilevamento outlier
Puoi attivare il rilevamento di outlier sui servizi di backend globali per identificare i NEG serverless non integri e ridurre il numero di richieste inviate ai NEG serverless non integri.
Il rilevamento degli outlier è abilitato nel servizio di backend utilizzando uno dei seguenti metodi:
- Il metodo
consecutiveErrors
(outlierDetection.consecutiveErrors
), in cui un codice di stato HTTP della serie5xx
viene considerato un errore. - Il metodo
consecutiveGatewayFailure
(outlierDetection.consecutiveGatewayFailure
), in cui solo i codici di stato HTTP502
,503
e504
sono considerati errori.
Per attivare il rilevamento degli outlier per un servizio di backend esistente: Tieni presente che, anche dopo aver attivato il rilevamento dei valori anomali, alcune richieste possono essere
inviate al servizio non integro e restituire un codice di stato 5xx
ai
client. Per ridurre ulteriormente il tasso di errore, puoi configurare valori più aggressivi
per i parametri di rilevamento dei valori anomali. Per ulteriori informazioni, consulta il
campo outlierDetection
.
Console
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico di cui vuoi modificare il servizio di backend.
Nella pagina Dettagli del bilanciatore del carico, fai clic su
Modifica.Nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.
Nella pagina Configurazione backend, fai clic su
Modifica per il servizio di backend che vuoi modificare.Scorri verso il basso ed espandi la sezione Configurazioni avanzate.
Nella sezione Rilevamento outlier, seleziona la casella di controllo Attiva.
Fai clic su
Modifica per configurare il rilevamento di valori anomali.Verifica che le seguenti opzioni siano configurate con questi valori:
Proprietà Valore Errori consecutivi 5 Intervallo 1000 Tempo di espulsione base 30000 Percentuale massima di espulsione 50 Applicazione di errori consecutivi 100 In questo esempio, l'analisi di rilevamento dei valori anomali viene eseguita ogni secondo. Se il numero di codici di stato HTTP
5xx
consecutivi ricevuti da un proxy Envoy è pari o superiore a cinque, l'endpoint di backend viene escluso dal pool di bilanciamento del carico di quel proxy Envoy per 30 secondi. Quando la percentuale di applicazione è impostata su 100%, il servizio di backend applica l'espulsione degli endpoint non integri dai pool di bilanciamento del carico di questi proxy Envoy specifici ogni volta che viene eseguita l'analisi di rilevamento outlier. Se le condizioni di espulsione sono soddisfatte, è possibile espellere fino al 50% degli endpoint del backend dal pool di bilanciamento del carico.Fai clic su Salva.
Per aggiornare il servizio di backend, fai clic su Aggiorna.
Per aggiornare il bilanciatore del carico, fai clic su Aggiorna nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale.
gcloud
Esporta il servizio di backend in un file YAML.
gcloud compute backend-services export BACKEND_SERVICE_NAME \ --destination=BACKEND_SERVICE_NAME.yaml --global
Sostituisci
BACKEND_SERVICE_NAME
con il nome del servizio di backend.Modifica la configurazione YAML del servizio di backend per aggiungere i campi per il rilevamento di outlier come evidenziato nella seguente configurazione YAML, nella sezione
outlierDetection
:In questo esempio, l'analisi di rilevamento dei valori anomali viene eseguita ogni secondo. Se il numero di codici di stato HTTP
5xx
consecutivi ricevuti da un proxy Envoy è pari o superiore a cinque, l'endpoint di backend viene escluso dal pool di bilanciamento del carico di quel proxy Envoy per 30 secondi. Quando la percentuale di applicazione è impostata su 100%, il servizio di backend applica l'espulsione degli endpoint non integri dai pool di bilanciamento del carico di questi proxy Envoy specifici ogni volta che viene eseguita l'analisi di rilevamento outlier. Se le condizioni di espulsione sono soddisfatte, è possibile espellere fino al 50% degli endpoint del backend dal pool di bilanciamento del carico.name: BACKEND_SERVICE_NAME backends: - balancingMode: UTILIZATION capacityScaler: 1.0 group: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/networkEndpointGroups/SERVERLESS_NEG_NAME - balancingMode: UTILIZATION capacityScaler: 1.0 group: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/networkEndpointGroups/SERVERLESS_NEG_NAME_2 outlierDetection: baseEjectionTime: nanos: 0 seconds: 30 consecutiveErrors: 5 enforcingConsecutiveErrors: 100 interval: nanos: 0 seconds: 1 maxEjectionPercent: 50 port: 80 selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME sessionAffinity: NONE timeoutSec: 30 ...
Sostituisci quanto segue:
BACKEND_SERVICE_NAME
: il nome del servizio di backendPROJECT_ID
: l'ID del tuo progettoREGION_A
eREGION_B
: le regioni in cui è stato configurato il bilanciatore del carico.SERVERLESS_NEG_NAME
: il nome del primo NEG serverlessSERVERLESS_NEG_NAME_2
: il nome del secondo NEG serverless
Aggiorna il servizio di backend importando la configurazione più recente.
gcloud compute backend-services import BACKEND_SERVICE_NAME \ --source=BACKEND_SERVICE_NAME.yaml --global
Il rilevamento outlier è ora abilitato sul servizio di backend.
Eliminare un NEG serverless
Un gruppo di endpoint di rete non può essere eliminato se è collegato a un servizio di backend. Prima di eliminare un NEG, assicurati che sia scollegato dal servizio di backend.
Console
- Per assicurarti che il NEG serverless che vuoi eliminare non sia attualmente
in uso da alcun servizio di backend, vai alla scheda Servizi di backend nel
menu avanzato del bilanciamento del carico.
Vai alla scheda Servizi di backend - Se il NEG serverless è attualmente in uso:
- Fai clic sul nome del servizio di backend che utilizza il NEG serverless.
- Fai clic su Modifica .
- Nell'elenco dei backend, fai clic su per rimuovere il backend NEG serverless dal servizio di backend.
- Fai clic su Salva.
- Vai alla pagina Gruppo di endpoint di rete nella console Google Cloud .
Vai alla pagina Gruppo di endpoint di rete - Seleziona la casella di controllo per il NEG serverless che vuoi eliminare.
- Fai clic su Elimina.
- Fai di nuovo clic su Elimina per confermare.
gcloud
Per rimuovere un NEG serverless da un servizio di backend, devi specificare
la regione in cui è stato creato il NEG. Devi anche specificare il flag --global
perché helloworld-backend-service
è una risorsa globale.
gcloud compute backend-services remove-backend helloworld-backend-service \ --network-endpoint-group=helloworld-serverless-neg \ --network-endpoint-group-region=us-central1 \ --global
Per eliminare il NEG serverless:
gcloud compute network-endpoint-groups delete helloworld-serverless-neg \ --region=us-central1
Passaggi successivi
- Utilizzo di logging e monitoraggio
- Risolvere i problemi relativi ai NEG serverless
- Pulisci la configurazione del bilanciatore del carico
- Utilizzo di un modulo Terraform per un bilanciatore del carico HTTPS esterno con un backend Cloud Run