arrow_back

Fondamenti di networking

Accedi Partecipa
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Fondamenti di networking

Lab 1 ora 15 minuti universal_currency_alt 1 credito show_chart Introduttivi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP016

Laboratori autogestiti Google Cloud

Panoramica

In questo lab pratico imparerai a eseguire attività di networking di base su Google Cloud (comprese le istanze di Compute Engine) e scoprirai in che modo Google Cloud potrebbe differire da una configurazione on-premise. Svilupperai una rete e tre subnet, ottenendo questo ambiente finale:

Ambiente finale costituito da tre subnet: subnet-us-central, subnet-europe-west e asia-test-01

L'ordine degli esercizi del lab rispecchia l'esperienza di uno sviluppatore cloud comune:

  1. Configura il tuo ambiente per il lab e scopri come utilizzare il tuo ambiente Google Cloud.
  2. Esegui il deployment di una rete comune con subnet e più regioni utilizzando strumenti open source comuni per esplorare la tua rete in tutto il mondo.
  3. Testa e monitora la rete e le istanze.

Cosa imparerai

  • Concetti di base del networking di Google Cloud.
  • Come vengono configurate le reti predefinite e quelle create dall'utente.
  • Come misurare le caratteristiche di prestazioni e latenza.
  • Configurazioni di sicurezza di base di accesso, firewall e routing.

Prerequisiti

  • Conoscenza di base di Compute Engine
  • Conoscenza di base del networking e di TCP/IP
  • Conoscenza di base della riga di comando Unix/Linux

Configurazione e requisiti

Prima di fare clic sul pulsante Avvia lab

Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Avvia lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.

Con questo lab pratico avrai la possibilità di completare le attività in prima persona, in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.

Per completare il lab, avrai bisogno di:

  • Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: utilizza una finestra del browser in incognito o privata per eseguire questo lab. Ciò evita eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
  • È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: se hai già un account o un progetto Google Cloud personale, non utilizzarlo per questo lab per evitare addebiti aggiuntivi al tuo account.

Come avviare il lab e accedere alla console Google Cloud

  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:

    • Pulsante Apri console Google
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google. 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.

    Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account.
  3. Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.

  4. Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  5. 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: puoi visualizzare il menu con un elenco di prodotti e servizi Google Cloud facendo clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

Attiva Cloud Shell

Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Fai clic su Attiva Cloud Shell Icona Attiva Cloud Shell nella parte superiore della console Google Cloud.

Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. L'output contiene una riga che dichiara il PROJECT_ID per questa sessione:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.

  1. (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
  1. Fai clic su Autorizza.

  2. L'output dovrebbe avere ora il seguente aspetto:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project = <project_ID>

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla Panoramica dell'interfaccia a riga di comando gcloud.

Informazioni su regioni e zone

Alcune risorse di Compute Engine risiedono in regioni o zone. Una regione rappresenta una posizione geografica specifica in cui puoi eseguire le tue risorse. Ogni regione è composta da una o più zone. Ad esempio, us-central1 corrisponde a una regione negli Stati Uniti centrali che è composta dalle zone us-central1-a, us-central1-b, us-central1-c e us-central1-f.

Regioni Zone
Stati uniti occidentali us-west1-a, us-west1-b
Stati uniti centrali us-central1-a, us-central1-b, us-central1-d, us-central1-f
Stati Uniti orientali us-east1-b, us-east1-c, us-east1-d
Europa Occidentale europe-west1-b, europe-west1-c, europe-west1-d
Asia orientale asia-east1-a, asia-east1-b, asia-east1-c

Le risorse che risiedono in una zona sono definite risorse a livello di zona. Le istanze di macchine virtuali e i dischi permanenti risiedono in una zona. Per collegare un disco permanente a un'istanza di una macchina virtuale, le risorse devono trovarsi entrambe nella stessa zona. Analogamente, se vuoi assegnare un indirizzo IP statico a un'istanza, questa deve trovarsi nella stessa regione dell'IP statico.

Scopri di più su regioni e zone e visualizza un elenco completo nella pagina della documentazione su regioni e zone di Compute Engine.

Imposta la regione e la zona

Alcune risorse di Compute Engine risiedono in regioni e zone. Una regione rappresenta una posizione geografica specifica in cui puoi eseguire le tue risorse. Ogni regione è composta da una o più zone.

Esegui questi comandi gcloud in Cloud Shell per impostare la regione e la zona predefinite per il lab:

gcloud config set compute/zone "{{{project_0.startup_script.primary_zone | Zone}}}" export ZONE=$(gcloud config get compute/zone) gcloud config set compute/region "{{{project_0.startup_script.primary_region | Region}}}" export REGION=$(gcloud config get compute/region)

Attività 1: rivedi la rete predefinita

Quando viene creato un nuovo progetto, una configurazione di rete predefinita fornisce a ogni regione una rete di subnet automatica. Puoi creare fino a quattro reti aggiuntive in un progetto. Le reti aggiuntive possono essere reti di subnet automatiche, reti di subnet personalizzate o reti legacy.

A ciascuna istanza creata all'interno di una subnet viene assegnato un indirizzo IPv4 da quell'intervallo di subnet.

  • Rivedi la tua rete. Fai clic su Menu di navigazione > Rete VPC.

Pagina Reti VPC che mostra un elenco di reti e le relative informazioni associate come intervalli di indirizzi IP e gateway

Firewall

Per saperne di più su come utilizzare le regole firewall per isolare le subnet, consulta le sezioni relative alle subnet e alle regole firewall.

Ogni rete dispone di un firewall predefinito che blocca tutto il traffico in entrata verso le istanze. Per consentire il traffico verso un'istanza, devi creare regole "allow" per il firewall. Inoltre, il firewall predefinito consente il traffico proveniente dalle istanze a meno che non lo configuri per bloccare le connessioni in uscita utilizzando una configurazione firewall "in uscita". Pertanto, per impostazione predefinita, puoi creare regole "allow" per il traffico da consentire in entrata e regole "deny" per il traffico da limitare in uscita. Puoi anche creare un criterio default-deny per il traffico in uscita e vietare del tutto le connessioni esterne.

In linea di massima, ti consigliamo di configurare la regola firewall meno permissiva in grado di supportare il tipo di traffico che stai tentando di far passare. Ad esempio, se devi consentire il traffico verso alcune istanze, ma limitarlo in modo che non ne raggiunga altre, crea regole che consentano il traffico solo alle istanze previste. Questa configurazione più restrittiva è più prevedibile di una regola firewall più permissiva che consente il traffico verso tutte le istanze. Se vuoi regole "deny" che sovrascrivano determinate regole "allow", puoi impostare i livelli di priorità su ogni regola e quella con la priorità numerata più bassa verrà valutata per prima. La creazione di insiemi ampi e complessi di regole di override può portare a consentire o bloccare il traffico non voluto.

La rete predefinita ha creato automaticamente le regole firewall, mostrate di seguito. Nessuna rete di alcun tipo creata manualmente ha creato automaticamente regole firewall. Per tutte le reti, tranne quella predefinita, devi creare le regole firewall di cui hai bisogno.

Le regole firewall in entrata create automaticamente per la rete predefinita sono le seguenti:

default-allow-internal

Consente connessioni di rete di qualsiasi protocollo e porta tra le istanze sulla rete.

default-allow-ssh

Consente connessioni SSH da qualsiasi origine a qualsiasi istanza sulla rete tramite la porta TCP 22.

default-allow-rdp

Consente connessioni RDP da qualsiasi origine a qualsiasi istanza sulla rete tramite la porta TCP 3389.

default-allow-icmp

Consente il traffico ICMP da qualsiasi origine a qualsiasi istanza sulla rete.

  • Per rivedere le regole firewall predefinite, nella console Cloud fai clic su Menu di navigazione > Rete VPC > Firewall.

Pagina Firewall che mostra un elenco di regole firewall e le relative informazioni: tipi, destinazioni, filtri, protocolli/porte, priorità e rete

Route di rete

Tutte le reti hanno route create automaticamente verso internet (route predefinita) e verso gli intervalli IP nella rete. I nomi delle route vengono generati automaticamente e avranno un aspetto diverso per ciascun progetto.

  • Per rivedere le route predefinite, fai clic su Menu di navigazione > Rete VPC > Route > seleziona Rete e Regione per visualizzare le route.

Pagina Route che mostra un elenco di route e le relative informazioni: descrizione, intervallo IP di destinazione, livello di priorità e rete

Attività 2: crea una rete personalizzata

Creazione di una nuova rete con intervalli di subnet personalizzati

Quando assegni manualmente gli intervalli di subnet, devi prima creare una rete di subnet personalizzata, quindi creare le subnet che vuoi all'interno di una regione. Non devi specificare subito le subnet per tutte le regioni (puoi anche non farlo affatto), ma non puoi creare istanze in regioni per le quali non è definita alcuna subnet.

Quando crei una nuova subnet, il suo nome deve essere univoco in quel progetto per quella regione, anche tra le reti. Lo stesso nome può comparire due volte in un progetto purché si trovi in regioni diverse. Poiché si tratta di una subnet, non esiste un IP gateway o un intervallo IPv4 a livello di rete, quindi non ne verrà visualizzato nessuno.

Puoi creare la tua rete personalizzata con la console o con Cloud Shell. Ti verranno mostrati entrambi i metodi, ma dovrai decidere quale utilizzare durante il lab. Ad esempio, se non puoi seguire una sezione utilizzando le istruzioni per la console, dovrai seguire la stessa sezione utilizzando la riga di comando gcloud.

Attività 3: crea una rete personalizzata con la console

Nota: se preferisci utilizzare la riga di comando, salta questa sezione e continua con l'attività 4: crea una rete personalizzata con Cloud Shell.
  1. Per creare una rete personalizzata, fai clic su Menu di navigazione > Rete VPC.

  2. Fai clic su Crea rete VPC e denominala taw-custom-network.

  3. Nella scheda Personalizzata crea:

    • Nome subnet: subnet-
    • Regione:
    • Intervallo di indirizzi IP: 10.0.0.0/16
  4. Fai clic su Fine.

    Finestra di dialogo Crea una rete VPC compilata

  5. Ora fai clic su Aggiungi subnet e aggiungi altre due subnet nelle rispettive regioni:

    • subnet-, , 10.1.0.0/16
    • subnet-, , 10.2.0.0/16
  6. Fai clic su Crea per terminare.

A questo punto, la rete dispone di route verso internet e verso tutte le istanze che potresti creare. Tuttavia, non ha regole firewall che consentano l'accesso alle istanze, anche da altre istanze. Per consentire l'accesso devi creare regole firewall.

Passa all'attività 5: aggiungi regole firewall.

Attività 4: crea una rete personalizzata con Cloud Shell

Nota: se hai appena creato una rete utilizzando la console, non ripetere questo esercizio con Cloud Shell. Riprendi invece il lab per esercitarti con la riga di comando gcloud .
  • Inserisci questo comando in Cloud Shell per creare la rete personalizzata:
gcloud compute networks create taw-custom-network --subnet-mode custom

Output:

NAME MODE IPV4_RANGE GATEWAY_IPV4 taw-custom-network custom Instances on this network will not be reachable until firewall rules are created. As an example, you can allow all internal traffic between instances as well as SSH, RDP, and ICMP by running: $ gcloud compute firewall-rules create --network taw-custom-network --allow tcp,udp,icmp --source-ranges $ gcloud compute firewall-rules create --network taw-custom-network --allow tcp:22,tcp:3389,icmp

Ora devi creare le subnet per la tua nuova rete personalizzata. Ne creerai tre.

  1. Crea la subnet subnet- con un prefisso IP:
gcloud compute networks subnets create subnet-{{{project_0.startup_script.primary_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.startup_script.primary_region | Region}}} \ --range 10.0.0.0/16

Output:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.startup_script.primary_region | Region}}}/subnetworks/subnet-{{{project_0.startup_script.primary_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.primary_region | Region}}} {{{project_0.startup_script.primary_region | Region}}} taw-custom-network 10.0.0.0/16
  1. Crea la subnet subnet- con un prefisso IP:
gcloud compute networks subnets create subnet-{{{project_0.startup_script.secondary_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.startup_script.secondary_region | Region}}} \ --range 10.1.0.0/16

Output:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.startup_script.secondary_region | Region}}}/subnetworks/subnet-{{{project_0.startup_script.secondary_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.secondary_region | Region}}} {{{project_0.startup_script.secondary_region | Region}}} taw-custom-network 10.1.0.0/16
  1. Crea la subnet subnet- con un prefisso IP:
gcloud compute networks subnets create subnet-{{{project_0.startup_script.third_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.startup_script.third_region | Region}}} \ --range 10.2.0.0/16

Output:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.startup_script.third_region | Region}}}/subnetworks/subnet-{{{project_0.startup_script.third_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.secondary_region | Region}}} {{{project_0.startup_script.secondary_region | Region}}} taw-custom-network 10.2.0.0/16
  1. Elenca le tue reti:
gcloud compute networks subnets list \ --network taw-custom-network

Se nella sezione precedente hai creato una rete di subnet automatica, verranno elencate anche quelle subnet.

Output:

NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.third_region | Region}}} {{{project_0.startup_script.third_region | Region}}} taw-custom-network 10.1.0.0/16 subnet-{{{project_0.startup_script.secondary_region | Region}}} {{{project_0.startup_script.secondary_region | Region}}} taw-custom-network 10.2.0.0/16 subnet-{{{project_0.startup_script.primary_region | Region}}} {{{project_0.startup_script.primary_region | Region}}} taw-custom-network 10.0.0.0/16

A questo punto, la rete dispone di route verso internet e verso tutte le istanze che potresti creare. Tuttavia, non ha regole firewall che consentano l'accesso alle istanze, anche da altre istanze. Per consentire l'accesso devi creare regole firewall.

Attività 5: aggiungi regole firewall

Per consentire l'accesso alle istanze VM, devi applicare regole firewall. Utilizzerai un tag di istanza per applicare la regola firewall alle tue istanze VM. La regola firewall verrà applicata a tutte le VM che utilizzano lo stesso tag di istanza.

Nota: i tag di istanza vengono utilizzati dalle reti e dai firewall per applicare determinate regole firewall alle istanze VM dotate di tag. Ad esempio, se sono presenti più istanze che eseguono la stessa attività, come la pubblicazione di un sito web di grandi dimensioni, puoi contrassegnare queste istanze con una parola o un termine condivisi e quindi utilizzare quel tag per consentire l'accesso HTTP alle istanze con una regola firewall.

I tag si riflettono anche sul server dei metadati, quindi puoi utilizzarli per le applicazioni in esecuzione sulle tue istanze.
  • Inizia aprendo il firewall per consentire le richieste internet HTTP, quindi aggiungerai altre regole firewall. Le regole firewall possono essere aggiunte utilizzando la console o Cloud Shell.

Aggiungi regole firewall tramite la console

  1. Nella console Cloud, vai a Reti VPC e fai clic su taw-custom-network:

Rete taw-custom-networking evidenziata nella pagina Reti VPC

  1. Fai clic sulla scheda Firewall, quindi su Aggiungi regola firewall.

Scheda Firewall e pulsante Aggiungi regola firewall evidenziati nella pagina Dettagli rete VPC

  1. Inserisci le seguenti informazioni:

Campo

Valore

Commenti

Nome

nw101-allow-http

Il nome delle nuova regola.

Destinazioni

Tag di destinazione specificati

Le istanze a cui si applica la regola firewall.

Tag di destinazione

http

Il tag che abbiamo creato.

Filtro di origine

Intervalli IPv4

Apriremo il firewall per qualsiasi indirizzo IP da internet.

Intervalli IPv4 di origine

0.0.0.0/0

Aprirai il firewall per qualsiasi indirizzo IP da internet.

Protocolli e porte

Seleziona Protocolli e porte specificati, quindi seleziona la casella TCP e digita 80

Solo HTTP.

Il tuo schermo sarà simile a questo:

Finestra di dialogo Crea una regola firewall compilata

  1. Fai clic su Crea e attendi che il comando abbia esito positivo. Successivamente creerai le regole firewall aggiuntive di cui avrai bisogno.

Aggiungi regole firewall utilizzando Cloud Shell

Nota: se hai appena creato una rete utilizzando la console Cloud, non ripetere questo esercizio con Cloud Shell. Riprendi invece il lab per esercitarti con la riga di comando gcloud .
  • Per creare regole firewall in Cloud Shell, esegui questo comando:
gcloud compute firewall-rules create nw101-allow-http \ --allow tcp:80 --network taw-custom-network --source-ranges 0.0.0.0/0 \ --target-tags http

Output:

Output in cui il nome è nw101-allow-http, la rete è taw-custom-network, la direzione è in entrata, il livello di priorità è 1000 e lo stato di autorizzazione è tcp:80

Crea regole firewall aggiuntive

Queste regole firewall aggiuntive consentiranno ICMP, comunicazione interna, SSH e RDP. Puoi crearle con la console o con Cloud Shell. Ricorda che puoi utilizzare uno dei due metodi per ciascun tipo di regola firewall, ma non entrambi.

  • ICMP

Campo

Valore

Commenti

Nome

nw101-allow-icmp

Il nome delle nuova regola.

Destinazioni

Tag di destinazione specificati

Seleziona un'opzione dal menu a discesa Destinazioni.

Tag di destinazione

rules

Il tag.

Filtro di origine

Intervalli IPv4

Apriremo il firewall per qualsiasi indirizzo IP presente in questo elenco.

Intervalli IPv4 di origine

0.0.0.0/0

Apriremo il firewall per qualsiasi indirizzo IP da internet.

Protocolli e porte

Seleziona Protocolli e porte specificati, quindi Altri protocolli e digita ICMP

I protocolli e le porte a cui si applica la regola firewall.

(Comandi Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-icmp" --allow icmp --network "taw-custom-network" --target-tags rules
  • Comunicazione interna

Campo

Valore

Commenti

Nome

nw101-allow-internal

Il nome delle nuova regola.

Destinazioni

Tutte le istanze nella rete

Seleziona un'opzione dal menu a discesa Destinazioni.

Filtro di origine

Intervalli IPv4

Il filtro utilizzato per applicare la regola a sorgenti di traffico specifiche.

Intervalli IPv4 di origine

10.0.0.0/16,

10.1.0.0/16,

10.2.0.0/16

Apriremo il firewall per qualsiasi indirizzo IP da internet.

Protocolli e porte

Seleziona Protocolli e porte specificati, quindi TCP e digita 0-65535; seleziona UDP e digita 0-65535; seleziona Altri protocolli e digita ICMP

Consente tcp:0-65535,udp:0-65535,icmp.

(Comandi Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-internal" --allow tcp:0-65535,udp:0-65535,icmp --network "taw-custom-network" --source-ranges "10.0.0.0/16","10.2.0.0/16","10.1.0.0/16"
  • SSH

Campo

Valore

Commenti

Nome

nw101-allow-ssh

Il nome delle nuova regola.

Destinazioni

Tag di destinazione specificati

Il tag ssh.

Tag di destinazione

ssh

Le istanze a cui applichi la regola firewall.

Filtro di origine

Intervalli IPv4

Il filtro utilizzato per applicare la regola a sorgenti di traffico specifiche.

Intervalli IPv4 di origine

0.0.0.0/0

Apriremo il firewall per qualsiasi indirizzo IP da internet.

Protocolli e porte

Seleziona Protocolli e porte specificati, quindi la casella TCP e digita 22

Consente tcp:22.

(Comandi Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-ssh" --allow tcp:22 --network "taw-custom-network" --target-tags "ssh"
  • RDP

Campo

Valore

Commenti

Nome

nw101-allow-rdp

Il nome delle nuova regola.

Destinazioni

Tutte le istanze nella rete

Seleziona un'opzione dal menu a discesa Destinazioni.

Filtro di origine

Intervalli IPv4

Indirizzi IP del filtro.

Intervalli IPv4 di origine

0.0.0.0/0

Apriremo il firewall per qualsiasi indirizzo IP da internet.

Protocolli e porte

Seleziona Protocolli e porte specificati, quindi la casella TCP e digita 3389

Consente tcp:3389.

(Comandi Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-rdp" --allow tcp:3389 --network "taw-custom-network"
  • Utilizza la console per rivedere le regole firewall nella tua rete. Dovrebbe avere il seguente aspetto:

Pagina a schede Regole firewall nella finestra di dialogo Dettagli rete VPC

Nota: a cosa servono le route che vedo nella console della rete?

Google Cloud Networking utilizza le route per indirizzare i pacchetti tra le subnet e verso internet. Ogni volta che viene creata (o pre-creata) una subnet nella tua rete, vengono create automaticamente route in ogni regione per consentire il routing dei pacchetti tra le subnet. Queste route non possono essere modificate.

È possibile creare route aggiuntive per inviare traffico a un'istanza, a un gateway VPN o a un gateway internet predefinito. Queste route possono essere modificate per personalizzare l'architettura di rete desiderata. Route e firewall lavorano insieme per garantire che il tuo traffico vada dove deve arrivare.

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

Crea rete personalizzata, subnet e regole firewall.

Attività 6: connettiti alle VM del lab e verifica la latenza

  • Fai clic su Reti VPC nel menu a sinistra per vedere l'intera rete. La rete taw-custom-network ha tre subnet e vengono applicate regole firewall.

Dovresti vedere questo:

Pagina Rete VPC che mostra un elenco di reti e le relative informazioni: subnet, modalità, intervalli di indirizzi IP, gateway, regole firewall e stati di routing dinamico globale

Nei prossimi passaggi, dovrai creare una VM in ciascuna subnet e assicurarti di poterti connettere a ognuna di queste.

Crea una VM in ciascuna zona

Per questa sezione del lab lavorerai in Cloud Shell.

  1. Esegui questi comandi per creare un'istanza denominata us-test-01 nella subnet subnet-:
gcloud compute instances create us-test-01 \ --subnet subnet-{{{project_0.startup_script.primary_region | Region}}} \ --zone {{{project_0.startup_script.primary_zone | ZONE}}} \ --machine-type e2-standard-2 \ --tags ssh,http,rules

Prendi nota dell'IP esterno per utilizzarlo in questo lab in un secondo momento.

Output:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/zones/{{{project_0.startup_script.primary_zone | ZONE}}}/instances/us-test-01]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS us-test-01 {{{project_0.startup_script.primary_zone | ZONE}}} e2-standard-2 10.0.0.2 104.198.230.22 RUNNING
  1. Ora crea le VM us-test-02 e us-test-03 nelle rispettive subnet correlate:
gcloud compute instances create us-test-02 \ --subnet subnet-{{{project_0.startup_script.secondary_region | REGION}}} \ --zone {{{project_0.startup_script.secondary_zone | ZONE}}} \ --machine-type e2-standard-2 \ --tags ssh,http,rules gcloud compute instances create us-test-03 \ --subnet subnet-{{{project_0.startup_script.third_region | REGION}}} \ --zone {{{project_0.startup_script.third_zone | ZONE}}} \ --machine-type e2-standard-2 \ --tags ssh,http,rules

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

Crea tre istanze nelle zone specificate per eseguire un test traceroute e un test delle prestazioni.

Verifica se puoi connetterti alla tua VM

Ora esegui alcuni esercizi per testare la connessione alle tue VM.

  1. Torna alla console e vai a Compute Engine.

  2. Fai clic sul pulsante SSH corrispondente all'istanza us-test-01. Viene aperta una connessione SSH all'istanza in una nuova finestra.

  3. Nella finestra SSH di us-test-01, digita il seguente comando per utilizzare una richiesta echo ICMP su us-test-02, aggiungendo l'indirizzo IP esterno per la VM in linea:

ping -c 3 <us-test-02-external-ip-address> Nota: puoi individuare l'IP esterno delle tue macchine virtuali nella scheda del browser Compute Engine nel campo IP esterno.

Colonna IP esterno evidenziata che mostra tre indirizzi IP

I tuoi indirizzi IP saranno diversi dall'immagine.
  1. Esegui questo comando per utilizzare una richiesta echo ICMP su us-test-03, aggiungendo l'indirizzo IP esterno per la VM in linea:
ping -c 3 <us-test-03-external-ip-address>

Output di esempio:

PING 35.187.149.67 (35.187.149.67) 56(84) bytes of data. 64 bytes from 35.187.149.67: icmp_seq=1 ttl=76 time=152 ms 64 bytes from 35.187.149.67: icmp_seq=2 ttl=76 time=152 ms 64 bytes from 35.187.149.67: icmp_seq=3 ttl=76 time=152 ms
  1. Ora verifica che SSH funzioni anche per le istanze us-test-02 e us-test-03. Prova una richiesta echo ICMP su us-test-01.

Utilizza ping per misurare la latenza

Utilizza ping per misurare la latenza tra le istanze tra tutte le regioni.

  • Per osservare la latenza dalla regione us-central alla regione europe-west, esegui questo comando dopo aver aperto una finestra SSH su us-test-01:
ping -c 3 us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}

Output comando:

PING us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2) 56(84) bytes of data. 64 bytes from us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2): icmp_seq=1 ttl=64 time=105 ms 64 bytes from us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2): icmp_seq=2 ttl=64 time=104 ms 64 bytes from us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2): icmp_seq=3 ttl=64 time=104 ms

La latenza restituita è il "tempo di round trip" (RTT), ovvero il tempo impiegato dal pacchetto per passare da us-test-01 a us-test-02.

Per testare la connettività, ping utilizza i messaggi di richiesta e risposta echo ICMP.

Nota: aspetti da prendere in considerazione

Qual è la latenza che vedi tra le regioni? Cosa ti aspetteresti in condizioni ideali? Che cosa ha di speciale la connessione tra "us-test-02" e "us-test-03"?
Nota: DNS interno - Come viene fornito il DNS per le istanze VM?

Ogni istanza ha un server di metadati che funge anche da resolver DNS. Vengono eseguite ricerche DNS in base ai nomi delle istanze. Lo stesso server dei metadati archivia tutte le informazioni DNS per la rete locale ed esegue query sui server DNS pubblici di Google per individuare eventuali esterni alla rete locale.

Un nome di dominio completo (FQDN) interno per un'istanza ha il seguente aspetto: hostName.[ZONE].c.[PROJECT_ID].internal.

Puoi sempre connetterti da un'istanza all'altra utilizzando questo FQDN. Ad esempio, se vuoi connetterti a un'istanza utilizzando solo hostName, hai bisogno delle informazioni del resolver DNS interno fornito come parte di Compute Engine.

(Facoltativo) Attività 7: esegui un test traceroute e un test delle prestazioni

Esercizio facoltativo

Un traceroute è uno strumento per tracciare il percorso tra due host. Un traceroute può essere un primo passo utile per scoprire molti tipi diversi di problemi di rete. I tecnici di rete e dell'assistenza spesso richiedono un traceroute durante la diagnosi dei problemi di rete.

Nota: funzionalità

Un traceroute mostra tutti gli hop di livello 3 (livello di routing) tra gli host. Ciò si ottiene inviando pacchetti alla destinazione remota con durata (TTL) crescente (a partire da 1). TTL è un campo nel pacchetto IP che viene diminuito di un'unità a ogni router. Una volta che il TTL raggiunge lo zero, il pacchetto viene eliminato e al mittente viene restituito il messaggio ICMP "TTL superato". Questo approccio viene utilizzato per evitare loop di routing; i pacchetti non possono essere ripetuti continuamente perché alla fine il campo TTL diminuirà fino a 0. Per impostazione predefinita, il sistema operativo imposta il TTL su un valore alto (64, 128, 255 o simile), quindi questa condizione dovrebbe essere raggiunta solo in situazioni anomale.

Quindi il traceroute invia prima i pacchetti con valore TTL pari a 1, quindi con valore TTL pari a 2 e così via, facendo scadere questi pacchetti al primo/secondo/ecc. router nel percorso. Quindi richiede l'IP/host di origine del messaggio ICMP "TTL superato" restituito per mostrare il nome/IP dell'hop intermedio. Una volta che il TTL è sufficientemente alto, il pacchetto raggiunge la destinazione e la destinazione risponde.

Il tipo di pacchetto inviato varia in base all'implementazione. In Linux, vengono inviati pacchetti UDP a una porta elevata e inutilizzata. Quindi la destinazione finale risponde con una porta ICMP irraggiungibile. Per impostazione predefinita, Windows e lo strumento mtr utilizzano richieste echo ICMP (come ping), quindi la destinazione finale replica con una risposta echo ICMP.

Ora prova a configurare un traceroute su una delle tue macchine virtuali.

  1. Per questo passaggio utilizza di nuovo le VM us-test-01 e us-test-02 e accedi a entrambe tramite SSH.

  2. Installa questi strumenti per le prestazioni nella finestra SSH per us-test-01:

sudo apt-get update sudo apt-get -y install traceroute mtr tcpdump iperf whois host dnsutils siege traceroute www.icann.org
  1. Ora prova qualche altra destinazione, anche da altre sorgenti:

    • VM nella stessa regione o in un'altra regione (eu1-vm, asia1-vm, w2-vm)
    • www.wikipedia.org
    • www.adcash.com
    • bad.horse (funziona meglio se aumenti il TTL massimo, quindi traceroute -m 255 bad.horse)
    • Qualsiasi altra sorgente ti venga in mente
  2. Per arrestare traceroute, premi Ctrl+c nella finestra SSH e torna alla riga di comando.

Nota: aspetti da prendere in considerazione

Cosa noti con i diversi traceroute?

(Facoltativo) Attività 8: utilizza iperf per testare le prestazioni

Tra due host

Esercizio facoltativo

Quando utilizzi iperf per testare le prestazioni tra due host, un lato deve essere configurato come server iperf per accettare le connessioni.

Nota: i comandi seguenti trasferiscono gigabyte di traffico tra regioni, con addebito in base alle tariffe per il traffico in uscita da internet. Tienine conto quando li utilizzi. Se non sei su un progetto consentito, o nel periodo di prova gratuita, potresti voler saltare, o solo scorrere rapidamente, questa sezione. (I costi dovrebbero essere inferiori a 1 $.)

Prova un test molto semplice:

  1. Accedi tramite SSH a us-test-02 e installa gli strumenti per le prestazioni:
sudo apt-get update sudo apt-get -y install traceroute mtr tcpdump iperf whois host dnsutils siege
  1. Accedi tramite SSH a us-test-01 ed esegui:
iperf -s #run in server mode
  1. Nella finestra SSH di us-test-02 esegui questo comando iperf:
iperf -c us-test-01.{{{project_0.startup_script.primary_zone | ZONE}}} #run in client mode

L'output dovrebbe essere simile al seguente:

Client connecting to eu-vm, TCP port 5001 TCP window size: 45.0 KByte (default) [ 3] local 10.20.0.2 port 35923 connected with 10.30.0.2 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 298 MBytes 249 Mbits/sec
  1. Su us-test-01 utilizza Ctrl+c per uscire dal lato server quando hai finito.

Tra le VM all'interno di una regione

Esercizio facoltativo

Ora eseguirai il deployment di un'altra istanza (us-test-04) in una zona diversa da us-test-01. Vedrai che all'interno di una regione la larghezza di banda è limitata dalla soglia di traffico in uscita di 2 Gbit/s per core.

  1. In Cloud Shell, crea us-test-04:
gcloud compute instances create us-test-04 \ --subnet subnet-{{{project_0.startup_script.primary_region | REGION}}} \ --zone {{{project_0.startup_script.primary_zone_1 | ZONE}}} \ --tags ssh,http
  1. Accedi tramite SSH a us-test-04 e installa gli strumenti per le prestazioni:
sudo apt-get update sudo apt-get -y install traceroute mtr tcpdump iperf whois host dnsutils siege

Tra le regioni si raggiungono limiti molto più bassi, principalmente a causa dei limiti sulla dimensione della finestra TCP e sulle prestazioni del singolo flusso. Puoi aumentare la larghezza di banda tra gli host utilizzando altri parametri, come UDP.

  1. Nella finestra SSH di us-test-02 esegui:
iperf -s -u #iperf server side
  1. Nella finestra SSH di us-test-01 esegui:
iperf -c us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}} -u -b 2G #iperf client side - send 2 Gbits/s

Questo comando dovrebbe essere in grado di raggiungere una velocità maggiore tra le regioni dell'UE e degli Stati Uniti. È possibile ottenere velocità ancora più elevate eseguendo una serie di comandi iperf TCP in parallelo. Proviamo.

  1. Nella finestra SSH di us-test-01 esegui:
iperf -s
  1. Nella finestra SSH di us-test-02 esegui:
iperf -c us-test-01.{{{project_0.startup_script.primary_zone | ZONE}}} -P 20

La larghezza di banda combinata dovrebbe essere molto prossima alla larghezza di banda massima ottenibile.

  1. Prova qualche altra combinazione. Se utilizzi Linux sul tuo laptop, puoi eseguire il test anche sul tuo laptop. (Puoi anche provare iperf3 che è disponibile per molti sistemi operativi, ma non fa parte del lab.)

Come puoi vedere, per raggiungere la larghezza di banda massima, la sola esecuzione di un singolo flusso TCP (ad es. la copia di file) non è sufficiente; ti servono diverse sessioni TCP in parallelo. Ciò avviene a causa di parametri TCP quali le dimensioni della finestra e funzioni quali l'avvio lento.

Per ulteriori informazioni su questo e su tutti gli altri argomenti relativi a TCP/IP, fai riferimento a TCP/IP Illustrated.

Strumenti come bbcp possono aiutare a copiare i file il più velocemente possibile parallelizzando i trasferimenti e utilizzando dimensioni della finestra configurabili.

Attività 9: verifica le tue conoscenze

Termina il lab

Una volta completato il lab, fai clic su Termina lab. Il tuo account e le risorse che hai utilizzato verranno rimossi dalla piattaforma del lab.

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, puoi chiudere la finestra di dialogo.

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

Complimenti

Hai imparato come vengono configurate le reti predefinite e quelle create dall'utente, come concedere e negare l'accesso e come misurare prestazioni e latenza.

Prossimi passi/Scopri di più

Quando ti senti in grado, segui il corso Networking fundamentals in the Google Cloud.

Formazione e certificazione Google Cloud

… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.

Ultimo aggiornamento del manuale: 14 febbraio 2024

Ultimo test del lab: 14 febbraio 2024

Copyright 2024 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.