Questo tutorial spiega come, in qualità di consumer di servizi, puoi accedere al servizio pubblicato creando un endpoint Private Service Connect. Quando invii richieste all'endpoint, Private Service Connect le inoltra al servizio pubblicato.
Questo tutorial è rivolto ad architetti cloud, architetti di rete, amministratori di rete e amministratori IT.
Obiettivi
- Configura il networking per le risorse consumer di servizi
- Creazione di un endpoint
- Testa l'accesso all'endpoint
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Esegui la pulizia.
Prima di iniziare
- Completa i due tutorial precedenti di questa serie:
- Crea un servizio con bilanciamento del carico.
- Rendi il servizio accessibile da altre reti VPC. Per completare questo tutorial, devi disporre dell' ID collegamento di servizio.
- Crea o seleziona un progetto da utilizzare per le risorse del consumer di servizi.
Questo progetto è denominato
CONSUMER_PROJECT -
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Vai a IAM - Seleziona il progetto.
- Fai clic su Concedi l'accesso.
-
Nel campo Nuove entità, inserisci il tuo identificatore dell'utente. In genere si tratta dell'indirizzo email di un Account Google.
- Fai clic su Seleziona un ruolo, quindi cerca il ruolo.
- Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo successivo.
- Fai clic su Salva.
-
Configura il networking
Le sezioni seguenti spiegano come creare una rete e una subnet per ospitare l'endpoint e come creare una regola firewall per consentire l'accesso SSH alla VM client utilizzata per testare l'endpoint.
Crea una rete e una subnet
Per creare la rete e la subnet del consumer di servizi, segui questi passaggi.
Console
Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
In Nome, inserisci
consumer-network.In Modalità di creazione subnet, seleziona Personalizzata.
Nella sezione Nuova subnet, inserisci le seguenti informazioni.
- In Nome, inserisci
consumer-subnet. - In Regione, seleziona la stessa regione del servizio pubblicato che hai creato.
- In Tipo di stack IP, seleziona IPv4 (stack singolo).
- In Intervallo IPv4, inserisci
192.168.10.0/24. - Fai clic su Fine.
- In Nome, inserisci
Fai clic su Crea.
gcloud
Crea una rete VPC in modalità personalizzata:
gcloud compute networks create consumer-network --subnet-mode=custom
Nella rete
consumer-network, crea una subnet.gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --range=192.168.10.0/24 \ --region=REGIONSostituisci
REGIONcon la stessa regione del servizio pubblicato che hai creato.
Configura le regole firewall
Crea una regola firewall denominata fw-allow-ssh per consentire al traffico SSH da
0.0.0.0/0 di raggiungere le VM con il tag di rete allow-ssh.
Console
Nella console Google Cloud , vai alla pagina Policy del firewall.
Per consentire le connessioni SSH in entrata, fai clic su Crea regola firewall e utilizza le seguenti impostazioni:
- In Nome, inserisci
fw-allow-ssh. - In Rete, seleziona
consumer-network. - In Priorità, inserisci
1000. - Per Direzione del traffico, seleziona In entrata.
- In Azione in caso di corrispondenza, seleziona Consenti.
- In Destinazioni, seleziona Tag di destinazione specificati.
- In Tag di destinazione, inserisci
allow-ssh. - In Filtro di origine, seleziona Intervalli IPv4.
- In Intervalli IPv4 di origine, inserisci
0.0.0.0/0. - In Protocolli e porte, seleziona Protocolli e porte specificati,
seleziona la casella di controllo TCP. In Porte, inserisci
22.
- In Nome, inserisci
Fai clic su Crea.
gcloud
Crea la regola firewall
fw-allow-sshper consentire la connettività SSH alle VM con il tag di reteallow-ssh.gcloud compute firewall-rules create fw-allow-ssh \ --network=consumer-network \ --action=allow \ --direction=ingress \ --source-ranges=0.0.0.0/0 \ --target-tags=allow-ssh \ --rules=tcp:22
Creazione di un endpoint
Crea un endpoint che rimandi al servizio pubblicato che hai creato.
Console
Nella console Google Cloud , vai alla pagina Private Service Connect.
Fai clic sulla scheda Endpoint connessi.
Fai clic su Connetti endpoint.
In Destinazione, seleziona Servizio pubblicato.
In Servizio di destinazione, inserisci
projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service.Sostituisci
PRODUCER_PROJECTcon l'ID progetto del servizio pubblicato. SostituisciREGIONcon la regione del servizio pubblicato.In Nome endpoint, inserisci
ep-1.In Rete, seleziona
consumer-network.In Subnet, seleziona
consumer-subnet.Fai clic sul menu a discesa Indirizzo IP e seleziona Crea indirizzo IP.
- In Nome, inserisci
ep-ip-1. - In Indirizzo IP statico, seleziona Scelta manuale.
- In Indirizzo IP personalizzato, inserisci
192.168.10.5. - Fai clic su Prenota.
- In Nome, inserisci
Fai clic su Aggiungi endpoint.
gcloud
Prenota un indirizzo IP interno da assegnare all'endpoint.
gcloud compute addresses create ep-ip-1 \ --region=REGION \ --subnet=consumer-subnet \ --addresses=192.168.10.5Sostituisci
REGIONcon la stessa regione del servizio pubblicato che hai creato.Crea una regola di forwarding per connettere l'endpoint al collegamento del servizio del producer di servizi.
gcloud compute forwarding-rules create ep-1 \ --region=REGION \ --network=consumer-network \ --address=ep-ip-1 \ --target-service-attachment=projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-serviceSostituisci quanto segue:
PRODUCER_PROJECT: l'ID progetto del progetto di producer di servizi.REGION: la regione del collegamento del servizio.
Testa l'accesso all'endpoint
Per verificare che l'endpoint e il servizio pubblicato funzionino, crea una VM di test e invia una richiesta dall'endpoint.
Crea una VM client per i test
Crea una VM client nella stessa regione dell'endpoint.
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Fai clic su Crea istanza.
In Nome, inserisci
consumer-test.Per Regione, seleziona la stessa regione delle VM di backend.
In Zona, seleziona una zona in quella regione.
Fai clic su Networking e configura i seguenti campi:
- In Tag di rete, inserisci
allow-ssh. - In Interfacce di rete, seleziona quanto segue:
- In Rete, seleziona
consumer-network. - In Subnet, seleziona
consumer-subnet.
- In Rete, seleziona
- In Tag di rete, inserisci
Fai clic su Crea.
gcloud
gcloud compute instances create consumer-test \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-ssh \
--subnet=consumer-subnet
Sostituisci ZONE con una zona che si trova nella stessa regione delle VM di backend.
Testa la connettività
Questo test contatta l'endpoint da una VM client. Il comportamento previsto è che il traffico venga distribuito tra le VM di backend del bilanciatore del carico.
- Connettiti all'istanza VM client.
Sostituiscigcloud compute ssh consumer-test --zone=ZONE
ZONEcon la zona della VM client. - Invia una richiesta web all'endpoint utilizzando
curlper contattare il relativo indirizzo IP. Ripeti la richiesta per vedere che le risposte provengono da diverse VM di backend. Il nome della VM che genera la risposta viene visualizzato nel testo della risposta HTML a causa dei contenuti di/var/www/html/index.htmlsu ogni VM di backend. Ad esempio, le risposte previste sono simili aPage served from: vm-1ePage served from: vm-2.curl -s http://192.168.10.5
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina i progetti
Elimina sia il progetto produttore (PRODUCER_PROJECT) sia il progetto consumer (CONSUMER_PROJECT).
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Passaggi successivi
- Scopri di più sui servizi pubblicati di Private Service Connect
- Scopri di più sull'accesso ai servizi pubblicati tramite endpoint
- Esplora architetture, diagrammi e best practice di riferimento su Google Cloud. Consulta il nostro Cloud Architecture Center.