1. Introduzione
In questo codelab eseguirai una connessione southbound a Cloud SQL di cui è stato eseguito il deployment con Private Service Connect come produttore di servizi.
Private Service Connect è una funzionalità della rete di Google Cloud che consente ai consumer di accedere ai servizi gestiti in privato dall'interno della loro rete VPC. Analogamente, 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, sei il consumer del servizio e Google è il producer del servizio, come evidenziato nella Figura 1.
L'accesso in uscita, noto anche come PSC inverso, consente al consumer di creare un servizio pubblicato come produttore 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 è implementato Looker PSC, come evidenziato nella Figura 2.
Cosa imparerai a fare
- Crea un servizio producer di istanze Cloud SQL Private Service Connect
- Creare un endpoint Private Service Connect in Looker come consumer di servizi
Che cosa ti serve
- Progetto Google Cloud con autorizzazioni di proprietario
- Istanza PSC Looker esistente
2. Cosa creerai
Dovrai creare un'istanza PSC Cloud SQL di cui è stato eseguito il deployment come produttore di servizi associata a PSC di Looker come consumer di servizi.
Le seguenti azioni convalidano l'accesso al servizio Producer:
- Crea un endpoint PSC in Looker associato al collegamento del servizio del produttore
- Utilizza la console di Looker per creare una connessione al database a Cloud SQL PSC
- Testa la connettività al PSC Cloud SQL autenticandoti e accedendo a uno schema predefinito
3. Topologia del codelab
4. Configurazione e requisiti
Configurazione dell'ambiente a tuo ritmo
- 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 al progetto. Si tratta di una stringa di caratteri non utilizzata dalle API di Google. Puoi sempre aggiornarlo.
- L'ID progetto è univoco per tutti i progetti Google Cloud ed è immutabile (non può essere modificato dopo essere stato impostato). La console Cloud genera automaticamente una stringa univoca; di solito non ti interessa quale sia. Nella maggior parte dei codelab, dovrai fare riferimento al tuo ID progetto (in genere identificato come
PROJECT_ID
). Se l'ID generato non ti piace, puoi generarne un altro casuale. In alternativa, puoi provare il tuo e vedere se è disponibile. Non può essere modificato dopo questo passaggio e rimane invariato per tutta la durata del progetto. - Per tua informazione, esiste un terzo valore, un Numero progetto, utilizzato da alcune API. Scopri di più su tutti e tre questi valori nella documentazione.
- Successivamente, dovrai abilitare la fatturazione nella console Cloud per utilizzare le API/risorse Cloud. La partecipazione a questo codelab non ha costi, o quasi. Per arrestare le risorse ed evitare di incorrere in fatturazione al termine di questo tutorial, puoi eliminare le risorse che hai creato o il progetto. I nuovi utenti di Google Cloud sono idonei al programma Prova senza costi di 300$.
Avvia Cloud Shell
Sebbene Google Cloud possa essere utilizzato 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:
Dovrebbe richiedere solo pochi istanti per eseguire il provisioning e connettersi all'ambiente. Al termine, dovresti vedere qualcosa di simile a questo:
Questa macchina virtuale contiene 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 e l'autenticazione di rete. Tutto il lavoro in questo codelab può essere svolto in 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. Identifica il progetto PSC di Looker
La creazione di un'istanza PSC Cloud SQL 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 PSC di Looker per ottenere l'ID progetto PSC di Looker:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
Nell'output di esempio, t7ec792caf2a609d1-tp è il progetto PSC di Looker:
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 Looker PSC utilizzando la console Cloud
In Cloud Console, vai a:
Looker → Istanza PSC di Looker
7. Crea l'istanza Cloud SQL del produttore
Nella sezione seguente, creerai un'istanza PSC Cloud SQL utilizzata a scopo di test e di cui è stato eseguito il deployment con una password predefinita che specifica il progetto PSC di Looker nell'elenco dei progetti PSC consentiti.
Creazione di un PSC Cloud SQL
In Cloud Shell, crea un'istanza e abilita Private Service Connect, aggiorna [INSTANCE_PROJECT] con il tuo 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'attacco del servizio Cloud SQL
Dopo aver creato un'istanza Cloud SQL con Private Service Connect abilitato, recupera l'URI del collegamento a un servizio utilizzato in un passaggio successivo per creare l'endpoint Private Service Connect in Looker.
In Cloud Shell, svolgi i seguenti passaggi:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
L'output di esempio genera 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 a un servizio PSC Cloud SQL:
In Cloud Console, vai a:
SQL → Istanza SQL → Connessioni
8. Stabilire una connessione all'endpoint PSC in Looker
Nella sezione seguente, assocerai il collegamento a un servizio dei produttori Cloud SQL a Looker Core PSC tramite l'utilizzo dei flag –psc-service-attachment in Cloud Shell per un singolo dominio.
In Cloud Shell, crea l'associazione psc aggiornando i seguenti parametri in base 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 PSC Cloud SQL
- REGION: la regione in cui è ospitata l'istanza di Looker (Google Cloud core)
In Cloud Shell, svolgi i seguenti passaggi:
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, convalida che lo stato connectionStatus di serviceAttachments sia "ACCEPTED". Assicurati di aggiornare il valore INSTANCE_NAME del tuo 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 nella console Cloud
Dalla console Cloud puoi convalidare la connessione al PSC
In Cloud Console, vai a:
Looker → Istanza Looker → Dettagli
9. Integrare il PSC di Looker con il PSC di Cloud SQL
Nella sezione seguente utilizzerai la console di Looker per creare una connessione al database con l'istanza PSC Cloud SQL.
Vai ad AMMINISTRAZIONE → DATABASE → CONNESSIONI → seleziona AGGIUNGI CONNESSIONE.
Compila i dettagli della connessione come indicato nello screenshot di seguito, quindi seleziona COLLEGA.
La connessione è ora configurata
10. Convalida la connettività di Looker
Nella sezione seguente scoprirai come convalidare la connettività di Looker all'istanza PSC Cloud SQL utilizzando l'azione "test" di Looker.
Vai alla connessione dati AMMINISTRAZIONE → DATABASE → CONNESSIONI → cloud-sql-psc-demo → Test
Una volta selezionato Test, Looker si connette al database postgres come indicato di seguito:
Esegui la pulizia
Eliminare 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 di Looker basata su Private Service Connect.
Hai creato istanze PSC Cloud SQL come servizio di produzione e endpoint PSC di Looker che consentivano la connettività al servizio di produzione.
Cosmopup pensa che i codelab siano fantastici.
Passaggi successivi
Dai un'occhiata ad alcuni di questi codelab…
- Utilizzare Private Service Connect per pubblicare e utilizzare i servizi
- Connettersi 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