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 per
servicedirectory.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:
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.
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 porte443
e80
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.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 CloudPer 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:
Nella rete VPC, crea una VM o un bilanciatore del carico interno.
Concedi il ruolo visualizzatore della directory dei servizi IAM (
roles/servicedirectory.viewer
) all'agente di servizio del Google Cloud prodotto che chiamerà l'endpoint.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
- Nella console Google Cloud, vai alla pagina Spazi dei nomi di Service Directory. Vai agli spazi dei nomi Service Directory
- Fai clic su uno spazio dei nomi.
- Fai clic su un servizio.
- Fai clic su Aggiungi endpoint.
- In Nome endpoint, inserisci un nome per l'endpoint.
- In Indirizzo IP, inserisci un indirizzo IPv4, ad esempio
192.0.2.0
. - In Porta, inserisci un numero di porta, ad esempio
443
o80
. - 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.
- 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 esempiomy-endpoint
PROJECT_ID
: l'ID del progettoREGION
: la Google Cloud regione che contiene lo spazio dei nomiNAMESPACE_NAME
: il nome assegnato allo spazio dei nomi, ad esempiomy-namespace
SERVICE_ID
: l'ID del servizioIP_ADDRESS
: l'indirizzo IP dell'endpoint, ad esempio192.0.2.0
PORT_NUMBER
: le porte su cui vengono eseguiti gli endpoint, in genere443
o80
NETWORK_PATH
: l'URL della rete, ad esempioprojects/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:
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.
Configurare la rete e la rete di destinazione
- Crea un progetto, ad esempio
myproject
. Crea una rete VPC, ad esempio
vpc-1
.Durante la creazione della rete VPC, in Modalità di creazione subnet, selezionate Automatica.
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
o80
.
- In Rete, seleziona
Nella regione
us-central1
, crea una VM, ad esempiovm-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).
- In Networking > Interfacce di rete, seleziona
Nella regione
us-central1
, crea uno spazio dei nomi, ad esempionamespace-1
.Nello spazio dei nomi, registra un servizio Service Directory, ad esempio
sd-1
.Crea un endpoint in
sd-1
. Per l'indirizzo endpoint, utilizza l'indirizzo IP interno divm-1
sulla porta443
. Per ulteriori informazioni, vedi Creare un endpoint con accesso alla rete privata.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
)
- Ruolo Visualizzatore Service Directory (
(Facoltativo) Se vuoi aggiungere altre VM, puoi configurarne un'altra, ad esempio
vm-2
, e aggiungerne l'endpoint, ad esempioendpoint-2
.
Configurare un Google Cloud prodotto
- Configura una Google Cloud configurazione del prodotto, ad esempio " Cloud Scheduler, chiamami ogni minuto".
- Configura una richiesta HTTP.
- Specifica che le richieste devono essere inviate tramite una rete privata, ad esempio tramite
sd-1
. - (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.
Configura il progetto di rete
- Crea un progetto, ad esempio
my-vpc-project
. Crea una rete VPC, ad esempio
vpc-1
.Durante la creazione della rete VPC, per Modalità di creazione subnet, selezionate Automatica.
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
o80
.
- In Rete, seleziona
Nella regione
us-central1
, crea una VM, ad esempiovm-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).
- In Networking > Interfacce di rete, seleziona
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
Crea un progetto, ad esempio
my-sd-project
.È 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.Crea un endpoint di Service Directory che punti alla VM nella rete VPC:
- Nella regione
us-central1
, crea uno spazio dei nomi, ad esempionamespace-1
. - Nello spazio dei nomi, registra un servizio Service Directory, ad esempio
sd-1
. - Crea un endpoint in
sd-1
. Per l'indirizzo endpoint, utilizza l'indirizzo IP interno divm-1
sulla porta443
. Per ulteriori informazioni, vedi Creare un endpoint con accesso alla rete privata.
- Nella regione
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
- Ruolo Visualizzatore Service Directory (
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
- Abilita l'API per il Google Cloud servizio che stai utilizzando.
- 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
- Per una panoramica di Service Directory, consulta la panoramica di Service Directory.
- Per scoprire di più su Private Service Connect, consulta Private Service Connect.
- Per trovare soluzioni ai problemi comuni che potresti riscontrare durante l'utilizzo di Service Directory, consulta la sezione Risoluzione dei problemi.