1. Introduzione
In questo codelab creerai un bilanciatore del carico delle applicazioni a livello di regione L7 e un backend Private Service Connect per ottenere l'accesso northbound a Looker. L'accesso in uscita a Looker richiede che il VPC del consumatore sia inserito nella lista consentita dell'istanza PSC di Looker.
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.
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.
Figura 2.
Cosa imparerai a fare
- Requisiti di rete
- Aggiorna la lista consentita di Looker per l'accesso in uscita
- Crea un backend Private Service Connect nel VPC consumer
- Confronto tra certificati Google e autofirmati
Che cosa ti serve
- Progetto Google Cloud con autorizzazioni di proprietario
- Dominio registrato
- Istanza PSC Looker esistente
2. Cosa creerai
Creerai una rete consumer inserita nella lista consentita, looker-psc-demo, per eseguire il deployment di un bilanciatore del carico delle applicazioni L7 esterno regionale e di un NEG di backend PSC che richiede un certificato Google o autofirmato. In entrambi i metodi è necessario un dominio registrato che corrisponda al dominio personalizzato definito in Looker.
3. Requisiti di rete
Di seguito è riportata la suddivisione dei requisiti di rete:
Componenti | Descrizione |
VPC (looker-psc-demo) | VPC in modalità personalizzata |
Subnet NEG PSC | Utilizzato per allocare un indirizzo IP per il gruppo di endpoint di rete |
Subnet solo proxy | A ogni proxy del bilanciatore del carico viene assegnato un indirizzo IP interno. I pacchetti inviati da un proxy a un endpoint o a una VM di backend hanno un indirizzo IP di origine della subnet solo proxy. |
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 PSC. |
4. Topologia del codelab
5. 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.
6. 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
7. Rete consumer
Nella sezione seguente, creerai la rete di consumo che verrà aggiornata nella lista consentita VPC di Looker PSC.
Rete VPC
In Cloud Shell, svolgi i seguenti passaggi:
gcloud compute networks create looker-psc-demo --subnet-mode custom
Creare subnet
In Cloud Shell, crea la subnet del gruppo di endpoint di rete del consumatore:
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
In Cloud Shell, crea la subnet solo proxy regionale del produttore:
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
Prenota l'indirizzo IP del bilanciatore del carico
In Cloud Shell, prenota un indirizzo IP esterno per il bilanciatore del carico:
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
In Cloud Shell, visualizza l'indirizzo IP riservato:
gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
Output di esempio:
user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
address: 35.208.202.244
8. Creare un dominio personalizzato
Per stabilire un dominio personalizzato sono necessari i seguenti passaggi:
Esempio di dominio personalizzato
Il dominio personalizzato looker.cosmopup.com esiste come sottodominio DNS pubblico associato a un record A degli indirizzi IP statici (regional-alb-static-ip) definiti in precedenza. Guarda lo screenshot di un terminale che convalida la ricerca DNS.
Poi crea il dominio del cliente utilizzando il sottodominio looker.cosmopup.com
Esempio di OAuth
Di seguito è riportato un esempio di credenziali OAuth per le origini autorizzate e il callback per il sottodominio looker.cosmopup.com.
9. Certificati
Puoi creare certificati Compute Engine o Certificate Manager. Utilizza uno dei seguenti metodi per creare certificati utilizzando Certificate Manager:
- Certificati autogestiti a livello di regione. Per informazioni sulla creazione e sull'utilizzo dei certificati autogestiti a livello di regione, vedi Eseguire il deployment di un certificato autogestito a livello di regione. Le mappe dei certificati non sono supportate.
- Certificati gestiti da Google a livello di regione. Le mappe dei certificati non sono supportate. Gestore certificati supporta i seguenti tipi di certificati gestiti da Google a livello di regione:
- Certificati gestiti a livello di regione da Google con autorizzazione DNS per progetto. Per ulteriori informazioni, vedi Eseguire il deployment di un certificato gestito da Google a livello di regione.
- Certificati (privati) gestiti da Google a livello di regione con Certificate Authority Service. Per ulteriori informazioni, vedi Eseguire il deployment di un certificato gestito da Google a livello di regione con il servizio CA.
10. Lista consentita VPC di Looker
Visualizzare le VPC consentite
Nella sezione seguente, utilizzerai l'interfaccia utente della console Cloud per visualizzare l'elenco delle VPC consentite da Looker.
In Cloud Console, vai a:
Looker → Istanza Looker → Dettagli
Nell'esempio seguente, non sono presenti voci nell'elenco VPC consentiti:
Aggiorna VPC consentite
Aggiorna l'istanza Looker per supportare l'accesso in uscita aggiungendo looker-psc-demo come VPC consentito.
In Cloud Console, vai a:
Looker → Istanza Looker → Modifica
Connessioni → VPC consentiti
Assicurati di selezionare il progetto in cui è dipiegato looker-psc-demo, seguito dal VPC looker-psc-demo e poi Continua.
Convalida le VPC consentite
Visualizza l'elenco aggiornato dei VPC consentiti
In Cloud Console, vai a:
Looker → Istanza Looker → Dettagli
11. Crea backend PSC
Looker PSC come producer di servizi genera un URI del collegamento al servizio utilizzato dai consumer di servizi per eseguire il deployment di endpoint e backend al fine di ottenere l'accesso northbound a Looker. Nel passaggio successivo, dovrai identificare l'URI del collegamento di servizio PSC di Looker, quindi creare un backend del gruppo di endpoint di rete (NEG) Private Service Connect nella VPC consumer.
Identifica il collegamento del servizio PSC di Looker
In Cloud Console, vai a e copia l'URI dell'attacco del servizio:
Looker → Istanza Looker → Dettagli
Crea il gruppo di endpoint di rete del PSC
In Cloud Shell, esegui quanto segue assicurandoti di aggiornare psc-target-service:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
Esempio:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
Convalidare la creazione del gruppo di endpoint della rete PSC
In Cloud Shell, svolgi i seguenti passaggi, assicurandoti che pscConnectionStatus sia accettato:
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
Esempio:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
Crea un bilanciatore del carico delle applicazioni a livello di regione
Nei passaggi seguenti, utilizzerai Cloud Console per creare il bilanciatore del carico delle applicazioni esterno regionale e associare i certificati generati alla configurazione del front-end.
In Cloud Console, vai a:
Servizi di rete → Bilanciamento del carico → Crea bilanciatore del carico
Seleziona le seguenti opzioni:
Creare la configurazione del frontend
Seleziona le seguenti opzioni e personalizza l'ambiente in base al tuo deployment:
- Regione utilizzata per il deployment dell'infrastruttura di rete
- La subnet solo proxy viene compilata automaticamente in base alla regione
- L'IP statico definito in precedenza è disponibile in base alla regione selezionata
Se selezioni il certificato, viene visualizzata l'opzione per utilizzare un certificato esistente o nuovo:
Carica il certificato e la chiave privata, quindi seleziona CREA:
Seleziona FINE per completare la configurazione del frontend:
Crea la configurazione del backend
Seleziona le seguenti opzioni:
Creare le regole di routing
Seleziona le seguenti opzioni (opzioni predefinite):
Esamina e finalizza
Verifica la configurazione e seleziona CREA:
Il bilanciatore del carico è ora abilitato:
Accedere all'interfaccia utente di Looker
Ora che il bilanciatore del carico è operativo, puoi accedere al tuo dominio Looker personalizzato tramite un browser web. È importante notare che potresti visualizzare un avviso a seconda del tipo di certificato utilizzato, ad esempio certificato non attendibile o attendibile.
Di seguito è riportato un esempio (certificato non attendibile) di accesso al dominio personalizzato Looker looker.cosmopup.com che ottiene l'accesso northbound all'interfaccia utente di Looker:
12. Esegui la pulizia
Eliminare i componenti del lab da un singolo terminale Cloud Shell
gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-external-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13. Complimenti
Congratulazioni, hai configurato e convalidato correttamente la connettività northbound a Looker utilizzando un dominio cliente e un bilanciatore del carico delle applicazioni esterno regionale.
Hai creato l'infrastruttura per i consumatori, hai imparato a creare un NEG PSC, un dominio personalizzato e hai conosciuto le diverse opzioni di certificato. Tante cose interessanti per iniziare a utilizzare Looker.
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
Letture e video di approfondimento
Documentazione di riferimento
- Utilizzare certificati SSL autogestiti | Load Balancing | Google Cloud
- Eseguire il deployment di un certificato gestito da Google a livello di regione
- Creare un backend Private Service Connect | VPC | Google Cloud
- Creare un backend Private Service Connect | VPC | Google Cloud
- Crea un'istanza Private Service Connect di Looker (Google Cloud core)
- Come pubblicare un servizio utilizzando Private Service Connect