ALB regionale L7 esterno in direzione nord di Looker PSC

1. Introduzione

In questo codelab creerai un bilanciatore del carico delle applicazioni regionale L7 e un backend Private Service Connect per ottenere l'accesso in ingresso a Looker. L'accesso in entrata a Looker richiede che il VPC consumer sia incluso nella lista consentita dell'istanza Looker PSC.

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.

Figura 1.

145ea4672c3a3b14.png

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.

Figura 2.

259493afd914f68b.png

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
  • Certificati Google e autofirmati

Che cosa ti serve

def88091b42bfe4d.png

2. Cosa creerai

Stabilirai una rete consumer nella lista consentita, looker-psc-demo, per eseguire il deployment di un bilanciatore del carico delle applicazioni esterno L7 regionale e di un NEG 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 ognuno dei proxy del bilanciatore del carico viene assegnato un indirizzo IP interno. I pacchetti inviati da un proxy a una VM o a un endpoint di backend hanno un indirizzo IP di origine dalla 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

7f06f9b9876f76c4.png

5. Configurazione e requisiti

Configurazione dell'ambiente autonomo

  1. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 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.
  1. 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:

55efc1aaa7a4d3ad.png

Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Al termine, dovresti vedere un risultato simile a questo:

7ffe5cbb04455448.png

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.

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 il networking consumer che verrà aggiornato nella lista consentita VPC PSC di Looker.

Rete VPC

In Cloud Shell, esegui le seguenti operazioni:

gcloud compute networks create looker-psc-demo --subnet-mode custom

Crea subnet

In Cloud Shell, crea la subnet del gruppo di endpoint di rete consumer:

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. Vedi lo screenshot acquisito da un terminale che convalida la ricerca DNS.

6be44a9b2536e3f4.png

Poi crea il dominio cliente utilizzando il sottodominio looker.cosmopup.com

5424ce99136d5b3a.png

Esempio di OAuth

Di seguito è riportato un esempio di credenziali OAuth per origini e callback autorizzati per il sottodominio looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. Certificati

Puoi creare certificati Compute Engine o Certificate Manager. Utilizza uno dei seguenti metodi per creare certificati utilizzando Certificate Manager:

10. Inserimento nella lista consentita del VPC di Looker

Visualizza i VPC consentiti

Nella sezione seguente, utilizzerai la UI della console Cloud per visualizzare l'elenco delle VPC consentite di Looker.

In Cloud Console, vai a:

Looker → Istanza Looker → Dettagli

Nell'esempio riportato di seguito, non sono presenti voci nell'elenco VPC consentiti:

ad33177a2d721ea7.png

Aggiorna VPC consentiti

Aggiorna l'istanza Looker per supportare l'accesso in direzione nord aggiungendo looker-psc-demo come VPC consentito.

In Cloud Console, vai a:

Looker → Istanza Looker → Modifica

cbbc069688890b82.png

Connessioni → VPC consentiti

Assicurati di selezionare il progetto in cui è stato eseguito il deployment di looker-psc-demo, seguito da VPC looker-psc-demo, poi fai clic su Continua.

dc931643e1b220a.png

3e26d16d83cceae9.png

Convalida dei VPC consentiti

Visualizza l'elenco VPC consentiti aggiornato

In Cloud Console, vai a:

Looker → Istanza Looker → Dettagli

e34664c867929c66.png

11. Crea backend PSC

Looker PSC come producer di servizi genera un URI di collegamento al servizio utilizzato dai consumer di servizi per il deployment di endpoint e backend per ottenere l'accesso in ingresso a Looker. Nel passaggio successivo, identificherai l'URI del collegamento al servizio PSC di Looker e poi creerai un backend del gruppo di endpoint di rete (NEG) Private Service Connect nella VPC consumer.

Identificare il collegamento al servizio PSC di Looker

In Cloud Console, vai alla sezione e copia l'URI dell'allegato di servizio:

Looker → Istanza Looker → Dettagli

a253f94e946a1eef.png

Crea il gruppo di endpoint di rete PSC

In Cloud Shell, esegui le seguenti operazioni 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 di rete PSC

In Cloud Shell, esegui le seguenti operazioni, 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 regionale

Nei passaggi successivi, utilizzerai la console Cloud per creare il bilanciatore del carico delle applicazioni esterno regionale associando i certificati generati alla configurazione del front-end.

In Cloud Console, vai a:

Servizi di rete → Bilanciamento del carico → Crea bilanciatore del carico

e3474ca153d7c55a.png

Seleziona le seguenti opzioni:

63c2e656953444f2.png

Crea la configurazione frontend

Seleziona le seguenti opzioni e personalizza l'ambiente in base al deployment:

  • Regione utilizzata per il deployment dell'infrastruttura di rete
  • La subnet solo proxy viene compilata automaticamente in base alla tua regione
  • L'IP statico definito in precedenza è disponibile in base alla selezione della regione

a1c24bd4650b27d3.png

Se selezioni Certificato, viene visualizzata l'opzione per utilizzare un certificato esistente o nuovo:

aac196a6fa1ee3d5.png

Carica il certificato e la chiave privata, quindi seleziona CREA:

64a390bda0c9c3f1.png

Seleziona FINE per completare la configurazione frontend:

758a1921e3020854.png

Crea la configurazione del backend

Seleziona le seguenti opzioni:

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

Crea le regole di routing

Seleziona le seguenti opzioni (opzioni predefinite):

8884421f10a50ce0.png

Esamina e finalizza

Verifica la configurazione e seleziona CREA:

bdf5793ba8f46bb9.png

Il bilanciatore del carico è ora abilitato:

61adc0509f07ab15.png

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 che utilizzi, ad esempio certificato non attendibile e certificato attendibile.

Di seguito è riportato un esempio (certificato non attendibile) di accesso al dominio personalizzato di Looker looker.cosmopup.com che ottiene l'accesso in ingresso alla UI di Looker:

ae43d0d0d7136044.png

12. Esegui la pulizia

Elimina 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à in uscita a Looker utilizzando un dominio cliente e un bilanciatore del carico delle applicazioni esterno regionale.

Hai creato l'infrastruttura di consumo, hai imparato a creare un NEG PSC, un dominio personalizzato e hai scoperto le diverse opzioni di certificato. Tante cose entusiasmanti per iniziare a usare Looker.

Cosmopup pensa che i codelab siano fantastici.

c911c127bffdee57.jpeg

Passaggi successivi

Dai un'occhiata ad alcuni di questi codelab...

Ulteriori letture e video

Documentazione di riferimento