Configura un bilanciatore del carico delle applicazioni esterno globale con Cloud Run, App Engine o Cloud Functions

Questa pagina mostra come creare un bilanciatore del carico delle applicazioni esterno per instradare le richieste a backend serverless. In questo caso, il termine serverless si riferisce i seguenti prodotti di serverless computing:

  • App Engine
  • Cloud Functions
  • Cloud Run

L'integrazione di bilanciatori del carico delle applicazioni esterni API Gateway abilita e serverless per sfruttare tutte le funzionalità e Cloud Load Balancing. Per configurare un bilanciatore del carico delle applicazioni esterno per instradare il traffico in un API Gateway, consulta la Guida introduttiva il bilanciatore del carico delle applicazioni esterno Gateway API. Il supporto del bilanciatore del carico delle applicazioni esterno per API Gateway è attivo Anteprima.

NEG serverless ti consentono di utilizzare le app serverless Google Cloud con bilanciatori del carico delle applicazioni esterni. Dopo configurare un bilanciatore del carico con il backend NEG serverless, le richieste al carico vengono indirizzate al backend dell'app serverless.

Per saperne di più sui NEG serverless, leggi l'articolo sui NEG serverless Panoramica.

Se sei un utente esistente del bilanciatore del carico delle applicazioni classico, assicurati di consulta Pianifica la tua migrazione al bilanciatore del carico delle applicazioni esterno globale quando pianifichi un nuovo deployment con il bilanciatore del carico delle applicazioni esterno globale.

Prima di iniziare

  1. Esegui il deployment di un servizio App Engine, Cloud Functions o Cloud Run.
  2. Se non lo hai già fatto, installa Google Cloud CLI.
  3. Configura le autorizzazioni.
  4. Aggiungi una risorsa del certificato SSL.

Esegui il deployment di un servizio App Engine, Cloud Functions o Cloud Run

Le istruzioni riportate in questa pagina presuppongono che tu abbia già un Cloud Run, Cloud Functions o un servizio App Engine in esecuzione.

Per l'esempio in questa pagina, abbiamo utilizzato il comando Cloud Run Python Guida rapida per eseguire il deployment di Cloud Run nella regione us-central1. Il resto di questa pagina mostra come impostare un bilanciatore del carico delle applicazioni esterno che utilizza un backend NEG serverless per instradare le richieste questo servizio.

Se non hai già eseguito il deployment di un'app serverless o se vuoi provare un per il NEG serverless con un'app di esempio, utilizza una delle seguenti guide rapide. Puoi Crea 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, eseguire il deployment dell'immagine container in Cloud Run, consulta Guida rapida: creazione e deployment.

Se hai già caricato un container di esempio su Container Registry, consulta Guida rapida: deployment di un container di esempio predefinito.

Cloud Functions

Consulta Cloud Functions: guida rapida di Python.

App Engine

Consulta le seguenti guide rapide di App Engine per Python 3:

Installa Google Cloud CLI

Installa Google Cloud CLI. Consulta la panoramica di gcloud per informazioni concettuali e di installazione dello strumento.

Se non hai mai eseguito gcloud CLI in precedenza, esegui prima gcloud init per inizializzare la directory gcloud.

Configura autorizzazioni

Per seguire questa guida, devi creare un NEG serverless e creare un del carico HTTP(S) in un progetto. Devi essere il proprietario o il proprietario di un progetto Editor oppure dovresti avere quanto segue Ruoli IAM di Compute Engine:

Attività Ruolo richiesto
Creazione dei componenti di rete e del bilanciatore del carico Amministratore rete
Crea e modifica i NEG Amministratore istanze Compute
Creazione e modifica dei certificati SSL Amministratore sicurezza

Prenotare un indirizzo IP esterno

Ora che i tuoi servizi sono in funzione, configura un IP esterno statico e globale utilizzato dai clienti per raggiungere il bilanciatore del carico.

Console

  1. Nella console Google Cloud, vai alla pagina Indirizzi IP esterni.

    Vai a Indirizzi IP esterni

  2. Fai clic su Prenota indirizzo IP statico esterno.

  3. In Nome, inserisci example-ip.

  4. In Livello di servizio di rete, seleziona Premium.

  5. Per Versione IP, seleziona IPv4.

  6. In Tipo, seleziona Globale.

  7. 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 un certificato SSL al frontend del bilanciatore del carico. Crea una risorsa del certificato SSL utilizzando un sistema SSL gestito da Google certificato o un certificato SSL autogestito.

  • Certificati gestiti da Google. L'utilizzo dei certificati gestiti da Google è consigliato perché Google Cloud ottiene, gestisce e rinnova questi automaticamente i certificati. Per creare un certificato gestito da Google, devi avere un dominio e i relativi record DNS per poter del certificato di cui eseguire il provisioning. Se non hai ancora un dominio, puoi richiederne uno da Google Domains. Per ulteriori informazioni, consulta la Guida introduttiva all'utilizzo di Google Domains. Inoltre, devi aggiornare il record A del DNS del dominio in modo che punti a all'indirizzo IP del bilanciatore del carico creato nel passaggio precedente (example-ip). Per istruzioni dettagliate, consulta Utilizzo certificati.

  • Certificati autofirmati. Se non vuoi configurare un dominio in questo puoi utilizzare un certificato SSL autofirmato per i test.

In questo esempio si presuppone che tu abbia già creato una risorsa del certificato SSL.

Se vuoi testare questo processo senza creare un certificato SSL risorsa (o un dominio come richiesto dai certificati gestiti da Google), puoi comunque utilizzare le istruzioni in questa pagina per configurare un caricamento HTTP con il bilanciatore del carico di rete.

crea il bilanciatore del carico

Nel diagramma seguente, il bilanciatore del carico utilizza un backend NEG serverless per indirizzare le richieste a un servizio Cloud Run serverless. Per questo Ad esempio, abbiamo utilizzato il comando Cloud Run Python rapida per eseguire il deployment di un servizio Cloud Run.

Architettura del bilanciatore del carico delle applicazioni esterno per un'applicazione Cloud Run.
Architettura del bilanciatore del carico delle applicazioni esterno per un'applicazione Cloud Run (fai clic per ingrandire).

Perché i controlli di integrità non sono supportati per i servizi di backend con 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

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic su Crea bilanciatore del carico.
  3. Per Tipo di bilanciatore del carico, seleziona Bilanciatore del carico delle applicazioni (HTTP/HTTPS) e fai clic su Avanti.
  4. Per Pubblico o interno, seleziona Rivolto al pubblico (esterno) e fai clic su Avanti.
  5. Per Deployment globale o in una regione singola, seleziona Ideale per carichi di lavoro e fai clic su Avanti.
  6. Per Generazione del bilanciatore del carico, seleziona Esterno globale Bilanciatore del carico delle applicazioni e fai clic su Avanti.
  7. Fai clic su Configura.

Configurazione di base

  1. Per il nome del bilanciatore del carico, inserisci serverless-lb.
  2. Tieni la finestra aperta per continuare.

Configurazione frontend

  1. Fai clic su Configurazione frontend.
  2. In Nome, inserisci un nome.
  3. Per creare un bilanciatore del carico HTTPS, devi avere Un certificato SSL (gcloud compute ssl-certificates list).

    Ti consigliamo di utilizzare un certificato gestito da Google, come descritto in precedenza.

  4. Per configurare un bilanciatore del carico delle applicazioni esterno, compila i campi come segue.

    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, è necessario disporre di un SSL di certificazione da utilizzare nel proxy HTTPS. Puoi creare una risorsa del certificato SSL utilizzando un sistema SSL gestito o un certificato SSL autogestito.
    Per creare un certificato gestito da Google, devi avere un dominio. La che il record A del dominio deve risolversi nell'indirizzo IP del (in questo esempio, example-ip). L'utilizzo dei 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.

    L'attivazione di questa casella di controllo crea un carico HTTP parziale aggiuntivo che utilizza lo stesso indirizzo IP del carico HTTPS e reindirizza le richieste HTTP Frontend HTTPS.

    Questa casella di controllo può essere selezionata solo quando il protocollo HTTPS e viene utilizzato un indirizzo IP riservato.

    Se vuoi testare questa procedura senza configurare un certificato SSL risorsa (o un dominio come richiesto dai certificati gestiti da Google), può configurare un bilanciatore del carico HTTP.

    Per creare un bilanciatore del carico HTTP, verifica che le seguenti opzioni sono 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.
  5. Fai clic su Fine.

Configurazione backend

  1. Fai clic su Configurazione backend.
  2. Nella sezione Servizi di backend e bucket di backend, fai clic su Crea un servizio di backend.
  3. In Nome, inserisci un nome.
  4. In Tipo di backend, seleziona Gruppo di endpoint di rete serverless.
  5. Lascia invariato il campo Protocollo. Questo parametro viene ignorato.
  6. Nella sezione Backend, per Nuovo backend, Seleziona Crea gruppo di endpoint di rete serverless.
  7. In Nome, inserisci un nome.
  8. In Regione, seleziona us-central1, quindi seleziona Cloud Run.
  9. Seleziona Seleziona nome servizio.
  10. Nell'elenco Servizio, seleziona Servizio Cloud Run per il quale vuoi creare un bilanciatore del carico.
  11. Fai clic su Crea.
  12. Nella sezione Nuovo backend, fai clic su Fine.
  13. Fai clic su Crea.

Regole di routing

Le regole di routing determinano come viene indirizzato il traffico. Per configurare di routing, devi configurare le regole dell'host e i matcher di percorso, di configurazione di un pod la mappa URL del bilanciatore del carico delle applicazioni esterno.

  1. Fai clic su Regole di routing.

  2. Conserva gli host e i percorsi predefiniti. Per questo esempio, tutte le richieste al servizio di backend creato nel passaggio precedente.

Rivedi la configurazione

  1. Fai clic su Esamina e finalizza.
  2. Controlla tutte le impostazioni.
  3. (Facoltativo) Fai clic su Codice equivalente per visualizzare la richiesta API REST. che verrà utilizzato per creare il bilanciatore del carico.
  4. Fai clic su Crea.
  5. Attendi che la creazione del bilanciatore del carico sia completa.
  6. Fai clic sul nome del bilanciatore del carico (serverless-lb).
  7. Prendi nota dell'indirizzo IP del bilanciatore del carico, che utilizzerai nella prossima attività. È denominata IP_ADDRESS.

gcloud

  1. Crea un NEG serverless per la tua app serverless.

    Creazione di un NEG serverless con un Cloud Run servizio:

       gcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME \
           --region=us-central1 \
           --network-endpoint-type=serverless  \
           --cloud-run-service=CLOUD_RUN_SERVICE_NAME
       
    Per ulteriori opzioni, consulta la guida di riferimento gcloud per gcloud compute network-endpoint-groups create.
  2. Crea un servizio di backend.
       gcloud compute backend-services create BACKEND_SERVICE_NAME \
           --load-balancing-scheme=EXTERNAL_MANAGED \
           --global
       
  3. Aggiungi il NEG serverless come backend del 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
       
  4. 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 di esempio ha come target un solo servizio di backend che rappresenta un singola app serverless, quindi non è necessario configurare regole host o matcher. Se hai più di un servizio di backend, puoi utilizzare l'host per indirizzare le richieste a servizi diversi in base al nome host, e puoi configurare matcher di percorso per indirizzare le richieste a diverse in base al percorso di richiesta.

  5. Per creare un bilanciatore del carico HTTPS, devi avere un Certificato SSL risorsa da utilizzare nel proxy di destinazione HTTPS. Puoi creare un protocollo SSL di certificazione utilizzando un certificato SSL gestito da Google un certificato SSL autogestito. Utilizzo dei certificati gestiti da Google è consigliata 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:
       gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
           --domains DOMAIN
       
    Per creare una risorsa del certificato SSL autogestito:
       gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
           --certificate CRT_FILE_PATH \
           --private-key KEY_FILE_PATH
       
  6. Crea un proxy HTTP(S) di destinazione per instradare le richieste alla mappa di URL.

    Per un bilanciatore del carico HTTP, crea un proxy di destinazione HTTP:

       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 di destinazione HTTPS. Il proxy è la parte del bilanciatore del carico che contiene il certificato SSL per il bilanciamento del carico HTTPS, quindi in questo passaggio caricherai anche il certificato.

       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'opzione facoltativa utilizzato per specificare il timeout keepalive HTTP del client. Il valore di 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.
  7. Creare 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
       

Connetti il tuo dominio al bilanciatore del carico

Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato dal bilanciatore del carico, ad esempio 30.90.80.100. Per puntare il dominio verso bilanciatore del carico, crea un record A utilizzando il servizio di registrazione del dominio. Se hai aggiunto più domini al tuo certificato SSL, devi aggiungere un record A per ciascuno, puntando tutti all'indirizzo IP del bilanciatore del carico. Ad esempio, per crea record A per www.example.com e example.com, usa 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 i record.

Testa il bilanciatore del carico

Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare all'indirizzo IP del bilanciatore del carico. Se hai configurato un dominio, puoi: inviare traffico anche al nome di dominio. Tuttavia, la propagazione DNS può richiedere tempo per completare questa operazione, in modo da poter iniziare utilizzando l'indirizzo IP a scopo di test.

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul bilanciatore del carico appena creato.

  3. Prendi nota dell'indirizzo IP del bilanciatore del carico.

  4. Per un bilanciatore del carico HTTP, puoi testare il bilanciatore del carico da un browser web dalla pagina http://IP_ADDRESS. Sostituisci IP_ADDRESS con indirizzo IP del bilanciatore del carico. Tu deve essere indirizzato alla home page del servizio helloworld.

  5. Per un bilanciatore del carico HTTPS, puoi testare il bilanciatore del carico da un browser web dalla pagina https://IP_ADDRESS. Sostituisci IP_ADDRESS con indirizzo IP del bilanciatore del carico. Tu deve essere indirizzato alla home page del servizio helloworld.
    Se non funziona e utilizzi un certificato gestito da Google, verifica che lo stato della risorsa del certificato sia ATTIVO. Per ulteriori informazioni informazioni, consulta Risorsa del certificato SSL gestito da Google .
    Se hai utilizzato un certificato autofirmato per il 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 alternative e e altre opzioni di configurazione. Tutte le attività sono facoltative. Puoi eseguire in qualsiasi ordine.

Configura il bilanciamento del carico multiregionale

Nell'esempio descritto in precedenza in questa pagina, è disponibile solo servizio Cloud Run che funge da backend 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. La il bilanciatore del carico delle applicazioni esterno funge solo da frontend e esegue il proxy del traffico specificato per helloworld endpoint dell'app. Tuttavia, potresti voler pubblicare App Cloud Run da più regioni per migliorare la latenza dell'utente finale.

Se a un servizio di backend sono collegati più NEG serverless, il carico bilancia il traffico inoltrando le richieste al NEG serverless nel regione più vicina disponibile. Tuttavia, i servizi di backend possono contenere solo NEG serverless per regione. Per rendere Cloud Run di servizio disponibile in più regioni, devi configurare i percorsi dei carichi di lavoro. Dovresti essere in grado di utilizzare un singolo schema URL che funzioni ovunque in al mondo, ma soddisfa le richieste degli utenti dalla regione più vicina a quest'ultimo.

Per configurare la pubblicazione in più regioni, devi utilizzare il livello di rete Premium per assicura che tutti i deployment Cloud Run a livello di regione siano compatibili e pronti a gestire il traffico da qualsiasi regione.

Per configurare un bilanciatore del carico multiregionale:

  1. Configurare due servizi Cloud Run in regioni diverse. Supponiamo che di aver eseguito il deployment di due servizi Cloud Run: uno in una regione degli Stati Uniti e un'altra in una regione europea.
  2. Crea un bilanciatore del carico delle applicazioni esterno con la seguente configurazione:
    1. Configura un servizio di backend globale con due NEG serverless:
      1. Crea il primo NEG nella stessa regione del Servizio Cloud Run di cui è stato eseguito il deployment negli Stati Uniti.
      2. Crea il secondo NEG nella stessa regione del Servizio Cloud Run di cui è stato eseguito il deployment in Europa.
    2. Imposta la configurazione frontend con Premium Network Service Tiers.

La configurazione risultante è mostrata nel diagramma seguente.

Routing tra più regioni per le applicazioni serverless.
Routing multiregionale per le applicazioni serverless

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 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:

  1. Crea un secondo NEG serverless nella regione europe-west1.
  2. 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

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico di cui vuoi eseguire il servizio di backend modifica.

  3. Nella pagina Dettagli bilanciatore del carico, fai clic su Modifica.

  4. Nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.

  5. Nella pagina Configurazione backend, fai clic su Modifica per il servizio di backend che che desideri modificare.

  6. Nella sezione Backend, fai clic su Aggiungi un backend.

  7. Nell'elenco Gruppi di endpoint di rete serverless, seleziona Crea Gruppo di endpoint di rete serverless.

  8. Inserisci un nome per il NEG serverless.

  9. In Regione, seleziona europe-west1.

  10. Per Tipo di gruppo di endpoint di rete serverless, seleziona Cloud Run e quindi procedi nel seguente modo:

    1. Seleziona l'opzione Seleziona servizio.
    2. Nell'elenco Servizio, seleziona Cloud Run servizio per il quale vuoi creare un bilanciatore del carico.
  11. Fai clic su Crea.

  12. Nella pagina Nuovo backend, fai clic su Fine.

  13. Fai clic su Salva.

  14. Per aggiornare il servizio di backend, fai clic su Aggiorna.

  15. Per aggiornare il bilanciatore del carico, nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Aggiorna.

gcloud

  1. 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 serverless
    • CLOUD_RUN_SERVICE_2: il nome del Servizio Cloud Run
  2. Aggiungi il secondo NEG serverless come backend del 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 backend servizio
    • SERVERLESS_NEG_NAME_2: il nome del secondo NEG serverless

Usa una sottoscrizione push di Pub/Sub autenticata con un deployment Cloud Run in più regioni

Per le richieste push autenticate, Cloud Run prevede specifico della regione per impostazione predefinita. Nel caso di più regioni il deployment di Cloud Run, se la richiesta push viene instradata a un servizio Cloud Run in un'altra regione, il token JWT la verifica non va a buon fine a causa di una mancata corrispondenza del pubblico.

Per aggirare questa limitazione specifica per regione:

  1. Configurare un segmento di pubblico personalizzato e lo stesso vale per i deployment dei servizi in regioni diverse.
  2. Configura i messaggi push di Pub/Sub per utilizzare il segmento di pubblico personalizzato come nel token JWT.

Configura il routing a livello di regione

Un motivo comune per la distribuzione di applicazioni da più regioni dei dati è soddisfare i requisiti delle località dei dati. Ad esempio, potresti voler garantire che le richieste effettuate dagli utenti europei vengano sempre gestite da una regione in Europa. Per farlo, hai bisogno di uno schema di URL con URL separati per utenti dell'UE e di altri utenti dell'UE e indirizzare gli utenti dell'UE agli URL dell'UE.

In questo scenario, utilizzeresti la mappa URL per indirizzare le richieste da specifiche URL alle regioni corrispondenti. Con questa configurazione, le richieste destinate a regione non vengono mai consegnati a un'altra regione. In questo modo viene garantito l'isolamento tra regioni diverse. Al contrario, quando si verifica un errore in una regione, le richieste non vengono instradate. in un'altra regione. Questa configurazione non aumenta quindi la disponibilità del servizio.

Per configurare il routing a livello di regione, devi utilizzare il livello di rete Premium che puoi combinare diverse regioni in un'unica regola di forwarding.

Per configurare un bilanciatore del carico con routing a livello di regione:

  1. Configurare due servizi Cloud Run in regioni diverse. Supponiamo che tu abbia ha eseguito il deployment di due servizi Cloud Run: hello-world-eu in una regione dell'Europa, e hello-world-us in una regione degli Stati Uniti.
  2. Crea un bilanciatore del carico delle applicazioni esterno con la seguente configurazione:
    1. Configura un servizio di backend con un NEG serverless in Europa. L'architettura serverless Il NEG deve essere creato nella stessa regione del servizio Cloud Run in Europa.
    2. Configura un secondo servizio di backend con un altro NEG serverless nel Stati Uniti. Questo NEG serverless deve essere creato nella stessa regione del Cloud Esegui il servizio di cui è stato eseguito il deployment negli Stati Uniti.
    3. Imposta la mappa URL con le regole relative a host e percorso appropriate, in modo che un insieme di URL instrada al servizio di backend europeo, mentre vengono instradate al servizio di backend degli Stati Uniti.
    4. Imposta la configurazione frontend con il livello di rete Premium.

Il resto della configurazione può essere uguale a quello descritto in precedenza. I tuoi risultati dovrebbe avere il seguente aspetto:

Routing a livello di regione per le applicazioni serverless senza failover.
Routing a livello di regione per le applicazioni serverless senza failover

Utilizza una maschera URL

Durante la creazione di un NEG serverless, invece di selezionare un Cloud Run specifico puoi utilizzare una maschera URL per puntare a più servizi pubblicati lo stesso dominio. Una maschera URL è un modello dello schema URL. Il NEG serverless utilizzerà questo modello per estrarre il nome del servizio dall'email in entrata e mappare la richiesta al servizio appropriato.

Le maschere URL sono particolarmente utili se il tuo servizio è mappato a una dominio anziché l'indirizzo predefinito Google Cloud fornisce il servizio di cui è stato eseguito il deployment. Una maschera URL consente di scegliere come target più servizi e versioni con un'unica regola anche quando utilizza un pattern URL personalizzato.

Se non lo hai già fatto, assicurati di leggere la pagina Panoramica dei NEG serverless: Maschere URL.

Creare una maschera URL

Per creare una maschera URL per il bilanciatore del carico, inizia con l'URL del tuo completamente gestito di Google Cloud. Per questo esempio, utilizzeremo un'app serverless in esecuzione https://example.com/login. Questo è l'URL del servizio login dell'app .

  1. Rimuovi http o https dall'URL. Non hai più example.com/login.
  2. Sostituisci il nome del servizio con un segnaposto per la maschera URL.
    1. Cloud Run: sostituisci il nome del servizio Cloud Run con segnaposto <service>. Se al servizio Cloud Run è associato un tag, sostituisci il nome del tag con il segnaposto <tag>. In questo esempio, la maschera dell'URL che viene lasciata è example.com/<service>.
    2. Cloud Functions: sostituisci il nome della funzione con il segnaposto <function>. In questo esempio, la maschera dell'URL che viene lasciata è example.com/<function>.
    3. 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 dell'URL che viene lasciata è example.com/<service>.
    4. API Gateway: sostituisci il nome del gateway con il segnaposto <gateway>. In questo esempio, la maschera dell'URL che viene lasciata è example.com/<gateway>.
  3. (Facoltativo) Se il nome del servizio (o la funzione, la versione o il tag) può essere estratti dalla porzione del percorso dell'URL,il dominio può essere omesso. La del percorso della maschera dell'URL non viene entro il primo carattere (/). Se non è presente / nella maschera dell'URL, in cui la maschera rappresenta solo l'host. Pertanto, per questo Ad esempio, la maschera URL può essere ridotta a /<service>, /<gateway> o /<function>.

    Analogamente, se il nome del servizio può essere estratto dalla parte host della URL, puoi omettere del tutto il percorso dalla maschera URL.

    Puoi anche omettere qualsiasi componente di host o di sottodominio che precede il primo segnaposto come nonché tutti i componenti del percorso successivi all'ultimo segnaposto. In tale nei casi d'uso, 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 denominato example.com e è in corso la mappatura di tutti i tuoi servizi Cloud Run a questo dominio utilizzando un bilanciatore del carico delle applicazioni esterno.

Servizio, nome tag URL del dominio personalizzato Maschera URL
servizio: accesso https://login-home.example.com/web &lt;service&gt;-home.example.com
servizio: accesso https://example.com/login/web example.com/&lt;service&gt; o /<service>
service: login, tag: test https://test.login.example.com/web &lt;tag&gt;.&lt;service&gt;.example.com
service: login, tag: test https://example.com/home/login/test example.com/home/&lt;service&gt;/&lt;tag&gt; o /home/<servizio>/<tag>
service: login, tag: test https://test.example.com/home/login/web &lt;tag&gt;.example.com/home/&lt;service&gt;

Cloud Functions

Questa tabella presuppone che tu abbia un dominio personalizzato denominato example.com e è in corso la mappatura di tutti i servizi Cloud Functions a questo dominio.

Nome funzione URL del dominio personalizzato Maschera URL
accedi https://example.com/login /&lt;function&gt;
accedi https://example.com/home/login /home/&lt;function&gt;
accedi https://login.example.com <funzione>.esempio.com
accedi https://login.home.example.com &lt;function&gt;.home.example.com

App Engine

Questa tabella presuppone che tu abbia un dominio personalizzato denominato example.com e tutti i tuoi servizi App Engine sono in fase di a questo dominio.

Nome servizio, versione URL del dominio personalizzato Maschera URL
servizio: accesso https://login.example.com/web &lt;service&gt;.example.com
servizio: accesso https://example.com/home/login/web example.com/home/<service> o /home/<service>
servizio: accesso, versione: test https://test.example.com/login/web &lt;version&gt;.example.com/&lt;service&gt;
servizio: accesso, versione: test https://example.com/login/test example.com/&lt;service&gt;/&lt;version&gt;

API Gateway

Questa tabella presuppone che tu abbia un dominio personalizzato denominato example.com e l'intero gateway API servizi sono in fase di mappatura a questo dominio.

Nome gateway URL del dominio personalizzato API Gateway(anteprima) Maschera URL
accedi https://example.com/login /&lt;gateway&gt;
accedi https://example.com/home/login /home/&lt;gateway&gt;
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 lo stesso processo end-to-end di descritti in precedenza in questo argomento. Quando configuri il servizio di backend, invece di selezionare un servizio specifico, inserisci una maschera URL.

Se hai già un bilanciatore del carico, 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 di URL a un servizio di backend esistente:

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai alla pagina Bilanciamento del carico
  2. Fai clic sul nome del bilanciatore del carico di cui vuoi eseguire il servizio di backend modifica.
  3. Nella pagina Dettagli bilanciatore del carico, fai clic su Modifica. .
  4. Nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.
  5. Nella pagina Configurazione backend, fai clic su Modifica. per del servizio di backend che desideri modificare.
  6. Fai clic su Aggiungi backend.
  7. Seleziona Crea gruppo di endpoint di rete serverless.
    1. In Nome, inserisci helloworld-serverless-neg.
    2. In Regione, seleziona us-central1.
    3. In Tipo di gruppo di endpoint di rete serverless, seleziona della piattaforma in cui vengono utilizzate le tue app (o servizi o funzioni) serverless sono state create.
      1. Seleziona Utilizza maschera URL.
      2. Inserisci una maschera per l'URL. Per istruzioni su come creare una maschera URL, consulta Realizzazione di una maschera URL.
      3. Fai clic su Crea.
  8. Nella sezione Nuovo backend, fai clic su Fine.
  9. 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: funzioni Cloud 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

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

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 delle maschere degli URL, consulta Risoluzione dei problemi relativi al serverless NEG.

Sposta il dominio personalizzato in modo che sia gestito dall'Application Load Balancer esterno

Se le tue app di serverless computing vengono mappate a domini personalizzati, potresti aggiornare i tuoi record DNS in modo che il traffico inviato ai server Cloud Run, Cloud Functions API Gateway o URL di dominio personalizzato App Engine viene instradato tramite il bilanciatore del carico.

Ad esempio, se disponi di un dominio personalizzato denominato example.com e di tutti gli account Cloud I servizi in esecuzione sono mappati a questo dominio; devi aggiornare il record DNS per example.com per puntare all'indirizzo IP del bilanciatore del carico.

Prima di aggiornare i record DNS, puoi testare la configurazione localmente forzare la risoluzione DNS locale del dominio personalizzato all'indirizzo IP del bilanciatore del carico . Per eseguire il test in locale, modifica il file /etc/hosts/ su la tua macchina locale in modo che punti example.com all'indirizzo IP del bilanciatore del carico oppure usa il flag curl --resolve per forzare curl a usare l'IP del bilanciatore del carico per la richiesta.

Quando il record DNS per example.com viene risolto nell'IP del bilanciatore del carico HTTP(S) di destinazione, le richieste inviate a example.com iniziano a essere indirizzate tramite con il bilanciatore del carico di rete passthrough esterno regionale. Il bilanciatore del carico li invia al servizio di backend pertinente in base alla sua mappa URL. Inoltre, se il servizio di backend è configurato con una maschera URL, il NEG serverless utilizza la maschera per instradare la richiesta Cloud Run, Cloud Functions API Gateway o servizio App Engine.

Abilita Cloud CDN

Abilitazione di Cloud CDN per il tuo servizio Cloud Run ti consente di ottimizzare la distribuzione dei contenuti memorizzando i contenuti nella cache vicino agli utenti.

Puoi abilitare Cloud CDN sui servizi di backend utilizzati da Bilanciatori del carico delle applicazioni esterni globali mediante 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 Functions API Gateway e App Engine.

Abilita IAP sul bilanciatore del carico delle applicazioni esterno

Nota: IAP non è compatibile con Cloud CDN.

Puoi configurare IAP per attivata o disattivata (impostazione predefinita). Se attivata, devi fornire valori per oauth2-client-id e oauth2-client-secret.

Per abilitare IAP, aggiorna il servizio di backend per 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

Abilita Google Cloud Armor

Google Cloud Armor è un prodotto di sicurezza che fornisce dagli attacchi DDoS (Distributed Denial-of-Service) a tutti Bilanciatori del carico proxy GCLB. Google Cloud Armor fornisce inoltre sicurezza configurabile ai servizi a cui si accede tramite un bilanciatore del carico delle applicazioni esterno. Per saperne di più I criteri di sicurezza di Google Cloud Armor per i bilanciatori del carico delle applicazioni esterni; consulta Panoramica dei criteri di sicurezza di Google Cloud Armor.

Se utilizzi Cloud Functions, puoi assicurarti che le richieste inviate Gli URL predefiniti vengono bloccati utilizzando il traffico in entrata internal-and-gclb dell'audiodescrizione.

Se utilizzi Cloud Run, puoi assicurarti che le richieste inviati agli URL predefiniti o a qualsiasi altro dominio personalizzato configurato Cloud Run sono bloccati dalla limitazione del traffico in entrata a "bilanciamento del carico interno e cloud".

Se utilizzi App Engine, puoi utilizzare il traffico in entrata controlli in modo che la tua app riceva solo le richieste inviate dal bilanciatore del carico (e dal VPC se la utilizzi).

Senza le impostazioni di traffico in entrata corrette, gli utenti possono utilizzare URL predefinito per bypassare il bilanciatore del carico, sicurezza di Google Cloud Armor criteri, certificati SSL e chiavi private che vengono trasmessi attraverso il caricamento con il bilanciatore del carico di rete passthrough esterno regionale.

(Facoltativo) Configura un criterio di sicurezza del backend predefinito. Il livello di sicurezza predefinito il criterio limita il traffico al di sopra di una soglia configurata dall'utente. Per ulteriori informazioni informazioni sui criteri di sicurezza predefiniti, consulta Panoramica sulla limitazione di frequenza.

  1. Per disattivare il criterio di sicurezza predefinito di Google Cloud Armor, seleziona None nel menu elenco dei criteri di sicurezza del backend.
  2. Nella sezione Sicurezza, seleziona Criterio di sicurezza predefinito.
  3. Nel campo Nome norma, accetta i Termini e condizioni d'uso generato o inserisci un nome per il criterio di sicurezza.
  4. Nel campo Conteggio richieste, accetta la richiesta predefinita conteggio o inserisci un numero intero compreso tra 1 e 10,000.
  5. Nel campo Intervallo, seleziona un intervallo.
  6. Nel campo Chiave di applicazione forzata, scegli una delle seguenti opzioni valori: Tutti, Indirizzo IP o Indirizzo IP X-Forwarded-For. Per ulteriori informazioni per queste opzioni, consulta Identificazione dei clienti per la limitazione di frequenza.

Abilita logging e monitoraggio

Puoi abilitare, disabilitare e visualizzare i log per un bilanciatore del carico delle applicazioni esterno di servizio di backend. Quando utilizzi la console Google Cloud, il logging è abilitato per impostazione predefinita per i servizi di backend con backend NEG serverless. Puoi utilizzare gcloud per e disabilitare il logging per ciascun servizio di backend, se necessario. Per istruzioni, vedi Logging.

Il bilanciatore del carico esporta anche i dati di monitoraggio in Cloud Monitoring. Le metriche di monitoraggio consentono di valutare la configurazione di un bilanciatore del carico, utilizzo e prestazioni. 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 timeout keepalive HTTP del client

Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con un valore predefinito per keepalive HTTP del client timeout. Per aggiornare il timeout keepalive HTTP del client, segui le istruzioni riportate di seguito.

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico.

  2. Fai clic sul nome del bilanciatore del carico che vuoi modificare.
  3. Fai clic su Modifica.
  4. Fai clic su Configurazione frontend.
  5. Espandi Funzionalità avanzate. Per il timeout keepalive HTTP, inserire un valore di timeout compreso tra 5 e 1.200 secondi.
  6. Fai clic su Aggiorna.
  7. Per esaminare le modifiche, fai clic su Esamina e finalizza e poi fai clic su Aggiorna.

gcloud

Per un bilanciatore del carico HTTP, aggiorna il proxy HTTP di destinazione utilizzando il metodo 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 metodo 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: valore di timeout keepalive HTTP da 5 a 1200 secondi.

Abilita rilevamento outlier

Puoi attivare gli outlier rilevamento sui servizi di backend globali per identificare i NEG serverless in stato non integro e ridurre numerare le richieste inviate ai NEG serverless in stato non integro.

Il rilevamento outlier viene attivato nel servizio di backend utilizzando uno dei seguenti metodi:

  • Il metodo consecutiveErrors (outlierDetection.consecutiveErrors), in che un codice di stato HTTP della serie 5xx viene classificato come errore.
  • Il metodo consecutiveGatewayFailure (outlierDetection.consecutiveGatewayFailure), in cui solo 502, I codici di stato HTTP 503 e 504 vengono considerati un errore.

Utilizza i seguenti passaggi per abilitare il rilevamento di outlier per un backend esistente completamente gestito di Google Cloud. Tieni presente che anche dopo aver abilitato il rilevamento outlier, alcune richieste possono essere inviato al servizio non integro e restituisce un codice di stato 5xx a con i clienti. Per ridurre ulteriormente la percentuale di errori, puoi configurare modelli per i parametri di rilevamento outlier. Per ulteriori informazioni, consulta Campo outlierDetection:

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico di cui vuoi eseguire il servizio di backend modifica.

  3. Nella pagina Dettagli bilanciatore del carico, fai clic su Modifica.

  4. Nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Configurazione backend.

  5. Nella pagina Configurazione backend, fai clic su Modifica per il servizio di backend che che desideri modificare.

  6. Scorri verso il basso ed espandi la sezione Configurazioni avanzate.

  7. Nella sezione Rilevamento outlier, seleziona la casella di controllo Abilita.

  8. Fai clic su Modifica per configurare il rilevamento degli outlier.

    Verifica che le seguenti opzioni siano configurate con questi valori:

    Proprietà Valore
    Errori consecutivi 5
    Intervallo 1000
    Tempo di espulsione di base 30000
    Percentuale massima di espulsione 50
    Applicazione di errori consecutivi 100

    In questo esempio, l'analisi del rilevamento di outlier viene eseguita ogni secondo. Se Il numero di codici di stato HTTP 5xx consecutivi ricevuto da un Il proxy Envoy è pari o superiore a cinque, l'endpoint di backend viene escluso dalla di bilanciamento del carico del proxy Envoy per 30 secondi. Quando la percentuale di applicazione è impostata al 100%, il servizio di backend applica esclusione di endpoint in stato non integro dai rispettivi pool di bilanciamento del carico proxy Envoy specifici ogni volta che viene eseguita l'analisi del rilevamento outlier. Se sono soddisfatte le condizioni di espulsione, fino al 50% degli endpoint di backend il pool di bilanciamento del carico può essere escluso.

  9. Fai clic su Salva.

  10. Per aggiornare il servizio di backend, fai clic su Aggiorna.

  11. Per aggiornare il bilanciatore del carico, nella pagina Modifica bilanciatore del carico delle applicazioni esterno globale, fai clic su Aggiorna.

gcloud

  1. 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 di servizio di backend.

  2. Modifica la configurazione YAML del servizio di backend per aggiungere i campi per rilevamento outlier, come evidenziato nella seguente configurazione YAML, nella sezione outlierDetection:

    In questo esempio, l'analisi del rilevamento di outlier viene eseguita ogni secondo. Se Il numero di codici di stato HTTP 5xx consecutivi ricevuto da un Il proxy Envoy è pari o superiore a cinque, l'endpoint di backend viene escluso dalla di bilanciamento del carico del proxy Envoy per 30 secondi. Quando la percentuale di applicazione è impostata al 100%, il servizio di backend applica esclusione di endpoint in stato non integro dai rispettivi pool di bilanciamento del carico proxy Envoy specifici ogni volta che viene eseguita l'analisi del rilevamento outlier. Se sono soddisfatte le condizioni di espulsione, fino al 50% degli endpoint di backend il pool di bilanciamento del carico può essere escluso.

    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 backend servizio
    • PROJECT_ID: l'ID del progetto
    • REGION_A e REGION_B: e le regioni in cui è stato configurato il bilanciatore del carico.
    • SERVERLESS_NEG_NAME: il nome del primo NEG serverless
    • SERVERLESS_NEG_NAME_2: il nome del secondo NEG serverless
  3. Aggiorna il servizio di backend importando l'ultima configurazione.

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
      --source=BACKEND_SERVICE_NAME.yaml --global
    

    Il rilevamento outlier è ora abilitato nel servizio di backend.

Elimina un NEG serverless

Un gruppo di endpoint di rete non può essere eliminato se è collegato a un backend completamente gestito di Google Cloud. Prima di eliminare un NEG, assicurati che sia scollegato dal di servizio di backend.

Console

  1. Per assicurarti che il NEG serverless che vuoi eliminare non sia attualmente in uso da un servizio di backend, vai alla scheda Servizi di backend nel Menu avanzato del bilanciamento del carico.
    Vai alla scheda Servizi di backend
  2. Se il NEG serverless è attualmente in uso:
    1. Fai clic sul nome del servizio di backend che utilizza il NEG serverless.
    2. Fai clic su Modifica .
    3. Nell'elenco Backend, fai clic su per rimuovere il NEG serverless di backend dal servizio di backend.
    4. Fai clic su Salva.
  3. Vai alla pagina Gruppo di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppo di endpoint di rete
  4. Seleziona la casella di controllo per il NEG serverless che vuoi eliminare.
  5. Fai clic su Elimina.
  6. 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 specificare anche --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