arrow_back

Implementazione dell'accesso privato Google e di Cloud NAT

Accedi Partecipa
Accedi a oltre 700 lab e corsi

Implementazione dell'accesso privato Google e di Cloud NAT

Lab 1 ora 20 minuti universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

Panoramica

In questo lab, implementerai l'accesso privato Google e Cloud NAT per un'istanza VM che non ha un indirizzo IP esterno. Quindi, verificherai l'accesso agli indirizzi IP pubblici delle API e dei servizi di Google e altre connessioni a internet.

Le istanze VM senza indirizzi IP esterni sono isolate dalle reti esterne. Utilizzando Cloud NAT, queste istanze possono accedere a internet per aggiornamenti e patch e, in alcuni casi, per il bootstrap. Come servizio gestito, Cloud NAT offre alta affidabilità senza gestione e intervento da parte dell'utente.

Obiettivi

In questo lab, imparerai a eseguire le attività seguenti:

  • Configurare un'istanza VM senza indirizzi IP esterni
  • Connetterti a un'istanza VM utilizzando un tunnel Identity-Aware Proxy (IAP)
  • Abilitare l'accesso privato Google su una subnet
  • Configurare un gateway Cloud NAT
  • Verificare l'accesso agli indirizzi IP pubblici delle API e dei servizi di Google e altre connessioni a internet

Configurazione e requisiti

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  1. Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Il pulsante Apri console Google Cloud
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).

    Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.

    Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.

    Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
  3. Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.

    {{{user_0.username | "Username"}}}

    Puoi trovare il Nome utente anche nel riquadro Dettagli lab.

  4. Fai clic su Avanti.

  5. Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.

    {{{user_0.password | "Password"}}}

    Puoi trovare la Password anche nel riquadro Dettagli lab.

  6. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  7. Fai clic nelle pagine successive:

    • Accetta i termini e le condizioni.
    • Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
    • Non registrarti per le prove gratuite.

Dopo qualche istante, la console Google Cloud si apre in questa scheda.

Nota: per visualizzare un menu con un elenco di prodotti e servizi Google Cloud, fai clic sul menu di navigazione in alto a sinistra oppure digita il nome del servizio o del prodotto nel campo di ricerca. Icona menu di navigazione

Attività 1: crea l'istanza VM

Crea una rete VPC con alcune regole firewall e un'istanza VM senza indirizzi IP esterni e connettila all'istanza utilizzando un tunnel IAP.

Crea una rete VPC e delle regole firewall

In primo luogo, crea una rete VPC per l'istanza VM e una regola firewall per consentire l'accesso SSH.

  1. Nel menu di navigazione (Icona menu di navigazione) della console Google Cloud, fai clic su Rete VPC > Reti VPC.

  2. Fai clic su Crea rete VPC.

  3. Come Nome, digita privatenet.

  4. In Modalità di creazione subnet, fai clic su Personalizzata.

  5. In Nuova subnet specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome privatenet-us
    Regione
    Intervallo di indirizzi IPv4 10.130.0.0/20
Nota: non abilitare ancora l'accesso privato Google.
  1. Fai clic su Fine.

  2. Fai clic su Crea e aspetta che la rete venga creata.

  3. Nel riquadro a sinistra, fai clic su Firewall.

  4. Fai clic su Crea regola firewall.

  5. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome privatenet-allow-ssh
    Rete privatenet
    Destinazioni Tutte le istanze nella rete
    Filtro di origine Intervalli IPv4
    Intervalli IPv4 di origine 35.235.240.0/20
    Protocolli e porte Protocolli e porte specificati
  6. Per tcp, fai clic sulla casella di controllo e specifica la porta 22.

  7. Fai clic su Crea.

Nota: per connetterti all'istanza privata mediante SSH, devi aprire una porta appropriata nel firewall. Le connessioni IAP provengono da un insieme specifico di indirizzi IP (35.235.240.0/20). Pertanto puoi limitare la regola a questo intervallo CIDR.

Crea l'istanza VM senza indirizzi IP pubblici

  1. Nel menu di navigazione (Icona menu di navigazione) della console Google Cloud, fai clic su Compute Engine > Istanze VM.

  2. Fai clic su Crea istanza.

  3. Nella pagina Configurazione macchina, specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome vm-internal
    Regione
    Zona
    Serie E2
    Tipo di macchina e2-medium (2 vCPU, 1 core, 4 GB di memoria)
  4. Fai clic su Sistema operativo e spazio di archiviazione.

  5. Se l'immagine mostrata non è Debian GNU/Linux 12 (bookworm), fai clic su Cambia e seleziona Debian GNU/Linux 12 (bookworm), quindi fai clic su Seleziona.

  6. Fai clic su Networking.

  7. In Interfacce di rete, modifica l'interfaccia di rete specificando quanto segue:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Rete privatenet
    Subnet privatenet-us
    Indirizzo IPv4 esterno Nessuno
Nota: l'impostazione predefinita per un'istanza VM prevede la presenza di un indirizzo IP esterno temporaneo. Questo comportamento può essere modificato con un vincolo di policy a livello di organizzazione o di progetto. Per saperne di più sul controllo degli indirizzi IP esterni sulle istanze VM, fai riferimento alla documentazione relativa agli indirizzi IP esterni.
  1. Fai clic su Fine.
  2. Fai clic su Crea e attendi la creazione dell'istanza VM.
  3. Nella pagina Istanze VM, verifica che l'IP esterno di vm-internal sia Nessuno.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea l'istanza VM

Accedi a vm-internal mediante SSH per testare il tunnel IAP

  1. Nella console Cloud, fai clic su Attiva Cloud Shell (Cloud Shell).

  2. Se richiesto, fai clic su Continua.

  3. Esegui questo comando in Cloud Shell per configurare l'autenticazione senza aprire un browser.

    gcloud auth login --no-launch-browser

    Se richiesto di scegliere [Y/n], premi Y, quindi Invio.

    Questo ti darà un link da aprire nel tuo browser. Apri il link nello stesso browser in cui hai effettuato l'accesso all'account qwiklabs. Una volta effettuato il login riceverai un codice di verifica da copiare. Incolla questo codice in Cloud Shell.

  4. Per connetterti a vm-internal, esegui questo comando:

gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
  1. Se richiesto, fai clic su Autorizza.
  2. Se viene richiesto per continuare, digita Y.
  3. Quando ti viene richiesta una passphrase, premi Invio.
  4. Quando ti viene richiesta la stessa passphrase, premi Invio.

  1. Per testare la connettività esterna di vm-internal, esegui il comando seguente:
ping -c 2 www.google.com

Questo comando non dovrebbe funzionare perché vm-internal non ha indirizzi IP esterni.

  1. Attendi il completamento del comando ping.
  2. Per tornare all'istanza di Cloud Shell, esegui il comando seguente:
exit Nota: se le istanze non hanno indirizzi IP esterni, possono essere raggiunte solo da altre istanze sulla rete mediante un gateway VPN gestito o tramite un tunnel Cloud IAP. Cloud IAP consente l'accesso sensibile al contesto alle VM mediante SSH e RDP senza bastion host. Per saperne di più, consulta il blog post Cloud IAP enables context-aware access to VMs via SSH and RDP without bastion hosts.

Attività 2: abilita l'accesso privato Google

Le istanze VM senza indirizzi IP esterni possono utilizzare l'accesso privato Google per raggiungere gli indirizzi IP esterni delle API e dei servizi di Google. Per impostazione predefinita, l'accesso privato Google è disabilitato sulle reti VPC.

Crea un bucket Cloud Storage

Crea un bucket Cloud Storage per testare l'accesso alle API e ai servizi di Google.

  1. Nel menu di navigazione (Icona menu di navigazione) della console Google Cloud, fai clic su Cloud Storage > Bucket.

  2. Fai clic su Crea.

  3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome Inserisci un nome globalmente univoco
    Tipo di posizione Più regioni
  4. Fai clic su Crea. Se ti viene richiesto di abilitare la prevenzione dell'accesso pubblico, assicurati che l'opzione sia selezionata e fai clic su Conferma. Annota il nome del bucket di archiviazione.

  5. Conserva il nome del bucket in una variabile di ambiente:

export MY_BUCKET=[inserisci qui il nome del bucket]
  1. Verificalo con il comando echo:
echo $MY_BUCKET

Copia un file immagine nel bucket

Copia un'immagine da un bucket Cloud Storage pubblico nel tuo bucket.

  1. In Cloud Shell, esegui questo comando:
gcloud storage cp gs://cloud-training/gcpnet/private/access.svg gs://$MY_BUCKET
  1. Nella console Cloud, fai clic sul nome del bucket per verificare che l'immagine sia stata copiata.

Puoi fare clic sul nome dell'immagine in Cloud Console per visualizzare un esempio di come l'accesso privato Google viene implementato.

Accedi all'immagine dalla tua istanza VM

  1. In Cloud Shell, per provare a copiare l'immagine dal tuo bucket, esegui questo comando:
gcloud storage cp gs://$MY_BUCKET/*.svg .

Questo comando dovrebbe funzionare perché Cloud Shell ha un indirizzo IP esterno.

  1. Per connetterti a vm-internal, esegui questo comando:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
  1. Se ti viene richiesto, digita Y per continuare.

  2. Conserva il nome del bucket in una variabile di ambiente:

export MY_BUCKET=[inserisci qui il nome del bucket]
  1. Verificalo con il comando echo:
echo $MY_BUCKET
  1. Per provare a copiare l'immagine su vm-internal, esegui questo comando:
gcloud storage cp gs://$MY_BUCKET/*.svg .

Questo comando non dovrebbe funzionare: vm-internal può inviare traffico solo all'interno della rete VPC perché l'accesso privato Google è disabilitato (per impostazione predefinita).

  1. Premi Ctrl+Z per arrestare la richiesta.

Abilita l'accesso privato Google

L'accesso privato Google è abilitato a livello di subnet. Quando è abilitato, le istanze nella subnet che hanno solo indirizzi IP privati possono inviare traffico alle API e ai servizi di Google mediante la route predefinita (0.0.0.0/0) con un hop successivo al gateway internet predefinito.

  1. Nel menu di navigazione (Icona menu di navigazione) console Cloud, fai clic su Rete VPC > Reti VPC.
  2. Fai clic su privatenet per aprire la rete.
  3. Fai clic su Subnet e poi su privatenet-us.
  4. Fai clic su Modifica.
  5. Per Accesso privato Google, seleziona On.
  6. Fai clic su Salva.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un bucket Cloud Storage e abilita l'accesso privato Google

Nota: abilitare l'accesso privato Google è semplice, basta selezionare On nella subnet.
  1. Esegui comando di seguito, in Cloud Shell per vm-internal, per provare a copiare l'immagine su vm-internal.
gcloud storage cp gs://$MY_BUCKET/*.svg .

Questo comando dovrebbe funzionare perché per la subnet di vm-internal l'accesso privato Google è abilitato.

  1. Per tornare all'istanza di Cloud Shell, esegui il comando seguente:
exit
  1. Digita di nuovo exit se necessario per tornare all'istanza di Cloud Shell.
exit Nota: per visualizzare le API e i servizi idonei che puoi utilizzare con l'accesso privato Google, consulta la panoramica sull'accesso privato Google per un elenco dei servizi supportati.

Attività 3: configura un gateway Cloud NAT

Anche se vm-internal ora può accedere ad alcune API e alcuni servizi di Google senza un indirizzo IP esterno, l'istanza non può accedere a internet per aggiornamenti e patch. Configura un gateway Cloud NAT, che consente a vm-internal di accedere a internet.

Prova ad aggiornare le istanze VM

  1. In Cloud Shell, per provare a risincronizzare l'indice dei pacchetti, esegui il comando seguente:
sudo apt-get update

Dovrebbe essere visualizzato un output simile al seguente (output di esempio):

... Reading package lists... Done

Questo comando dovrebbe funzionare perché Cloud Shell ha un indirizzo IP esterno.

  1. Per connetterti a vm-internal, esegui questo comando:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
  1. Se ti viene richiesto, digita Y per continuare.
  2. Per provare a risincronizzare l'indice dei pacchetti di vm-internal, esegui il comando seguente:
sudo apt-get update

Questo comando dovrebbe funzionare solo per i pacchetti Google Cloud perché vm-internal ha accesso solo alle API e ai servizi di Google.

  1. Premi Ctrl+C per arrestare la richiesta.

Configura un gateway Cloud NAT

Cloud NAT è una risorsa di regione. Puoi configurarla per consentire il traffico da tutti gli intervalli di tutte le subnet in una regione, solo da subnet specifiche nella regione o solo da intervalli CIDR primari e secondari.

  1. Nella barra del titolo della console Google Cloud, digita Servizi di rete nel campo Cerca, quindi fai clic su Servizi di rete nella sezione Prodotto o Pagina.

  2. Nella pagina Servizio di rete, fai clic su Blocca accanto a Servizi di rete.

  3. Fai clic su Cloud NAT.

  4. Fai clic su Inizia per configurare un gateway NAT.

  5. Specifica quanto segue:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome gateway nat-config
    Rete privatenet
    Regione
  6. Per Router Cloud, seleziona Crea nuovo router.

  7. Come Nome, digita nat-router

  8. Fai clic su Crea.

Nota: la sezione Mappatura NAT ti consente di scegliere le subnet da mappare al gateway NAT. Puoi anche assegnare manualmente indirizzi IP statici da utilizzare quando si esegue la mappatura NAT. Non modificare la configurazione della mappatura NAT di questo lab.
  1. Fai clic su Crea.
  2. Attendi che lo stato del gateway cambi in In esecuzione.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Configura un gateway Cloud NAT

Verifica il gateway Cloud NAT

La propagazione della configurazione NAT alla VM potrebbe richiedere fino a 3 minuti. Attendi almeno un minuto prima di riprovare ad accedere a internet.

  1. In Cloud Shell per vm-internal, per provare a risincronizzare l'indice dei pacchetti di vm-internal, esegui il comando seguente:
sudo apt-get update

Dovrebbe essere visualizzato un output simile al seguente (output di esempio):

... Reading package lists... Done

Questo comando dovrebbe funzionare perché vm-internal utilizza il gateway NAT.

  1. Per tornare all'istanza di Cloud Shell, esegui il comando seguente:
exit Nota: il gateway Cloud NAT implementa la mappatura NAT in uscita, ma non in entrata. In altre parole, gli host che si trovano all'esterno della tua rete VPC possono solo rispondere a connessioni avviate dalle tue istanze, non possono avviare nuove connessioni proprie alle tue istanze tramite NAT.

Attività 4: configura e visualizza i log con il logging Cloud NAT

Il logging Cloud NAT ti consente di registrare log delle connessioni NAT e dei relativi errori. Quando il logging Cloud NAT è abilitato, può essere generata una voce di log per ciascuno degli scenari seguenti:

  • Alla creazione di una connessione di rete che utilizza NAT.
  • Quando un pacchetto va perso perché non sono disponibili porte per NAT.

Puoi scegliere di registrare log per entrambi i tipi di eventi o per uno dei due. I log creati vengono inviati a Cloud Logging.

Abilita il logging

Se il logging è abilitato, tutti i log raccolti vengono inviati a Cloud Logging per impostazione predefinita. Puoi filtrarli in modo che solo alcuni log vengano inviati.

Puoi anche specificare questi valori quando crei un gateway NAT o modificandone uno dopo la creazione. Le indicazioni riportate di seguito mostrano come abilitare il logging per un gateway NAT esistente.

  1. Nel menu di navigazione (Icona menu di navigazione) della console Google Cloud, fai clic su Servizi di rete > Cloud NAT.

  2. Fai clic sul gateway nat-config, quindi su Modifica.

  3. Fai clic sul menu a discesa Configurazioni avanzate per aprire la sezione corrispondente.

  4. In Logging, seleziona Traduzione ed errori, quindi fai clic su Salva.

Logging NAT in Cloud Logging

Ora che hai configurato il logging Cloud NAT per il gateway nat-config, vediamo dove possiamo visualizzare i log generati.

  1. Fai clic su nat-config per esporne i dettagli. Quindi fai clic su Visualizza in Esplora log.

  2. Si aprirà una nuova scheda con Esplora log.

Vedrai che non contiene ancora nessun log, perché abbiamo appena abilitato la funzionalità per il gateway.

Nota: tieni aperta questa scheda e torna all'altra scheda della console Google Cloud.

Generazione dei log

Ti ricordiamo che i log di Cloud NAT vengono generati per le sequenze seguenti:

  • Alla creazione di una connessione di rete che utilizza NAT.
  • Quando un pacchetto va perso perché non sono disponibili porte per NAT.

Eseguiamo di nuovo la connessione dell'host alla VM interna per vedere se vengono generati log.

  1. In Cloud Shell per vm-internal, per provare a risincronizzare l'indice dei pacchetti di vm-internal, esegui il comando seguente:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
  1. Se ti viene richiesto, digita Y per continuare.
  2. Per provare a risincronizzare l'indice dei pacchetti di vm-internal, esegui il comando seguente:
sudo apt-get update

Dovrebbe essere visualizzato un output simile al seguente (output di esempio):

... Reading package lists... Done
  1. Per tornare all'istanza di Cloud Shell, esegui il comando seguente:
exit

Vediamo se, aprendo questa connessione, nei log è apparso qualcosa di nuovo.

Visualizzazione dei log

  • Torna alla scheda Esplora log e nel menu di navigazione, fai clic su Esplora log.

Dovresti vedere due nuovi log, generati dopo la connessione alla VM interna.

Nota: potresti dover attendere qualche minuto. Se ancora non riesci a visualizzare i log, ripeti dal passaggio 1 al passaggio 4, dalla sezione Generazione dei log, quindi aggiorna la pagina di logging.

Come puoi vedere, i log includono dettagli sulla rete VPC a cui è stata effettuata la connessione e sul metodo di connessione utilizzato. Espandi pure le varie etichette e i vari dettagli.

Attività 5: rivedi

Hai creato vm-internal, un'istanza senza indirizzi IP esterni, e hai eseguito la connessione in modo sicuro tramite un tunnel IAP. Quindi hai abilitato l'accesso privato Google, configurato un gateway NAT e verificato che vm-internal possa accedere alle API e ai servizi di Google e ad altri indirizzi IP pubblici.

Le istanze VM senza indirizzi IP esterni sono isolate dalle reti esterne. Utilizzando Cloud NAT, queste istanze possono accedere a internet per aggiornamenti e patch e, in alcuni casi, per il bootstrap. Come servizio gestito, Cloud NAT offre alta affidabilità senza gestione e intervento da parte dell'utente.

IAP utilizza i ruoli e le autorizzazioni del progetto esistente quando ti connetti alle istanze VM. Per impostazione predefinita, i proprietari delle istanze sono gli unici utenti che dispongono del ruolo IAP Secured Tunnel User.

Per sapere come consentire ad altri utenti di accedere alle tue VM utilizzando il tunneling IAP, vedi, nel Cloud Architecture Center, la Guida Concedere l'accesso a utenti aggiuntivi.

Termina il lab

Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

Il numero di stelle corrisponde alle seguenti valutazioni:

  • 1 stella = molto insoddisfatto
  • 2 stelle = insoddisfatto
  • 3 stelle = esperienza neutra
  • 4 stelle = soddisfatto
  • 5 stelle = molto soddisfatto

Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

Questi contenuti non sono al momento disponibili

Ti invieremo una notifica via email quando sarà disponibile

Bene.

Ti contatteremo via email non appena sarà disponibile

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.