1. Introduzione
In questo codelab eseguirai una connessione in uscita a Cloud SQL di cui è stato eseguito il deployment con Private Service Connect come produttore di servizi.
Private Service Connect è una funzionalità di Google Cloud Networking 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 nelle proprie reti VPC separate e di offrire una connessione privata ai propri consumer. Ad esempio, quando utilizzi Private Service Connect per accedere a Looker, tu sei il consumer di servizi e Google è il producer di servizi, come evidenziato nella Figura 1.

L'accesso in uscita, noto anche come PSC inverso, consente al consumer di creare un servizio pubblicato come producer per consentire a Looker di accedere agli endpoint on-premise, in un VPC, ai servizi gestiti e a internet. Le connessioni in uscita possono essere implementate in qualsiasi regione, indipendentemente da dove viene implementato Looker PSC, come evidenziato nella Figura 2.

Cosa imparerai a fare
- Crea un servizio producer di istanze Cloud SQL Private Service Connect
- Crea un endpoint Private Service Connect in Looker come consumer di servizi
Che cosa ti serve
- Progetto Google Cloud con autorizzazioni di proprietario
- Istanza PSC di Looker esistente

2. Cosa creerai
Creerai un'istanza Cloud SQL PSC di cui è stato eseguito il deployment come produttore di servizi associato a Looker PSC come consumer di servizi.
Le seguenti azioni convalidano l'accesso al servizio Producer:
- Crea un endpoint PSC in Looker associato al collegamento del servizio producer
- Utilizza la console Looker per creare una connessione al database a Cloud SQL PSC
- Testa la connettività a Cloud SQL PSC autenticandoti e accedendo a uno schema predefinito
3. Topologia del codelab

4. Configurazione e requisiti
Configurazione dell'ambiente autonomo
- Accedi alla console Google Cloud e crea un nuovo progetto o riutilizzane uno esistente. Se non hai ancora 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 l'ID generato non ti piace, 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 in questo tutorial, puoi eliminare le risorse che hai creato o il progetto. I nuovi utenti di Google Cloud possono beneficiare 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 per sviluppatori di cui avrai bisogno. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud, migliorando notevolmente le prestazioni e l'autenticazione della rete. Tutto il lavoro in questo codelab può essere svolto all'interno di un browser. Non devi installare nulla.
5. 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]
echo $project
echo $region
Attiva tutti i servizi necessari:
gcloud services enable compute.googleapis.com
6. Identificare il progetto PSC di Looker
La creazione di un'istanza Cloud SQL PSC richiede l'identificazione dei progetti PSC consentiti, pertanto il progetto tenant PSC di Looker deve essere fornito al momento della creazione dell'istanza Cloud SQL o aggiornato se si utilizza un'istanza esistente.
Determinare il progetto PSC di Looker utilizzando gcloud
In Cloud Shell, aggiorna [INSTANCE_NAME] con il nome dell'istanza Looker PSC per ottenere l'ID progetto Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
Nell'output di esempio, t7ec792caf2a609d1-tp è il progetto Looker PSC:
gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
Determinare il progetto PSC di Looker utilizzando Cloud Console
In Cloud Console, vai a:
Looker → Istanza Looker PSC

7. Crea l'istanza Cloud SQL del produttore
Nella sezione seguente, creerai un'istanza PSC di Cloud SQL utilizzata a scopo di test e implementata con una password predefinita che specifica il progetto PSC di Looker nell'elenco dei progetti PSC consentiti.
Creazione di Cloud SQL PSC
In Cloud Shell, crea un'istanza e abilita Private Service Connect, aggiorna [INSTANCE_PROJECT] con l'ID progetto PSC di Looker.
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Esempio:
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Ottieni l'allegato di servizio Cloud SQL
Dopo aver creato un'istanza Cloud SQL con Private Service Connect abilitato, recupera l'URI del collegamento al servizio utilizzato in un passaggio successivo per creare l'endpoint Private Service Connect in Looker.
In Cloud Shell, esegui le seguenti operazioni:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
L'output di esempio produce l'URI del collegamento al servizio:
projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
Da Cloud Console puoi ottenere il collegamento al servizio PSC Cloud SQL:
In Cloud Console, vai a:
SQL → Istanza SQL → Connessioni

8. Stabilisci una connessione dell'endpoint PSC in Looker
Nella sezione seguente, assocerai il collegamento del servizio Cloud SQL Producers a Looker Core PSC utilizzando i flag --psc-service-attachment in Cloud Shell per un singolo dominio.
In Cloud Shell, crea l'associazione PSC aggiornando i seguenti parametri in modo che corrispondano al tuo ambiente:
- INSTANCE_NAME: il nome dell'istanza di Looker (Google Cloud core).
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: URI acquisito durante la descrizione dell'istanza Cloud SQL PSC
- REGIONE: la regione in cui è ospitata l'istanza di Looker (Google Cloud core)
In Cloud Shell, esegui le seguenti operazioni:
gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION
Esempio:
gcloud looker instances update looker-psc-instance \
--psc-service-attachment domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1
In Cloud Shell, verifica che serviceAttachments.connectionStatus sia "ACCEPTED". Assicurati di eseguire l'aggiornamento con il nome dell'istanza PSC di Looker:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json
Esempio:
gcloud looker instances describe looker-psc-instance --region=$region --format=json
Esempio:
user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "looker.cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/project/locations/us-central1/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/project/global/networks/looker-psc-demo",
"projects/project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "sql.database1.com",
"targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-09-04T14:40:05.613026012Z"
}
Convalida l'endpoint PSC in Cloud Console
Dalla console Cloud puoi convalidare la connessione PSC
In Cloud Console, vai a:
Looker → Istanza Looker → Dettagli


9. Integrare Looker PSC con Cloud SQL PSC
Nella sezione seguente utilizzerai la console Looker per creare una connessione al database all'istanza Cloud SQL PSC.
Vai ad ADMIN → DATABASE → CONNECTIONS (AMMINISTRAZIONE → DATABASE → CONNESSIONI) → seleziona ADD CONNECTION (AGGIUNGI CONNESSIONE).
Compila i dettagli della connessione come nello screenshot riportato di seguito, seleziona CONNETTI

La connessione è ora configurata

10. Convalidare la connettività di Looker
Nella sezione seguente imparerai a convalidare la connettività di Looker all'istanza Cloud SQL PSC utilizzando l'azione "test" di Looker.
Vai a Data Connection ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test (AMMINISTRAZIONE → DATABASE → CONNESSIONI → cloud-sql-psc-demo → Test).
Una volta selezionato Test, Looker si connetterà al database postgres come indicato di seguito:

Esegui la pulizia
Elimina i componenti del lab da un singolo terminale Cloud Shell
gcloud sql instances delete cloud-sql-psc-demo -q
11. Complimenti
Congratulazioni, hai configurato e convalidato correttamente la connettività a Cloud SQL PSC utilizzando la console Looker basata su Private Service Connect.
Hai creato istanze Cloud SQL PSC come servizio produttore e l'endpoint Looker PSC che consentiva la connettività al servizio produttore.
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-prem tramite networking ibrido utilizzando Private Service Connect e un bilanciatore del carico proxy TCP interno
- Accesso a tutti i codelab di Private Service Connect pubblicati