1. Introduzione
In questo codelab, eseguirai il deployment di un bilanciatore del carico del proxy TCP interno e di un gruppo di endpoint di rete (NEG) ibrido, pubblicato come servizio di produzione PSC. Il NEG sarà costituito dall'indirizzo IP e dalla porta del database self-hosted cross-cloud, ad esempio JIRA, Confluence, Sharepoint.
Private Service Connect è una funzionalità di networking di Google Cloud che consente ai consumer di accedere ai servizi gestiti privatamente dall'interno della propria rete VPC. Allo stesso modo, consente ai producer di servizi gestiti di ospitare questi servizi nella propria rete VPC o cross-cloud, offrendo una connessione privata ai propri consumer. Ad esempio, quando utilizzi Private Service Connect per accedere a un database cross-cloud, tu sei il producer di servizi e Google (Agentspace) è il consumer di servizi.
Cosa imparerai a fare
- Requisiti di rete per Agentspace
- Best practice di networking di Agentspace
- Crea un servizio producer Private Service Connect
Che cosa ti serve
- Progetto Google Cloud con autorizzazioni di proprietario
2. Cosa creerai
Creerai una rete Producer, agentspace-psc-demo, per eseguire il deployment del bilanciatore del carico proxy TCP interno e del NEG ibrido pubblicato come servizio tramite Private Service Connect (PSC).
3. Requisiti di rete
Di seguito è riportata la suddivisione dei requisiti di rete per la rete del produttore. Il consumatore in questo codelab è Agentspace.
Componenti | Descrizione |
VPC (agentspace-psc-demo) | VPC in modalità personalizzata |
Subnet NAT PSC | I pacchetti provenienti dalla rete VPC consumer vengono convertiti utilizzando il source NAT (SNAT) in modo che i loro indirizzi IP di origine originali vengano convertiti in indirizzi IP di origine dalla subnet NAT nella rete VPC del producer. PSC NAT supporta una subnet /29 per ogni collegamento del servizio. |
Subnet della regola di forwarding PSC | Utilizzato per allocare un indirizzo IP per il bilanciatore del carico del proxy TCP interno regionale.La subnet della regola di forwarding è considerata una subnet normale. |
Subnet solo proxy | A ognuno dei proxy del bilanciatore del carico viene assegnato un indirizzo IP interno. I pacchetti inviati da un proxy a una VM di backend o a un gruppo di endpoint di rete hanno un indirizzo IP di origine dalla subnet solo proxy.Una subnet /23 è consigliata , anche se è supportata la subnet minima /26. È necessaria una subnet proxy regionale per regione. |
NEG ibrido | I servizi on-premise e altri servizi cloud vengono trattati come qualsiasi altro backend di bilanciamento del carico. La differenza principale è che utilizzi un NEG di connettività ibrida per configurare gli endpoint di questi backend. Gli endpoint devono essere combinazioni IP:porta valide che il bilanciamento del carico può raggiungere utilizzando prodotti di connettività ibrida come Cloud VPN o Cloud Interconnect. |
Servizio di backend | Un servizio di backend funge da ponte tra il bilanciatore del carico e le risorse di backend. Nel tutorial, il servizio di backend è associato al NEG ibrido. |
4. Best practice
- AgentSpace supporta l'accesso cross-cloud a database self-hosted di cui è stato eseguito il deployment on-premise o di computing (ad es. AWS EC2 e VM Azure) quando vengono pubblicati come producer di servizi.
- Il traffico verso il database cross-cloud avrà origine dalla subnet proxy regionale. Pertanto, le regole firewall devono essere aggiornate per consentire questo traffico.
- Anche se la subnet solo proxy viene annunciata per impostazione predefinita dal router Cloud, verifica che la rete cross-cloud abbia appreso questa subnet.
- Verifica che la rete VPC Agentspace abbia appreso l'indirizzo IP della subnet o dell'host del database cross-cloud.
- Abilita l'accesso globale nella regola di forwarding del producer prima di creare il collegamento del servizio.
- Abilita l'accesso globale durante la creazione dell'endpoint Agentspace.
5. Topologia del codelab
6. Configurazione e requisiti
Configurazione dell'ambiente autonoma
- Accedi alla console Google Cloud e crea un nuovo progetto o riutilizzane uno esistente. Se non hai già un account Gmail o Google Workspace, devi crearne uno.
- Il nome del progetto è il nome visualizzato per i partecipanti a questo progetto. È una stringa di caratteri non utilizzata dalle API di Google. Puoi sempre aggiornarlo.
- L'ID progetto è univoco in tutti i progetti Google Cloud ed è immutabile (non può essere modificato dopo l'impostazione). La console Cloud genera automaticamente una stringa univoca, di solito non ti interessa di cosa si tratta. Nella maggior parte dei codelab, dovrai fare riferimento all'ID progetto (in genere identificato come
PROJECT_ID
). Se non ti piace l'ID generato, puoi generarne un altro casuale. In alternativa, puoi provare a crearne uno e vedere se è disponibile. Non può essere modificato dopo questo passaggio e rimane per tutta la durata del progetto. - Per tua informazione, esiste un terzo valore, un numero di progetto, utilizzato da alcune API. Scopri di più su tutti e tre questi valori nella documentazione.
- Successivamente, devi abilitare la fatturazione in Cloud Console per utilizzare le risorse/API Cloud. Completare questo codelab non costa molto, se non nulla. Per arrestare le risorse ed evitare addebiti oltre a quelli previsti da questo tutorial, puoi eliminare le risorse che hai creato o il progetto. I nuovi utenti di Google Cloud possono usufruire del programma prova senza costi di 300$.
Avvia Cloud Shell
Sebbene Google Cloud possa essere gestito da remoto dal tuo laptop, in questo codelab utilizzerai Google Cloud Shell, un ambiente a riga di comando in esecuzione nel cloud.
Nella console Google Cloud, fai clic sull'icona di Cloud Shell nella barra degli strumenti in alto a destra:
Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Al termine, dovresti vedere un risultato simile a questo:
Questa macchina virtuale è caricata con tutti gli strumenti di sviluppo di cui avrai bisogno. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud, migliorando notevolmente le prestazioni di rete e l'autenticazione. Tutto il lavoro in questo codelab può essere svolto all'interno di un browser. Non devi installare nulla.
7. Prima di iniziare
Abilita API
In Cloud Shell, assicurati che l'ID progetto sia configurato:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region
Attiva tutti i servizi necessari:
gcloud services enable compute.googleapis.com
8. Crea rete VPC producer
Rete VPC
In Cloud Shell, esegui le seguenti operazioni:
gcloud compute networks create agentspace-psc-demo --subnet-mode custom
Crea subnet
La subnet PSC verrà associata al collegamento del servizio PSC ai fini della Network Address Translation.
In Cloud Shell, crea la subnet NAT PSC:
gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
In Cloud Shell, crea la subnet della regola di forwarding del produttore:
gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access
In Cloud Shell, crea la subnet solo proxy regionale del produttore, osservata dal database cross-cloud come IP di origine.
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=agentspace-psc-demo \
--range=10.10.10.0/24
Prenota l'indirizzo IP del bilanciatore del carico
In Cloud Shell, prenota un indirizzo IP interno per il bilanciatore del carico:
gcloud compute addresses create hybrid-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
In Cloud Shell, visualizza l'indirizzo IP riservato.
gcloud compute addresses describe hybrid-neg-lb-ip \
--region=$region | grep -i address:
Output di esempio:
gcloud compute addresses describe hybrid-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
Configura il NEG ibrido
Crea un NEG ibrido e imposta –network-endpoint-type su NON_GCP_PRIVATE_IP_PORT
In Cloud Shell, crea un NEG ibrido utilizzato per accedere al database on-premise:
gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
--network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
--network=agentspace-psc-demo \
--zone=$zone
In Cloud Shell, aggiorna il NEG ibrido con IP:porta del database cross-cloud, 192.168.10.10 e porta 443 in base all'architettura di riferimento:
gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
--add-endpoint=ip=192.168.10.10,port=443 \
--zone=$zone
Crea un controllo di integrità a livello di regione
In Cloud Shell, crea un controllo di integrità che esegua il probe della porta del database on-premise, 443:
gcloud compute health-checks create tcp on-prem-443-healthcheck \
--region=$region \
--port=443
Crea policy firewall di rete e regole firewall
In Cloud Shell, esegui le seguenti operazioni:
gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy
La seguente regola firewall consente il traffico dall'intervallo di subnet NAT PSC a tutte le istanze della rete.
In Cloud Shell, esegui le seguenti operazioni:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
9. Crea servizio producer
Crea i componenti del bilanciatore del carico
In Cloud Shell, crea un servizio di backend:
gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=on-prem-443-healthcheck --health-checks-region=$region
In Cloud Shell, aggiungi il backend NEG ibrido al servizio di backend:
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=100 --region=$region
In Cloud Shell, crea un proxy TCP di destinazione per instradare le richieste al servizio di backend:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
Nella sintassi seguente, crea una regola di forwarding (bilanciatore del carico proxy TCP interno) con l'accesso globale abilitato.
In Cloud Shell, esegui le seguenti operazioni:
gcloud compute forwarding-rules create producer-hybrid-neg-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=agentspace-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=hybrid-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--allow-global-access \
--ports=443
Crea collegamento al servizio
Per pubblicare un servizio, devi creare un collegamento al servizio. Puoi pubblicare il servizio con l'approvazione automatica o esplicita.
- Per pubblicare il servizio e consentire automaticamente a qualsiasi consumatore di connettersi, segui le istruzioni riportate in Pubblicare un servizio con approvazione automatica.
- Per pubblicare il servizio con l'approvazione esplicita del consumer, nelle impostazioni di connessione del collegamento al servizio, seleziona Accetta connessioni per i progetti selezionati e lascia vuoto il campo Progetti accettati.
- Dopo aver generato l'allegato del servizio, gli endpoint consumer che richiedono l'accesso al servizio producer inizialmente entrano in uno stato in attesa. Per autorizzare la connessione, il produttore deve quindi accettare il progetto da cui ha avuto origine la richiesta dell'endpoint consumer.
In Cloud Shell, crea l'allegato di servizio cc-database1-svc-attachment con approvazione automatica:
gcloud compute service-attachments create cc-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
Successivamente, ottieni e annota l'allegato di servizio elencato nell'URI selfLink che inizia con i progetti per configurare l'endpoint PSC in Agentspace.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/cc-database1-svc-attachment
In Cloud Shell, esegui le seguenti operazioni:
gcloud compute service-attachments describe cc-database1-svc-attachment --region=$region
Output previsto di esempio:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-06T16:05:14.706-07:00'
description: ''
enableProxyProtocol: false
fingerprint: rXjeAOjb41k=
id: '1726139744351862725'
kind: compute#serviceAttachment
name: cc-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '54619734758392808'
low: '1726139744351862725'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/serviceAttachments/cc-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/forwardingRules/producer-hybrid-neg-fr
In Cloud Console, vai a:
Servizi di rete → Private Service Connect → Servizi pubblicati
10. Stabilire una connessione endpoint PSC in Agentspace
Prima di associare il Producer Service Attachment ad Agentspace, assicurati che le seguenti convalide siano completate:
- Il firewall di rete cross-cloud consente l'elenco consentito della subnet del proxy regionale.
- La rete cross-cloud ha appreso la subnet del proxy regionale.
- Il VPC Agentspace ha appreso la subnet del database cross-cloud o l'IP host.
Associa l'URI del collegamento del servizio producer ad Agentspace, assicurandoti che sia selezionato l'accesso globale. Di seguito è riportato un esempio di attivazione dell'accesso globale con l'allegato di servizio dell'architettura di riferimento.
Per finalizzare il networking privato, consulta le origini dati di terze parti di Agentspace per ulteriori istruzioni.
Convalida l'endpoint PSC in Cloud Console
Per confermare una connessione PSC riuscita tra Agentspace (il consumatore) e il produttore, verifica il progetto tenant Agentspace collegato al servizio del produttore. Puoi trovarlo in "Progetti collegati". L'ID progetto tenant viene assegnato in modo casuale, ma termina sempre con "tp".
Dalla console Cloud puoi convalidare la connessione PSC. In Cloud Console, vai a:
Servizi di rete → Private Service Connect → Servizio pubblicato, quindi seleziona il servizio cc-database1-svc-attachment.
11. Esegui la pulizia
Elimina i componenti del lab da un singolo terminale Cloud Shell
gcloud compute service-attachments delete cc-database1-svc-attachment --region=$region -q
gcloud compute forwarding-rules delete producer-hybrid-neg-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy --name=agentspace-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q
gcloud compute network-endpoint-groups delete on-prem-hybrid-neg --zone=$zone -q
gcloud compute addresses delete hybrid-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q
gcloud compute health-checks delete on-prem-443-healthcheck --region=us-central1 -q
gcloud compute networks delete agentspace-psc-demo -q
12. Complimenti
Congratulazioni, hai configurato e pubblicato correttamente un servizio producer con Private Service Connect.
Hai creato l'infrastruttura del produttore, hai imparato a creare un NEG ibrido, un servizio del produttore e ad associare l'allegato del servizio ad Agentspace.
Cosmopup pensa che i codelab siano fantastici.
Passaggi successivi
Dai un'occhiata ad alcuni di questi codelab…
- Utilizzo di Private Service Connect per pubblicare e utilizzare servizi
- Connettiti ai servizi on-premise tramite Hybrid Networking utilizzando Private Service Connect e un bilanciatore del carico proxy TCP interno
- Accesso a tutti i codelab di Private Service Connect pubblicati