Codelab sull'immutabilità di Private Service Connect

1. Introduzione

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.

Fino ad ora, una volta esposti i servizi PSC tramite un collegamento del servizio, non era possibile apportare modifiche ai bilanciatori del carico del servizio senza rimuovere il collegamento del servizio e interrompere la connettività dell'endpoint PSC consumer. Con l'introduzione della modificabilità di PSC, i producer possono aggiornare il bilanciatore del carico mantenendo la connessione dell'endpoint PSC. Il mantenimento della connessione dell'endpoint PSC al collegamento del servizio durante la modifica del bilanciatore del carico presenta il vantaggio di non richiedere alcuna azione da parte del consumer.

Al momento, la modificabilità del PSC supporta

  • Migrazione a una regola di forwarding del bilanciatore del carico dello stesso tipo (ad es. Network Passthrough a Network Passthrough)
  • Migrazione a una regola di forwarding del bilanciatore del carico di un tipo diverso (ad es. Network Passthrough to Application load balancer)

La modificabilità di PSC non supporta la modifica della regola di forwarding sul posto.

In questo lab creerai un servizio web produttore esposto tramite un bilanciatore del carico di rete passthrough interno, assicurati che il servizio abbia connettività tramite un endpoint PSC, quindi aggiorna l'associazione del collegamento al servizio a una nuova regola di forwarding a un bilanciatore del carico delle applicazioni interno.

Obiettivi didattici

  • Crea un semplice servizio web Apache esposto come servizio di produzione PSC.
  • Crea un endpoint PSC.
  • Crea una zona privata Cloud DNS per le chiamate di servizio consumer.
  • Aggiorna la regola di forwarding associata al collegamento al servizio utilizzando la modificabilità di PSC.

Che cosa ti serve

  • Un progetto Google Cloud con autorizzazioni di proprietario
  • Conoscenza di base del networking di Google Cloud

2. Ambiente di test

Tradizionalmente, i produttori e i consumatori lavorano in progetti diversi. Per semplicità, eseguiremo tutte le azioni nello stesso progetto, ma ogni passaggio verrà etichettato con i progetti Producer o Consumer nel caso in cui l'utente preferisca lavorare in progetti diversi.

Per questo lab, inizieremo creando producer-vpc con tre subnet: una per ospitare il servizio producer e la VM di test, una per le regole di forwarding del bilanciatore del carico e una subnet NAT PSC. Per scaricare i pacchetti Linux, avremo bisogno di un router Cloud e di Cloud NAT per la raggiungibilità di internet. Esporremo il nostro servizio Apache, configurato tramite un gruppo di istanze non gestite, tramite un bilanciatore del carico di rete passthrough regionale interno e assoceremo la regola di forwarding a un collegamento di servizio.

Sul lato consumer, creeremo consumer-vpc con una singola subnet per ospitare il nostro endpoint PSC e una VM client di test. Configureremo una zona privata Cloud DNS per accedere al servizio tramite un nome host.

Per mostrare la funzionalità di mutabilità di PSC, sul lato del produttore aggiungeremo due subnet aggiuntive: una per ospitare la nuova VM di servizio e una per la subnet solo proxy del bilanciatore del carico. Creeremo una nuova VM che ospita un server web Apache, configurato di nuovo tramite un gruppo di istanze non gestito, e la esporremo tramite un nuovo bilanciatore del carico delle applicazioni regionale interno. Aggiorneremo l'allegato del servizio in modo che punti alla nuova regola di inoltro e verificheremo che la connettività lato consumatore rimanga invariata.

683e2b440a0cc07f.png

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

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.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:

Attiva Cloud Shell

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

Screenshot del terminale Google Cloud Shell che mostra che l'ambiente è connesso

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.

4. 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-NAME]
export project=[YOUR-PROJECT-NAME]
export region=us-central1
export zone=$region-a
echo $project
echo $region
echo $zone

Attiva tutti i servizi necessari

gcloud services enable compute.googleapis.com
gcloud services enable dns.googleapis.com

5. Crea la rete del producer [progetto del producer]

Crea rete VPC

Da Cloud Shell

gcloud compute networks create producer-vpc \
    --subnet-mode=custom

Crea subnet

Inizieremo a eseguire il deployment di tre subnet in producer-vpc. Uno per il deployment del servizio producer, uno per le regole di forwarding del bilanciatore del carico e uno che verrà associato al collegamento del servizio PSC per la nostra subnet NAT PSC.

Da Cloud Shell

gcloud compute networks subnets create producer-service-subnet \
    --network=producer-vpc \
    --range=10.0.0.0/28 \
    --region=$region

gcloud compute networks subnets create producer-fr-subnet \
        --network=producer-vpc \
        --range=192.168.0.0/28 \
        --region=$region

gcloud compute networks subnets create psc-nat-subnet \
    --network=producer-vpc \
    --range=10.100.0.0/28 \
    --region=$region \
    --purpose=PRIVATE_SERVICE_CONNECT

Crea Cloud NAT

È necessario un Cloud NAT per installare i pacchetti appropriati per i nostri servizi di produzione.

Da Cloud Shell

gcloud compute routers create $region-cr \
    --network=producer-vpc \
    --region=$region

Da Cloud Shell

gcloud compute routers nats create $region-nat \
    --router=$region-cr \
    --region=$region \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

Crea policy e regole del firewall di rete

Da Cloud Shell

gcloud compute network-firewall-policies create producer-vpc-policy --global

gcloud compute network-firewall-policies associations create \
    --firewall-policy producer-vpc-policy \
    --network producer-vpc \
    --name network-producer-vpc \
    --global-firewall-policy

Per consentire a IAP di connettersi alle tue istanze VM, crea una regola firewall che:

  • Si applichi a tutte le istanze VM a cui vuoi accedere tramite IAP.
  • Consente il traffico in entrata dall'intervallo IP 35.235.240.0/20. Questo intervallo contiene tutti gli indirizzi IP che utilizzati da IAP per l'inoltro TCP.

Da Cloud Shell

gcloud compute network-firewall-policies rules create 1000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "SSH with IAP" \
    --direction INGRESS \
    --src-ip-ranges 35.235.240.0/20 \
    --layer4-configs tcp:22  \
    --global-firewall-policy

Inizieremo con tre regole firewall. Una consentirà l'accesso alle VM per i controlli di integrità del bilanciatore del carico (2000), una per consentire l'accesso alle VM dall'intervallo NAT PSC (3000) e una per consentire la connettività tra le VM nella subnet di servizio a scopo di test (4000). Creeremo tutte le regole per le porte 80, poiché utilizzeremo questa porta per il nostro servizio.

Da Cloud Shell

gcloud compute network-firewall-policies rules create 2000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "LB healthchecks" \
    --direction INGRESS \
    --src-ip-ranges 130.211.0.0/22,35.191.0.0/16 \
    --layer4-configs tcp:80  \
    --global-firewall-policy

gcloud compute network-firewall-policies rules create 3000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "allow access from PSC NAT subnet" \
    --direction INGRESS \
    --src-ip-ranges 10.100.0.0/28 \
    --layer4-configs tcp:80  \
    --global-firewall-policy

 gcloud compute network-firewall-policies rules create 4000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "allow access between producer service VMs and testing client for testing purposes" \
    --direction INGRESS \
    --src-ip-ranges 10.0.0.0/28 \
    --layer4-configs tcp:80 \
    --global-firewall-policy

6. Crea servizio producer [progetto producer]

Creeremo un semplice servizio web Apache utilizzando un gruppo di istanze non gestite che visualizza "I am a Producer Service".

Crea istanza

Da Cloud Shell

gcloud compute instances create producer-service-vm \
    --network producer-vpc \
    --subnet producer-service-subnet \
    --zone $zone \
    --no-address \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    a2enmod ssl
    sudo a2ensite default-ssl
    echo "I am a Producer Service." | \
    tee /var/www/html/index.html
    systemctl restart apache2'

Crea un gruppo di istanze non gestito

Da Cloud Shell

gcloud compute instance-groups unmanaged create producer-uig \
  --zone=$zone

Aggiungi producer-service-vm al gruppo di istanze non gestite che abbiamo appena creato.

Da Cloud Shell

gcloud compute instance-groups unmanaged add-instances producer-uig \
  --zone=$zone \
  --instances=producer-service-vm

Crea i componenti del bilanciatore del carico

Per la versione 1 del servizio producer, esporremo il servizio utilizzando un bilanciatore del carico di rete passthrough sulla porta 80.

Esegui il deployment del controllo di integrità per la porta 80.

Da Cloud Shell

gcloud compute health-checks create http producer-hc \
        --region=$region

Esegui il deployment del servizio di backend e aggiungi il backend al servizio di backend.

Da Cloud Shell

gcloud compute backend-services create producer-bes \
  --load-balancing-scheme=internal \
  --protocol=tcp \
  --region=$region \
  --health-checks=producer-hc \
  --health-checks-region=$region

gcloud compute backend-services add-backend producer-bes \
  --region=$region \
  --instance-group=producer-uig \
  --instance-group-zone=$zone

Crea l'indirizzo IP statico che verrà utilizzato per la regola di forwarding del bilanciatore del carico.

Da Cloud Shell

gcloud compute addresses create producer-fr-ip\
  --region $region \
  --subnet producer-fr-subnet \
  --addresses 192.168.0.2

Crea la regola di forwarding del bilanciatore del carico che espone la porta 80, utilizzando il servizio di backend e l'indirizzo IP che abbiamo creato in precedenza.

Da Cloud Shell

gcloud compute forwarding-rules create producer-fr \
  --region=$region \
  --load-balancing-scheme=internal \
  --network=producer-vpc \
  --subnet=producer-fr-subnet \
  --address=producer-fr-ip \
  --ip-protocol=TCP \
  --ports=80 \
  --backend-service=producer-bes \
  --backend-service-region=$region

7. Testa il servizio producer [progetto producer]

Crea una VM di test nella subnet producer-service-subnet, accedi alla VM e testa una chiamata al servizio Apache.

Da Cloud Shell

 gcloud compute instances create producer-test-vm \
    --zone=$zone \
    --subnet=producer-service-subnet \
    --no-address

Da Cloud Shell

gcloud compute ssh producer-test-vm \
    --zone=$zone \
    --command="curl -s 192.168.0.2/index.html"

Output previsto:

I am a Producer Service.

8. Esporre il servizio producer tramite il collegamento del servizio [progetto producer]

Crea il collegamento al servizio. Associalo alla regola di forwarding che abbiamo creato utilizzando psc-nat-subnet.

Da Cloud Shell

gcloud compute service-attachments create producer-attachment \
    --region=$region \
    --producer-forwarding-rule=producer-fr  \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=psc-nat-subnet

Devi annotare l'URI del collegamento del servizio (selfLink), in quanto ti servirà in un passaggio successivo per la configurazione dell'endpoint PSC. Puoi ottenerlo eseguendo il seguente comando in Cloud Shell.

Da Cloud Shell

gcloud compute service-attachments describe producer-attachment --region=$region

Esempio di output

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2026-02-10T07:50:04.250-08:00'
description: ''
enableProxyProtocol: false
fingerprint: xxx
id: 'xxx'
kind: compute#serviceAttachment
name: producer-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/psc-nat-subnet
pscServiceAttachmentId:
  high: 'xxx'
  low: 'xxx'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/producer-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr

Copia l'URI a partire da projects

Esempio: projects/$project/regions/$region/serviceAttachments/producer-attachment

9. Crea rete consumer [progetto consumer]

Crea rete VPC

Da Cloud Shell

gcloud compute networks create consumer-vpc \
    --subnet-mode=custom

Crea subnet

Verrà eseguito il deployment di una singola subnet in cui verrà eseguito il deployment dell'endpoint PSC e di una VM client di test.

Da Cloud Shell

gcloud compute networks subnets create consumer-subnet \
    --network=consumer-vpc \
    --range=10.0.0.0/28 \
    --region=$region

Crea policy e regole del firewall di rete

Da Cloud Shell

gcloud compute network-firewall-policies create consumer-vpc-policy --global

gcloud compute network-firewall-policies associations create \
    --firewall-policy consumer-vpc-policy \
    --network consumer-vpc \
    --name network-consumer-vpc \
    --global-firewall-policy

Configureremo anche consumer-vpc per l'utilizzo di IAP per SSH.

Da Cloud Shell

gcloud compute network-firewall-policies rules create 1000 \
    --action ALLOW \
    --firewall-policy consumer-vpc-policy \
    --description "SSH with IAP" \
    --direction INGRESS \
    --src-ip-ranges 35.235.240.0/20 \
    --layer4-configs tcp:22  \
    --global-firewall-policy

10. Crea l'endpoint Private Service Connect [progetto consumer]

Prenota l'indirizzo IP statico che verrà utilizzato per l'endpoint PSC.

Da Cloud Shell

gcloud compute addresses create psc-endpoint-ip \
    --region=$region \
    --subnet=consumer-subnet \
    --addresses 10.0.0.2

Crea l'endpoint PSC utilizzando l'indirizzo IP statico riservato e l'URI del collegamento al servizio annotato in precedenza.

Da Cloud Shell

gcloud compute forwarding-rules create psc-endpoint \
  --region=$region \
  --network=consumer-vpc \
  --address=psc-endpoint-ip \
  --target-service-attachment=projects/$project/regions/$region/serviceAttachments/producer-attachment

11. Configura una zona DNS privata per l'endpoint PSC [progetto consumer]

Utilizzando Cloud DNS, configureremo una zona DNS privata con il nome DNS myservice.com, da utilizzare con il nostro endpoint PSC.

Da Cloud Shell

gcloud dns managed-zones create "consumer-service" \
    --dns-name=myservice.com \
    --description="consumer service dns" \
    --visibility=private \
    --networks=consumer-vpc

gcloud dns record-sets transaction start \
   --zone="consumer-service"

Crea un record A per myservice.com e indirizzalo all'indirizzo IP dell'endpoint PSC.

Da Cloud Shell

gcloud dns record-sets transaction add 10.0.0.2 \
   --name=myservice.com \
   --ttl=300 \
   --type=A \
   --zone="consumer-service"

gcloud dns record-sets transaction execute \
   --zone="consumer-service"

12. Testa l'endpoint PSC [progetto consumer]

Crea una VM client

Da Cloud Shell

gcloud compute instances create consumer-client-vm \
    --zone=$zone \
    --subnet=consumer-subnet \
    --no-address

Verificare la connettività dell'endpoint PSC

Da Cloud Shell

gcloud compute ssh consumer-client-vm \
    --zone=$zone \
    --command="curl -s myservice.com/index.html"

Output previsto:

I am a Producer Service.

Nella parte successiva del codelab, creeremo ed eseguiremo la migrazione al nuovo servizio di produzione, mostrando la funzionalità di mutabilità di PSC che consente questo aggiornamento senza interruzioni senza richiedere aggiornamenti alla configurazione lato consumer.

13. Crea servizio di producer aggiornato [progetto producer]

Per aggiornare il nostro servizio producer, eseguiremo il deployment di una nuova VM che esegue un server web Apache simile con il messaggio "I am a NEW Producer service". Aggiungeremo questa VM a un nuovo gruppo di istanze non gestite e utilizzeremo questo gruppo di istanze non gestite come backend per il nostro nuovo bilanciatore del carico. Anziché utilizzare un bilanciatore del carico di rete passthrough, aggiorneremo il nostro bilanciatore del carico a un bilanciatore del carico delle applicazioni interno regionale.

Aggiornare l'emittente

Crea una nuova subnet che verrà utilizzata per la subnet solo proxy per il bilanciatore del carico delle applicazioni.

Da Cloud Shell

gcloud compute networks subnets create lb-proxy-subnet \
    --network=producer-vpc \
    --range=10.200.0.0/24 \
    --region=$region \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE

Crea una nuova subnet in cui verrà ospitato il nuovo servizio.

Da Cloud Shell

gcloud compute networks subnets create producer-service-new-subnet \
    --network=producer-vpc \
    --range=10.0.1.0/28 \
    --region=$region

Crea una nuova regola firewall che consenta la connettività al nostro nuovo servizio di produzione dalla subnet solo proxy.

Da Cloud Shell

 gcloud compute network-firewall-policies rules create 3001 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "allow access from proxy only subnet" \
    --direction INGRESS \
    --src-ip-ranges 10.200.0.0/24 \
    --layer4-configs tcp:80  \
    --global-firewall-policy

Crea istanza

Da Cloud Shell

gcloud compute instances create new-producer-service-vm \
    --network producer-vpc \
    --subnet producer-service-new-subnet \
    --zone $zone \
    --no-address \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    a2enmod ssl
    sudo a2ensite default-ssl
    echo "I am a NEW Producer Service." | \
    tee /var/www/html/index.html
    systemctl restart apache2'

Crea un gruppo di istanze non gestito

Da Cloud Shell

gcloud compute instance-groups unmanaged create producer-new-uig \
  --zone=$zone

gcloud compute instance-groups unmanaged add-instances producer-new-uig \
  --zone=$zone \
  --instances=new-producer-service-vm

gcloud compute instance-groups unmanaged set-named-ports producer-new-uig \
    --named-ports=http:80 \
    --zone=$zone

Crea nuovi componenti del bilanciatore del carico

Crea il servizio di backend. Tieni presente che stiamo utilizzando lo schema di bilanciamento del carico INTERNAL_MANAGED perché stiamo eseguendo l'aggiornamento a un bilanciatore del carico delle applicazioni interno.

Da Cloud Shell

gcloud compute backend-services create producer-new-bes \
  --load-balancing-scheme=INTERNAL_MANAGED \
  --protocol=http \
  --region=$region \
  --health-checks=producer-hc \
  --health-checks-region=$region

Aggiungi il gruppo di istanze non gestite come backend al servizio di backend.

Da Cloud Shell

gcloud compute backend-services add-backend producer-new-bes \
  --region=$region \
  --instance-group=producer-new-uig \
  --instance-group-zone=$zone

Crea la mappa URL e i proxy HTTP di destinazione.

Da Cloud Shell

gcloud compute url-maps create producer-url-map \
  --default-service=producer-new-bes \
  --region=$region

gcloud compute target-http-proxies create http-proxy \
  --url-map=producer-url-map \
  --region=$region

Crea l'indirizzo IP statico che utilizzeremo per la regola di forwarding. Questo indirizzo proviene dalla stessa subnet utilizzata per la regola di forwarding originale.

Da Cloud Shell

gcloud compute addresses create producer-fr-new-ip\
  --region $region \
  --subnet producer-fr-subnet \
  --addresses 192.168.0.3

Crea la regola di forwarding.

Da Cloud Shell

gcloud compute forwarding-rules create new-producer-fr \
  --load-balancing-scheme=INTERNAL_MANAGED \
  --network=producer-vpc \
  --subnet=producer-fr-subnet \
  --address=producer-fr-new-ip \
  --ports=80 \
  --region=$region \
  --target-http-proxy=http-proxy \
  --target-http-proxy-region=$region

14. Testa il servizio producer aggiornato [progetto producer]

Utilizzeremo la stessa VM di test che abbiamo creato per testare il servizio di cui è stato eseguito il deployment originariamente.

Da Cloud Shell

gcloud compute ssh producer-test-vm \
    --zone=$zone \
    --command="curl -s 192.168.0.3/index.html"

Tieni presente che stiamo chiamando un indirizzo IP aggiornato. 192.168.0.3 è l'indirizzo IP del nostro bilanciatore del carico delle applicazioni interno regionale.

Output previsto:

I am a NEW Producer Service.

15. Aggiorna il collegamento del servizio [progetto producer]

Per visualizzare meglio l'aggiornamento alla regola di forwarding dell'allegato di servizio, possiamo eseguire un comando describe sull'allegato di servizio prima e dopo la modifica.

Da Cloud Shell

gcloud compute service-attachments describe producer-attachment \
    --region=$region \
    --format="value(targetService)"

Output previsto:

https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr

Aggiorna il collegamento del servizio.

Da Cloud Shell

gcloud compute service-attachments update producer-attachment \
  --region=$region \
  --target-service=projects/$project/regions/$region/forwardingRules/new-producer-fr

Ora esegui di nuovo la descrizione per visualizzare la nuova regola di inoltro.

Da Cloud Shell

gcloud compute service-attachments describe producer-attachment \
    --region=$region \
    --format="value(targetService)"

Output previsto:

https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/new-producer-fr

16. Esegui di nuovo il test della connessione PSC consumer [progetto consumer]

Accedi allo stesso client consumer.

Da Cloud Shell

gcloud compute ssh consumer-client-vm \
    --zone=$zone \
    --command="curl -s myservice.com/index.html"

Output previsto:

 I am a NEW Producer Service.

Complimenti! Hai aggiornato correttamente un bilanciatore del carico del servizio produttore PSC e non sono state necessarie modifiche alla configurazione lato consumer.

17. Procedura di pulizia [progetto consumer]

Elimina i componenti del lab da un singolo terminale Cloud Shell

gcloud dns record-sets delete myservice.com --zone="consumer-service" --type=A -q

gcloud dns managed-zones delete "consumer-service" -q

gcloud compute forwarding-rules delete psc-endpoint --region=$region -q

gcloud compute addresses delete psc-endpoint-ip --region=$region -q

gcloud compute instances delete consumer-client-vm --zone=$zone --project $project -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy consumer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=consumer-vpc-policy  --name=network-consumer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q

gcloud compute networks subnets delete consumer-subnet --region $region -q

gcloud compute networks delete consumer-vpc -q

18. Procedura di pulizia [progetto producer]

Elimina i componenti del lab da un singolo terminale Cloud Shell

gcloud compute service-attachments delete producer-attachment --region=$region -q

gcloud compute instances delete producer-test-vm --zone=$zone --project $project -q

gcloud compute forwarding-rules delete new-producer-fr --region=$region -q

gcloud compute addresses delete producer-fr-new-ip --region $region -q

gcloud compute target-http-proxies delete http-proxy --region $region -q

gcloud compute url-maps delete producer-url-map --region $region -q

gcloud compute backend-services delete producer-new-bes --region $region -q

gcloud compute instance-groups unmanaged delete producer-new-uig --zone $zone -q

gcloud compute instances delete new-producer-service-vm --zone $zone --project $project -q

gcloud compute networks subnets delete producer-service-new-subnet --region $region -q

gcloud compute networks subnets delete lb-proxy-subnet --region $region -q

gcloud compute forwarding-rules delete producer-fr --region=$region -q

gcloud compute addresses delete producer-fr-ip --region $region -q

gcloud compute backend-services delete producer-bes --region $region -q

gcloud compute health-checks delete producer-hc --region $region -q

gcloud compute instance-groups unmanaged delete producer-uig --zone $zone -q

gcloud compute instances delete producer-service-vm --zone $zone --project $project -q

gcloud compute network-firewall-policies rules delete 4000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 3001 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 3000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=producer-vpc-policy  --name=network-producer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete producer-vpc-policy --global -q

gcloud compute routers nats delete $region-nat --router=$region-cr --region=$region -q

gcloud compute routers delete $region-cr --region=$region -q

gcloud compute networks subnets delete psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-fr-subnet --region=$region -q

gcloud compute networks subnets delete producer-service-subnet --region=$region -q

gcloud compute networks delete producer-vpc -q

19. Complimenti!

Congratulazioni per aver completato il codelab.

Argomenti trattati

  • Crea un semplice servizio web Apache esposto come servizio di produzione PSC.
  • Crea un endpoint PSC.
  • Crea una zona privata Cloud DNS per le chiamate di servizio consumer.
  • Aggiorna la regola di forwarding associata al collegamento al servizio utilizzando la modificabilità di PSC.