Accedi alle API di Google a livello di regione tramite backend

Questa guida descrive come configurare un bilanciatore del carico delle applicazioni interno con Backend di Private Service Connect per accedere a un account Google a livello di regione tramite Google Cloud.

Per ulteriori informazioni sui backend, consulta Informazioni di backend.

È possibile utilizzare un bilanciatore del carico delle applicazioni interno per Private Service Connect raggiunto da VPC condiviso reti e reti connesse.

Ruoli

L'amministratore del bilanciatore del carico Compute ruolo (roles/compute.loadBalancerAdmin) contiene l'autorizzazione necessaria per eseguire le attività descritte in questa guida.

Servizi supportati

Vedi l'elenco dei servizi regionali supportati endpoint.

Prima di iniziare

  • Attiva l'API Compute Engine nel tuo progetto.

  • Se vuoi registrare la regola di forwarding del bilanciamento del carico con Service Directory, attiva la nell'API Service Directory progetto. Per configurare Service Directory, devi creare una regola di forwarding utilizzando Google Cloud CLI o l'API.

  • Crea una subnet solo proxy se non ne hai già uno. Deve essere presente una singola subnet solo proxy nella rete VPC e nella regione in cui intendi creare il bilanciatore del carico delle applicazioni interno. Questa subnet è utilizzata da tutti i bilanciatori del carico delle applicazioni interni rete e regione.

  • Se non li hai già, crea una chiave privata e un account per il tuo dominio. Vedi il passaggio 1 sull'utilizzo di SSL autogestito certificati. Tu una chiave privata e un certificato per creare al proxy HTTPS di destinazione quando configuri il carico Google Cloud.

Crea gruppo di endpoint di rete

Per ogni servizio che vuoi rendere disponibile utilizzando il bilanciatore del carico, Creare un gruppo di endpoint di rete (NEG) Private Service Connect.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di endpoint di rete.

    Vai a Gruppi di endpoint di rete

  2. Fai clic su Crea gruppo di endpoint di rete.

  3. Inserisci un Nome per il gruppo di endpoint di rete.

  4. In Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete. (Private Service Connect).

  5. Seleziona la Regione per il gruppo di endpoint di rete.

  6. Seleziona il Servizio di destinazione per il gruppo di endpoint di rete.

  7. Fai clic su Crea.

gcloud

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION

Sostituisci quanto segue:

  • NEG_NAME: un nome per il gruppo di endpoint di rete.

  • TARGET_SERVICE: il servizio di destinazione che vuoi connettere a. Consulta l'elenco dei servizi regionali supportati endpoint.

  • REGION: la regione in cui creare il gruppo di endpoint di rete in. La regione deve essere la stessa del servizio a cui vuoi connetterti.

Configura il bilanciatore del carico

Tutti i componenti del bilanciatore del carico devono essere creati nella stessa regione del Gruppo di endpoint di rete Private Service Connect.

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 Interno e fai clic Avanti.
  5. Per Deployment tra più regioni o in una singola regione, seleziona Ideale per regionali e fai clic su Avanti.
  6. Fai clic su Configura.

Configurazione di base

  1. Inserisci un Nome per il bilanciatore del carico.
  2. Seleziona una regione per il bilanciatore del carico.
  3. Seleziona una rete per il bilanciatore del carico.

    La rete deve contenere una subnet solo proxy nella regione in cui creando il NEG e il bilanciatore del carico. Se non ne hai uno, puoi fai clic su Prenota subnet per crearne una.

  4. Tieni la finestra aperta per continuare.

Configurazione backend

Il gruppo di endpoint di rete Private Service Connect è un tipo del backend del bilanciatore del carico. Creerai un servizio di backend per ogni backend che vuoi configurare.

  1. Fai clic su Configurazione backend.
  2. Per ogni gruppo di endpoint di rete Private Service Connect che vuoi configurare, creare un servizio di backend.

    1. Dal menu Crea o seleziona servizi di backend, seleziona Crea un di backend.
    2. Inserisci un Nome per il servizio di backend.
    3. Imposta il Tipo di backend su Endpoint di rete Private Service Connect .
    4. Imposta il Tipo di destinazione Private Service Connect su A livello di regione Google tramite Google Cloud.
    5. Seleziona HTTPS come protocollo.

    6. Nella sezione Backend, fai clic sul menu Nuovo backend e seleziona il gruppo di endpoint di rete Private Service Connect.

      Se devi creare un nuovo Private Service Connect gruppo di endpoint di rete, fai clic su Crea una rete Private Service Connect gruppo di endpoint di Google.

Regole di routing

L'insieme di regole per il routing delle richieste HTTPS in arrivo servizi di backend o bucket di backend specifici è detta mappa URL. Per scoprire di più sulle mappe URL, consulta Panoramica delle mappe URL.

Se configuri un solo servizio di backend per il bilanciatore del carico, la regola di routing predefinita è sufficiente e puoi passare direttamente a Frontend configurazione.

  1. Se disponi di più di un servizio di backend, fai clic su Regole di routing.
  2. Seleziona Regola host e percorso semplice.
  3. Per ogni backend, segui questi passaggi:
    1. Aggiungi una regola host e un percorso.
    2. In Host, inserisci il nome host che verrà utilizzato per inviare le richieste a questo servizio, ad esempio logging.example.com.
    3. In Percorsi, inserisci il percorso, ad esempio /*.
    4. In Backend, seleziona il servizio di backend.

Configurazione frontend

  1. Fai clic su Configurazione frontend.
  2. Fai clic su Aggiungi IP e porta frontend.
  3. Inserisci un Nome per il bilanciatore del carico.
  4. Nel campo Protocollo, seleziona HTTPS (include HTTP/2).
  5. Seleziona una subnet per il bilanciatore del carico.
  6. Assicurati che la Porta sia impostata su 443 per consentire il traffico HTTPS.
  7. In Indirizzo IP, seleziona un indirizzo IP dal menu.

    Se vuoi prenotare un nuovo indirizzo IP, fai clic su Crea IP .

  8. Fai clic sull'elenco a discesa Certificato.

    1. Se hai già un certificato SSL autogestito risorsa che vuoi utilizzare, selezionalo dal menu.
    2. Altrimenti, seleziona Crea un nuovo certificato.
    3. Inserisci un Nome per la risorsa del certificato.
    4. Nei campi appropriati, carica i file in formato PEM:
      • Certificato
      • Chiave privata
    5. Fai clic su Crea.
  9. Fai clic su Fine.

Esamina e finalizza

  1. Fai clic su Rivedi e finalizza per rivedere la configurazione.
  2. Fai clic su Crea.

gcloud

  1. Crea un backend per ogni gruppo di endpoint di rete creato. completamente gestito di Google Cloud.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTPS \
        --region=REGION
    

    Sostituisci quanto segue:

    • BACKEND_SERVICE_NAME: il nome del servizio di backend.
    • REGION: la regione in cui creare il servizio di backend.
  2. Per ogni servizio di backend che hai creato, aggiungi il NEG corrispondente al servizio di backend.

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --region=REGION
    

    Sostituisci quanto segue:

    • BACKEND_SERVICE_NAME: il nome del servizio di backend.
    • NEG_NAME: il nome del gruppo di endpoint di rete.
    • REGION: la regione per il backend.
  3. Crea una mappa URL per il bilanciatore del carico.

    Una mappa URL deve fare riferimento a un servizio di backend predefinito. Se stai configurando il tuo bilanciatore del carico con un solo servizio di backend, imposta quel servizio come predefinito. Se stai configurando il bilanciatore del carico per utilizzare più backend a cui fanno riferimento le regole host e i matcher di percorso che crei nel Passaggio successivo, scegli uno dei servizi di backend come predefinito della mappa URL.

    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME \
        --region=REGION
    

    Sostituisci quanto segue:

    • URL_MAP_NAME: un nome per la mappa URL.

    • DEFAULT_BACKEND_SERVICE_NAME: il nome del caricamento predefinita del bilanciatore del carico. L'impostazione predefinita viene utilizzata quando nessuna regola host corrisponde il nome host richiesto.

    • REGION: la regione in cui creare la mappa URL.

  4. Aggiungi altri servizi di backend alla mappa URL.

    Se la mappa URL deve fare riferimento a due o più servizi di backend, completa i seguenti passaggi. Se la mappa URL fa riferimento a un solo servizio di backend, saltare questo passaggio.

    1. Per ogni servizio di backend, aggiungi un matcher del percorso. Devi creare un solo percorso per ciascun servizio di backend.

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=PATH_MATCHER \
          --default-service=BACKEND_SERVICE_NAME \
          --region=REGION
      

      Sostituisci quanto segue:

      • URL_MAP_NAME: il nome della mappa URL.
      • PATH_MATCHER: un nome per il matcher del percorso.
      • BACKEND_SERVICE_NAME: il nome del servizio di backend.
      • REGION: la regione della mappa URL.
    2. Aggiungi una regola host per ogni nome host.

      Ogni regola host può fare riferimento a un solo matcher di percorso, ma a due o più host possono fare riferimento allo stesso matcher di percorso.

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
          --hosts=HOST \
          --path-matcher-name=PATH_MATCHER \
          --region=REGION
      

      Sostituisci quanto segue:

      • URL_MAP_NAME: il nome della mappa URL.
      • HOST: il nome host a cui inviare le richieste questo servizio. Ad esempio, logging.example.com.
      • PATH_MATCHER: il nome del matcher del percorso.
      • REGION: la regione della mappa URL.
  5. Crea il proxy HTTPS di destinazione.

    1. Crea un certificato SSL a livello di regione risorsa utilizzando il comando gcloud compute ssl-certificates create. I certificati gestiti da Google non sono supportati con i bilanciatori del carico delle applicazioni interni.

      gcloud compute ssl-certificates create CERTIFICATE \
          --certificate=LB_CERT \
          --private-key=LB_PRIVATE_KEY \
          --region=REGION
      

      Sostituisci quanto segue:

      • CERTIFICATE: un nome per il certificato.

      • LB_CERT: il percorso del certificato in formato PEM per il certificato autogestito.

      • LB_PRIVATE_KEY: il percorso del file in formato PEM chiave privata per il tuo certificato autogestito.

      • REGION: la regione per il certificato.

    2. Utilizza la risorsa del certificato SSL a livello di regione per creare un proxy HTTPS di destinazione con gcloud compute target-https-proxies create .

      gcloud compute target-https-proxies create PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION \
          --ssl-certificates=CERTIFICATE
      

      Sostituisci quanto segue:

      • PROXY_NAME: un nome per il proxy HTTPS di destinazione.
      • URL_MAP_NAME: il nome della mappa URL.
      • REGION: la regione per la risorsa del certificato.
      • CERTIFICATE: il nome della risorsa del certificato.
  6. Prenota un indirizzo IPv4 interno a livello di regione per la regola di forwarding.

    gcloud compute addresses create ADDRESS_NAME \
        --ip-version=IPV4 \
        --region=REGION \
        --subnet=SUBNETWORK
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: un nome per la risorsa dell'indirizzo IP.
    • REGION: la regione in cui creare l'indirizzo IP.
    • SUBNET: la subnet in cui creare l'indirizzo IP.

    Esegui questo comando per visualizzare l'indirizzo IP riservato. Dopo aver creato tramite il bilanciatore del carico, puoi utilizzare l'indirizzo IP per verificare configurazione.

    gcloud compute addresses describe ADDRESS_NAME \
        --format="get(address)" --region=REGION
    
  7. Crea la regola di forwarding.

    Crea la regola di forwarding utilizzando gcloud compute forwarding-rules create .

    gcloud compute forwarding-rules create FWD_RULE \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network=NETWORK \
        --address=ADDRESS_NAME \
        --ports=443 \
        --region=REGION \
        --target-https-proxy=PROXY_NAME \
        --target-https-proxy-region=PROXY_REGION \
       [--service-directory-registration=SD_SERVICE_NAME]
    

    Sostituisci quanto segue:

    • FWD_RULE: un nome per la regola di forwarding.

    • NETWORK: la rete per creare la regola di forwarding in.

    • ADDRESS_NAME: l'indirizzo IP riservato.

    • REGION: la regione per la regola di forwarding.

    • PROXY_NAME: il nome del proxy HTTPS di destinazione.

    • PROXY_REGION: la regione del proxy HTTPS di destinazione.

    • SD_SERVICE_NAME: l'URI del Servizio Service Directory su cui si vuole registrare il carico con, in questo formato: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME. La specifica di --service-directory-registration è facoltativa.

Configura i record DNS

Configura i record DNS per ciascun host che hai aggiunto alla mappa URL, puntando a l'indirizzo IP della regola di forwarding. Se utilizzi Cloud DNS per gestire DNS, consulta Aggiunta di un record DNS. Altrimenti, configurare i record DNS sul server DNS.

Ad esempio, supponiamo che tu abbia configurato un backend con quanto segue:

  • Un NEG Private Service Connect che utilizza il servizio di destinazione logging.europe-west3.rep.googleapis.com.

  • Un bilanciatore del carico delle applicazioni interno che utilizza il NEG Private Service Connect come backend.

  • Una mappa URL che definisce una regola host per logging.example.com.

Affinché questa configurazione funzioni correttamente, devi creare un record DNS che punti logging.example.com all'indirizzo IP della regola di forwarding.

Qualsiasi richiesta inviata a logging.example.com viene inviata al bilanciatore del carico, che inoltra la richiesta a logging.europe-west3.rep.googleapis.com.

Verificare la configurazione

  1. Creare l'istanza VM.

    gcloud compute instances create VM_NAME \
        --network=NETWORK \
        --image-project=debian-cloud --image-family=debian-12 \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: un nome per la macchina virtuale.

    • NETWORK: la rete per la VM.

    • ZONE: la zona per la VM.

  2. Connettiti alla VM.

    gcloud compute ssh VM_NAME --zone=ZONE
    
  3. Usa curl per verificare la configurazione. Questo comando imposta l'intestazione Host e ignora la risoluzione DNS specificando un indirizzo IP definito dall'utente. Puoi ometti la porta se utilizzi la porta predefinita per il protocollo, ad esempio utilizzando la porta 443 per HTTPS.

    Se necessario, puoi saltare la convalida del certificato utilizzando il flag -k. Potresti devi saltare la convalida se hai utilizzato un certificato autofirmato per configurare il proxy HTTPS di destinazione oppure, se la VM non dispone del certificato l'autorità di certificazione che ha firmato il certificato.

    curl [-k] -s 'https://HOST:443/RESOURCE_URI' \
       -H 'Host: HOST' \
       --connect-to HOST:443:FWD_RULE_IP_ADDRESS:443
    

    Sostituisci quanto segue:

    • HOST: il nome host configurato nella mappa URL.

    • RESOURCE_URI: il resto dell'URI della risorsa da utilizzare per la verifica. Ad esempio, se il bilanciatore del carico inoltra le richieste a un endpoint a livello di regione per Cloud Logging, potresti usare v2/entries:list.

    • FWD_RULE_IP_ADDRESS: l'indirizzo IP assegnato al risorsa di indirizzo IP riservato, ADDRESS_NAME, utilizzata nel e la configurazione regola di forwarding.

Accedi al backend da host on-premise

Se la tua rete on-premise è connessa a una rete VPC, può inviare traffico al backend Private Service Connect.

  • La rete on-premise deve essere connessa alla rete VPC contenente il bilanciatore del carico delle applicazioni interno tramite tunnel Cloud VPN Collegamenti VLAN nella stessa regione dell'Application Load Balancer interno.

  • La rete on-premise deve disporre di route appropriate al bilanciatore del carico delle applicazioni interno. Assicurati che ogni router Cloud che gestisce la sessione BGP per Il tunnel Cloud VPN o il collegamento VLAN è configurato per pubblicizzare l'intervallo di indirizzi IP principali della subnet utilizzata la regola di forwarding del bilanciatore del carico delle applicazioni interno. I router Cloud pubblicizzano la subnet route per impostazione predefinita.

  • Devi configurare i sistemi on-premise in modo che i nomi host nella mappa URL il bilanciatore del carico delle applicazioni interno si risolve all'IP della regola di forwarding del bilanciatore del carico delle applicazioni interno . Puoi creare i record DNS nei server dei nomi on-premise oppure per utilizzare Cloud DNS.

    Se hai creato i record DNS utilizzando la gestione privata gestita di Cloud DNS zone, completa i seguenti passaggi:

    • Crea un criterio del server in entrata Rete VPC a cui si connette la rete on-premise.

    • Identificare punti di ingresso dello spedizioniere in entrata, nelle regioni in cui i tunnel Cloud VPN I collegamenti VLAN si trovano nella rete VPC a cui si connette la rete on-premise.

    • Configura i server dei nomi DNS on-premise per inoltrare le richieste DNS per il nomi host nell'URL mappati a una voce del forwarding in entrata di Cloud DNS punto di accesso.

.
Figura 1. Configurando Private Service Connect, router Cloud e host on-premise, puoi connetterti API e servizi Google che usano backend regionali.