Configurare l'accesso alla rete privata

Questa pagina descrive come configurare l'accesso alla rete privata e instradare il traffico all'interno di una Google Cloud rete.

Per configurare l'accesso alla rete privata, devi configurare tre progetti:

  • Un progetto che include un Virtual Private Cloud (VPC) e un'istanza di macchina virtuale (VM) di destinazione.
  • Un progetto che funge da progetto di servizio Service Directory.
  • Un progetto per un Google Cloud prodotto con la configurazione che invoca l'accesso alla rete privata. Un esempio di Google Cloud prodotto che può chiamare gli endpoint utilizzando l'accesso alla rete privata è Dialogflow CX.

Gli elementi dei progetti possono trovarsi nello stesso progetto o in progetti diversi.

Prima di iniziare

Prima di configurare l'accesso alla rete privata, completa i seguenti passaggi:

  • Per ogni progetto, nella console Google Cloud, nella pagina API e Servizi, fai clic su Attiva API e servizi per attivare le API che vuoi utilizzare, inclusa l'API Service Directory.

  • Per collegare la rete VPC agli host on-premise, crea un tunnel Cloud VPN o una connessione Cloud Interconnect.

  • Assicurati che il progetto Google Cloud rientri nel perimetro di VPC Service Controls sia del progetto di rete sia del progetto Service Directory perservicedirectory.googleapis.com.

    Scopri di più sui Controlli di servizio VPC.

Configura il progetto per la rete VPC

Per configurare il progetto per la rete VPC:

  1. Crea una rete VPC. Se vuoi utilizzare una rete VPC esistente, assicurati che supporti le subnet in modalità automatica o personalizzata. Le reti legacy non sono supportate.

  2. Se la destinazione della rete VPC è una VM Compute Engine o un backend del bilanciatore del carico interno, configura una regola del firewall della rete VPC. Crea regole firewall per consentire il traffico TCP in entrata da 35.199.192.0/19 sulla porta in cui è in ascolto la destinazione. Le porte 443 e 80 sono le più comuni, ma puoi utilizzare qualsiasi porta. Tieni presente che per impostazione predefinita, le regole firewall della rete VPC bloccano le connessioni in entrata alle VM Compute Engine.

    Per ulteriori informazioni su 35.199.192.0/19, consulta Percorsi per Cloud DNS e Service Directory.

  3. Concedi il ruolo di servizio autorizzato Private Service Connect (roles/servicedirectory.pscAuthorizedService) di Identity and Access Management (IAM) all'agente di servizio del prodotto che chiamerà l'endpoint. Google Cloud

    Per ulteriori informazioni su ruoli e autorizzazioni, consulta Ruoli e autorizzazioni di Service Directory.

Configura il progetto Service Directory

Per configurare il progetto Directory dei servizi:

  1. Nella rete VPC, crea una VM o un bilanciatore del carico interno.

  2. Concedi il ruolo visualizzatore della directory dei servizi IAM (roles/servicedirectory.viewer) all'agente di servizio del Google Cloud prodotto che chiamerà l'endpoint.

  3. Crea uno spazio dei nomi e un servizio Service Directory. Quindi, crea un endpoint per questo servizio seguendo i passaggi descritti nella sezione successiva.

Creare un endpoint con accesso alla rete privata

Per creare un endpoint con l'accesso alla rete privata configurato:

Console

  1. Nella console Google Cloud, vai alla pagina Spazi dei nomi di Service Directory. Vai agli spazi dei nomi Service Directory
  2. Fai clic su uno spazio dei nomi.
  3. Fai clic su un servizio.
  4. Fai clic su Aggiungi endpoint.
  5. In Nome endpoint, inserisci un nome per l'endpoint.
  6. In Indirizzo IP, inserisci un indirizzo IPv4, ad esempio 192.0.2.0.
  7. In Porta, inserisci un numero di porta, ad esempio 443 o 80.
  8. Per abilitare l'accesso alla rete privata, in Rete VPC associata, seleziona l'opzione richiesta:
    • Per scegliere una rete da un elenco di reti disponibili, fai clic su Scegli dall'elenco e seleziona la rete.
    • Per specificare un progetto e una rete, fai clic su Specifica tramite un progetto e un nome di rete, quindi inserisci il numero di progetto e il nome della rete.
  9. Fai clic su Crea.

gcloud

Utilizza il comando gcloud service-directory endpoints create con l'ID progetto e il percorso di rete specificati.

gcloud service-directory endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--namespace=NAMESPACE_NAME \
--service=SERVICE_ID \
--address=IP_ADDRESS \
--port=PORT_NUMBER \
--network=NETWORK_PATH

Sostituisci quanto segue:

  • ENDPOINT_NAME: un nome per l'endpoint che stai creando nel servizio, ad esempio my-endpoint
  • PROJECT_ID: l'ID del progetto
  • REGION: la Google Cloud regione che contiene lo spazio dei nomi
  • NAMESPACE_NAME: il nome assegnato allo spazio dei nomi, ad esempio my-namespace
  • SERVICE_ID: l'ID del servizio
  • IP_ADDRESS: l'indirizzo IP dell'endpoint, ad esempio 192.0.2.0
  • PORT_NUMBER: le porte su cui vengono eseguiti gli endpoint, in genere 443 o 80
  • NETWORK_PATH: l'URL della rete, ad esempio projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Configura il Google Cloud progetto del prodotto

Per configurare il Google Cloud progetto del prodotto, segui questi passaggi:

  1. Attiva l' Google Cloud API di prodotto.

  2. Configura il tuo Google Cloud prodotto in modo che chiami il servizio Directory dei servizi che hai creato. I passaggi richiesti dipendono dal prodottoGoogle Cloud specifico.

Casi d'uso

Questa sezione fornisce casi d'uso di esempio per la configurazione dell'accesso alla rete privata.

Chiama un endpoint HTTP quando una rete VPC, una VM e Service Directory si trovano nello stesso progetto

In questo caso d'uso, configuri Dialogflow CX, un Google Cloud prodotto per l'elaborazione del linguaggio naturale, per chiamare un endpoint HTTP sulla tua VM. Durante la chiamata dell'endpoint, assicurati che il traffico non transiti sulla rete internet pubblica.

In questo caso d'uso, crei i seguenti elementi nello stesso progetto:

  • Una rete VPC
  • Una VM
  • Un servizio Service Directory
  • Dialogflow CX

La Figura 1 mostra come consentire a una configurazione del servizio Google di un progetto di eseguire l'egress in una VM. La VM si trova in una rete VPC del progetto.

Consenti a una configurazione del servizio Google di un progetto di uscire in una VM del progetto di rete.
Figura 1. Consenti a una configurazione del servizio Google di un progetto di eseguire l'egress su una VM (fai clic per ingrandire).

Configurare la rete e la rete di destinazione

  1. Crea un progetto, ad esempio myproject.
  2. Crea una rete VPC, ad esempiovpc-1.

    Durante la creazione della rete VPC, in Modalità di creazione subnet, selezionate Automatica.

  3. Crea una regola firewall, come firewall-1.

    Durante la creazione della regola firewall, inserisci o seleziona i seguenti valori:

    • In Rete, seleziona vpc-1.
    • In Intervalli IPv4 di origine, inserisci 35.199.192.0/19.
    • In Protocolli e porte, seleziona TCP e inserisci 443 o 80.
  4. Nella regione us-central1, crea una VM, ad esempio vm-1.

    Durante la creazione della VM, inserisci o seleziona i seguenti valori:

    • In Networking > Interfacce di rete, seleziona vpc-1.
    • Per Firewall, seleziona Consenti traffico HTTP.

    Se vuoi utilizzare HTTPS, seleziona Consenti traffico HTTPS. Inoltre, assicurati di installare un certificato TLS (Transport Layer Security) dell'infrastruttura a chiave pubblica (PKI).

  5. Nella regione us-central1, crea uno spazio dei nomi, ad esempio namespace-1.

  6. Nello spazio dei nomi, registra un servizio Service Directory, ad esempio sd-1.

  7. Crea un endpoint in sd-1. Per l'indirizzo endpoint, utilizza l'indirizzo IP interno di vm-1 sulla porta 443. Per ulteriori informazioni, vedi Creare un endpoint con accesso alla rete privata.

  8. Concedi i seguenti ruoli IAM all'agente di servizio del Google Cloud prodotto che chiamerà l'endpoint:

    • Ruolo Visualizzatore Service Directory (roles/servicedirectory.viewer)
    • Ruolo Private Service Connect Authorized Service (roles/servicedirectory.pscAuthorizedService)
  9. (Facoltativo) Se vuoi aggiungere altre VM, puoi configurarne un'altra, ad esempio vm-2, e aggiungerne l'endpoint, ad esempio endpoint-2.

Configurare un Google Cloud prodotto

  1. Configura una Google Cloud configurazione del prodotto, ad esempio " Cloud Scheduler, chiamami ogni minuto".
  2. Configura una richiesta HTTP.
  3. Specifica che le richieste devono essere inviate tramite una rete privata, ad esempio tramite sd-1.
  4. (Facoltativo) Configura le impostazioni del servizio di autorità di certificazione.

Il Google Cloud prodotto ora può richiamare la richiesta HTTP utilizzando sd-1.

Chiamare un endpoint HTTP quando una rete VPC condivisa, una VM e Service Directory si trovano in progetti diversi

In questo caso d'uso, configuri Dialogflow CX, un Google Cloud servizio per l'elaborazione del linguaggio naturale, per chiamare un endpoint HTTP sulla tua VM. Durante la chiamata all'endpoint, assicurati che il traffico non transiti sulla rete internet pubblica.

In questo caso d'uso, crei i seguenti elementi in progetti diversi:

  • Una rete VPC condivisa
  • Una VM
  • Un servizio Service Directory
  • Dialogflow CX

Prima di creare i progetti, tieni presente quanto segue:

  • Assicurati che l'invocazione dell'API rispetti il perimetro dei Controlli di servizio VPC.
  • Assicurati che la configurazione del Google Cloud progetto di servizio consenta l'uscita a una VM che si trova nel progetto della rete VPC.
  • Il progetto producer potrebbe non essere uguale al progetto Google Cloud service.
  • Assicurati che vengano utilizzati i perimetri di Controlli di servizio VPC di entrambi i progetti.
  • Il progetto Service Directory e il progetto di rete non devono essere collegati, ma devono entrambi far parte dello stesso VPC Service Controls.
  • Nella rete e nel servizio, il firewall e IAM sono disabilitati per impostazione predefinita.

La Figura 2 mostra come puoi inviare traffico utilizzando l'accesso alla rete privata con i perimetri dei Controlli di servizio VPC applicati.

Invia traffico utilizzando l'accesso alla rete privata con i perimetri impostati per i Controlli di servizio VPC.
Figura 2. Invia traffico utilizzando l'accesso alla rete privata con i perimetri dei Controlli di servizio VPC applicati (fai clic per ingrandire).

Configura il progetto di rete

  1. Crea un progetto, ad esempio my-vpc-project.
  2. Crea una rete VPC, ad esempiovpc-1.

    Durante la creazione della rete VPC, per Modalità di creazione subnet, selezionate Automatica.

  3. Crea una regola firewall, come firewall-1.

    Durante la creazione della regola, inserisci o seleziona i seguenti valori:

    • In Rete, seleziona vpc-1.
    • In Intervalli IPv4 di origine, inserisci 35.199.192.0/19.
    • In Protocolli e porte, seleziona TCP e inserisci 443 o 80.
  4. Nella regione us-central1, crea una VM, ad esempio vm-1.

    Durante la creazione della VM, inserisci o seleziona i seguenti valori:

    • In Networking > Interfacce di rete, seleziona vpc-1.
    • Per Firewall, seleziona Consenti traffico HTTP.

    Se vuoi utilizzare HTTPS, seleziona Consenti traffico HTTPS. Inoltre, assicurati di installare un certificato TLS (Transport Layer Security) dell'infrastruttura a chiave pubblica (PKI).

Se utilizzi Controlli di servizio VPC, il perimetro di Controlli di servizio VPC consente a Service Directory di connettersi sia al Google Cloud progetto di servizio sia al progetto Service Directory.

Configura il progetto Service Directory

  1. Crea un progetto, ad esempio my-sd-project.

  2. È necessaria un'autorizzazione IAM aggiuntiva perché il progetto di rete VPC e il progetto della directory dei servizi sono progetti diversi.

    Dal progetto di rete, concedi il ruolo Service Directory Network Attacher (roles/servicedirectory.networkAttacher) all'entità IAM che crea l'endpoint di Service Directory.

  3. Crea un endpoint di Service Directory che punti alla VM nella rete VPC:

    1. Nella regione us-central1, crea uno spazio dei nomi, ad esempio namespace-1.
    2. Nello spazio dei nomi, registra un servizio Service Directory, ad esempio sd-1.
    3. Crea un endpoint in sd-1. Per l'indirizzo endpoint, utilizza l'indirizzo IP interno di vm-1 sulla porta 443. Per ulteriori informazioni, vedi Creare un endpoint con accesso alla rete privata.
  4. Concedi i seguenti ruoli IAM all'agente di servizio del Google Cloud prodotto che chiamerà l'endpoint:

    • Ruolo Visualizzatore Service Directory (roles/servicedirectory.viewer) nel progetto Service Directory
    • Ruolo Private Service Connect Authorized Service (roles/servicedirectory.pscAuthorizedService) nel progetto di rete

Se utilizzi Controlli di servizio VPC, il perimetro di Controlli di servizio VPC consente a Service Directory di connettersi sia al Google Cloud progetto di servizio sia al progetto Service Directory.

Configura il Google Cloud progetto di servizio

  1. Abilita l'API per il Google Cloud servizio che stai utilizzando.
  2. Per configurare il Google Cloud servizio PUSH, utilizza il servizio Service Directory dal progetto Service Directory.

Se utilizzi Controlli di servizio VPC, il perimetro di Controlli di servizio VPC consente a Service Directory di connettersi sia al progetto di rete sia al progetto Service Directory.

Utilizzare l'accesso alla rete privata di Service Directory con Dialogflow

Per istruzioni su come utilizzare l'accesso a una rete privata di Service Directory con Dialogflow, consulta Utilizzare Service Directory per l'accesso a una rete privata.

Passaggi successivi