arrow_back

Introduzione a Cloud Shell e gcloud

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

Introduzione a Cloud Shell e gcloud

Lab 45 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

GSP002

Laboratori autogestiti Google Cloud

Panoramica

Cloud Shell fornisce l'accesso da riga di comando alle risorse di elaborazione ospitate su Google Cloud. Cloud Shell è una macchina virtuale basata su Debian con una home directory permanente da 5 GB, che semplifica la gestione delle risorse e dei progetti Google Cloud. Lo strumento a riga di comando gcloud e altre utilità necessarie sono preinstallati in Cloud Shell, permettendoti un'operatività immediata.

In questo lab pratico imparerai come connetterti alle risorse di elaborazione ospitate su Google Cloud tramite Cloud Shell con lo strumento gcloud.

Ti consigliamo di digitare direttamente i comandi, per consolidare i concetti chiave. Molti lab includono blocchi di codice che contengono i comandi da inserire. Durante il lab puoi semplicemente copiare e incollare i comandi dai blocchi di codice nelle destinazioni appropriate.

In questo lab proverai a:

  • Esercitarti nell'utilizzo dei comandi gcloud.
  • Connetterti a servizi di elaborazione ospitati su Google Cloud.

Prerequisiti

  • Familiarità con gli editor di testo standard di Linux, ad esempio vim, emacs o nano.

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.

Dopo aver attivato Cloud Shell, puoi utilizzare la riga di comando per richiamare lo strumento gcloud di Cloud SDK oppure altri strumenti disponibili nell'istanza della macchina virtuale. Più avanti, durante il lab, utilizzerai la directory $HOME, usata come spazio di archiviazione su disco permanente per archiviare file associati a progetti diversi in sessioni di Cloud Shell distinte. La directory $HOME è riservata esclusivamente a te e non è accessibile ad altri utenti.

Attività 1: configura il tuo ambiente

In questa sezione, conoscerai vari aspetti dell'ambiente di sviluppo che puoi modificare.

Informazioni sulle regioni e sulle zone

Alcune risorse di Google 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. La seguente tabella mostra delle zone nelle rispettive regioni:

Stati Uniti occidentali Stati Uniti centrali Stati Uniti orientali Europa Occidentale Asia orientale
us-west1-a us-central1-a us-east1-b europe-west1-b asia-east1-a
us-west1-b us-central1-b us-east1-c europe-west1c asia-east1-b
- us-central1-c us-east1-d europe-west1-d aisia-east1-c
- us-central1-f - - -

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. Se vuoi 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'indirizzo IP statico.

Nota: scopri di più su regioni e zone e visualizza un elenco completo nella documentazione su regioni e zone di Google Cloud Compute Engine.
  1. Imposta la regione su

    gcloud config set compute/region {{{project_0.startup_script.project_region | REGION}}}
  2. Per visualizzare l'impostazione della regione del progetto, esegui questo comando:

    gcloud config get-value compute/region
  3. Imposta la zona su :

    gcloud config set compute/zone {{{project_0.startup_script.project_zone | ZONE}}}
  4. Per visualizzare l'impostazione della zona del progetto, esegui questo comando:

    gcloud config get-value compute/zone

Trova le informazioni del progetto

  1. Copia il tuo ID progetto negli appunti o nell'editor di testo. L'ID progetto è disponibile in due posizioni:

    • Nella dashboard della console Cloud, in Informazioni sul progetto (fai clic sul menu di navigazione (Icona menu di navigazione) e poi suPanoramica di Cloud > Dashboard).
    • Nella scheda del lab vicino al tuo nome utente e alla tua password.
  2. In Cloud Shell, esegui questo comando gcloud, per visualizzare l'ID per il tuo progetto:

    gcloud config get-value project
  3. In Cloud Shell, esegui questo comando gcloud per visualizzare i dettagli sul progetto:

    gcloud compute project-info describe --project $(gcloud config get-value project)

    Trova i valori dei metadati della zona e della regione nell'output. Più avanti in questo lab utilizzerai la zona (google-compute-default-zone) indicata nell'output.

    Nota: se nell'output non sono presenti le chiavi e i valori google-compute-default-region e google-compute-default-zone, significa che non sono state impostate una zona e una regione predefinite. L'output include altre informazioni utili relative al tuo progetto. Prenditi un po' di tempo per approfondirle ulteriormente.

Imposta le variabili di ambiente

Le variabili di ambiente definiscono il tuo ambiente e aiutano a risparmiare tempo quando scrivi script che contengono API o eseguibili.

  1. Crea una variabile di ambiente per archiviare il tuo ID progetto:

    export PROJECT_ID=$(gcloud config get-value project)
  2. Crea una variabile di ambiente per archiviare la tua zona:

    export ZONE=$(gcloud config get-value compute/zone)
  3. Per verificare che le variabili siano impostate correttamente, esegui questi comandi:

    echo -e "PROJECT ID: $PROJECT_ID\nZONE: $ZONE"

    Se le variabili sono impostate correttamente, i comandi echo restituiranno il tuo ID progetto e la tua zona.

Crea una macchina virtuale con lo strumento gcloud

Utilizza lo strumento gcloud per creare una nuova istanza di una macchina virtuale (VM).

  1. Per creare la tua VM, esegui questo comando:

    gcloud compute instances create gcelab2 --machine-type e2-medium --zone $ZONE

    Output:

    Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-326fae68bc3d/zones/us-east1-c/instances/gcelab2]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gcelab2 {{{project_0.startup_script.project_zone | ZONE}}} e2-medium 10.128.0.2 34.67.152.90 RUNNING

    Dettagli del comando

    • gcloud compute ti consente di gestire le risorse di Compute Engine in un formato più semplice rispetto all'API Compute Engine.
    • instances create crea una nuova istanza.
    • gcelab2 è il nome della VM.
    • Il flag --machine-type specifica il tipo di macchina come e2-medium.
    • Il flag --zone specifica dove è creata la VM.
    • Se ometti il flag --zone, lo strumento gcloud può dedurre la zona desiderata dalle proprietà predefinite. Altre impostazioni obbligatorie dell'istanza, come machine type e image, vengono impostate sui valori predefiniti se non sono specificate nel comando create.

    Verifica l'attività completata

    Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai creato correttamente la macchina virtuale con lo strumento gcloud, ti verrà assegnato un punteggio di valutazione.

    Crea una macchina virtuale con gcloud
    • Per aprire la guida del comando create, esegui questo comando:
    gcloud compute instances create --help Nota: premi Invio o la barra spaziatrice per scorrere i contenuti della guida. Per uscire dai contenuti, digita Q.

Esplorazione dei comandi gcloud

Lo strumento gcloud offre semplici linee guida di utilizzo disponibili aggiungendo il flag -h (per la guida) alla fine di ogni comando gcloud.

  1. Esegui questo comando:

    gcloud -h

Puoi consultare una guida più dettagliata aggiungendo il flag --help a un comando o eseguendo il comando gcloud help.

  1. Esegui questo comando:

    gcloud config --help

    Per uscire, digita Q e premi Invio.

  2. Esegui questo comando:

    gcloud help config

    I risultati dei comandi gcloud config --help e gcloud help config sono equivalenti. Entrambi offrono una lunga guida dettagliata.

    Lo strumento gcloud include flag globali che regolano il comportamento dei comandi a livello di ogni chiamata. I flag sostituiscono eventuali valori impostati nelle proprietà dell'SDK.

  3. Visualizza l'elenco delle configurazioni nel tuo ambiente:

    gcloud config list
  4. Per vedere tutte le proprietà e le informazioni:

    gcloud config list --all
  5. Elenca i tuoi componenti:

    gcloud components list

    Questo comando visualizza i componenti gcloud pronti per essere utilizzati in questo lab.

Attività 2: filtra l'output della riga di comando

L'interfaccia a riga di comando gcloud è un potente strumento per lavorare con la riga di comando. Potresti voler visualizzare informazioni specifiche.

  1. Elenca l'istanza di calcolo disponibile nel progetto:

    gcloud compute instances list Nota: avere più risorse di cui è stato eseguito il deployment in un progetto è molto comune. Fortunatamente gcloud ha una formattazione intelligente che può aiutare a identificare risorse specifiche.

    Output di esempio:

    NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING
  2. Elenca la macchina virtuale gcelab2:

    gcloud compute instances list --filter="name=('gcelab2')"

    Output di esempio:

    NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING

Nel comando precedente abbiamo chiesto a gcloud di mostrare solo le informazioni che corrispondono ai criteri, ovvero un nome di istanza virtuale che corrisponde ai criteri.

  1. Elenca le regole del firewall nel progetto:

    gcloud compute firewall-rules list

    Output:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False
  2. Elenca le regole del firewall per la rete predefinita:

    gcloud compute firewall-rules list --filter="network='default'"

    Output:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False
  3. Elenca le regole del firewall per la rete predefinita in cui la regola di autorizzazione corrisponde a una regola ICMP:

    gcloud compute firewall-rules list --filter="NETWORK:'default' AND ALLOW:'icmp'"

    Output:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False

Attività 3: connettiti alla tua istanza VM

gcloud compute semplifica la connessione alle istanze. Il comando gcloud compute ssh fornisce un wrapper attorno a SSH, che si occupa dell'autenticazione e della mappatura dei nomi delle istanze agli indirizzi IP.

  1. Per connetterti alla VM con SSH, esegui questo comando:

    gcloud compute ssh gcelab2 --zone $ZONE

    Output:

    WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. Do you want to continue? (Y/n)
  2. Per continuare, digita Y.

    Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)
  3. Per lasciare la passphrase vuota, premi Invio due volte.

    Nota: hai effettuato la connessione alla macchina virtuale creata in precedenza nel lab. Hai notato come è cambiato il prompt dei comandi?

    Nel prompt ora c'è un messaggio simile a sa_107021519685252337470@gcelab2.

    • Il riferimento prima di @ indica l'account in uso.
    • Quello dopo il segno @ indica l'accesso alla macchina host.
  4. Installa il server web nginx sulla macchina virtuale:

    sudo apt install -y nginx
  5. Non devi fare niente qui, quindi per disconnetterti da SSH e uscire dalla shell remota, esegui il comando seguente:

    exit

    Questo dovrebbe riportarti al prompt dei comandi del tuo progetto.

Attività 4: aggiorna il firewall

Quando si utilizzano risorse di calcolo come le macchine virtuali, è importante comprendere le regole del firewall associate.

  1. Elenca le regole del firewall per il progetto:

    gcloud compute firewall-rules list

    Output:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False

    Da quanto sopra puoi vedere che ci sono due reti disponibili. La rete predefinita è quella in cui si trova la macchina virtuale gcelab2.

  2. Prova ad accedere al servizio nginx in esecuzione sulla macchina virtuale gcelab2.

    Nota: la comunicazione con la macchina virtuale avrà esito negativo poiché non dispone di una regola firewall appropriata. Il server web nginx prevede che le comunicazioni avvengano sulla porta tcp:80. Per far funzionare la comunicazione devi:

    • aggiungere un tag alla macchina virtuale gcelab2;
    • aggiungere una regola firewall per il traffico http.
  3. Aggiungi un tag alla macchina virtuale:

    gcloud compute instances add-tags gcelab2 --tags http-server,https-server
  4. Aggiorna la regola del firewall per consentire:

    gcloud compute firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server
  5. Elenca le regole del firewall per il progetto:

    gcloud compute firewall-rules list --filter=ALLOW:'80'

    Output:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-http default INGRESS 1000 tcp:80 False
  6. Verifica che la comunicazione sia possibile per il protocollo http con la macchina virtuale:

    curl http://$(gcloud compute instances list --filter=name:gcelab2 --format='value(EXTERNAL_IP)')

Vedrai l'output predefinito di nginx.

Attività 5: visualizza i log di sistema

La visualizzazione dei log è essenziale per comprendere il funzionamento del progetto. Usa gcloud per accedere ai diversi log disponibili su Google Cloud.

  1. Visualizza i log disponibili sul sistema:

    gcloud logging logs list

    Output:

    NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/GCEGuestAgent NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/OSConfigAgent NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/autoscaler.googleapis.com%2Fstatus_change NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Factivity NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Fdata_access NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Fsystem_event NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fautoscaler NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Finstance_group_manager_events NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fshielded_vm_integrity NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/run.googleapis.com%2Fstderr NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/run.googleapis.com%2Fstdout
  2. Visualizza i log relativi alle risorse di calcolo:

    gcloud logging logs list --filter="compute"

    Output:

    NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fautoscaler NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Finstance_group_manager_events NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fshielded_vm_integrity
  3. Leggi i log relativi al tipo di risorsa di gce_instance:

    gcloud logging read "resource.type=gce_instance" --limit 5
  4. Leggi i log per una macchina virtuale specifica:

    gcloud logging read "resource.type=gce_instance AND labels.instance_name='gcelab2'" --limit 5

Attività 6: verifica le tue conoscenze

La seguente domanda a scelta multipla dovrebbe consolidare le tue conoscenze dei concetti esposti in questo lab.

Complimenti!

Hai imparato ad avviare Cloud Shell e a eseguire alcuni comandi gcloud di esempio.

Prossimi passi/Scopri di più

Continua a imparare seguendo questi lab:

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: 26 gennaio 2024

Ultimo test del lab: 15 settembre 2022

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.