Checkpoint
Create a virtual machine with gcloud
/ 100
Introduzione a Cloud Shell e gcloud
GSP002
Panoramica
Cloud Shell fornisce l'accesso da riga di comando alle risorse di computing 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 computing 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
onano
.
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).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Come avviare il lab e accedere alla console Google Cloud
-
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
-
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. -
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.
-
Fai clic su Avanti.
-
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.
-
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. -
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.
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.
- Fai clic su 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:
gcloud
è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.
- (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
-
Fai clic su Autorizza.
-
L'output dovrebbe avere ora il seguente aspetto:
Output:
- (Facoltativo) Puoi elencare l'ID progetto con questo comando:
Output:
Output di esempio:
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 e 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 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.
-
Imposta la regione su
gcloud config set compute/region {{{project_0.default_region | REGION}}} -
Per visualizzare l'impostazione della regione del progetto, esegui il comando seguente:
gcloud config get-value compute/region -
Imposta la zona su
: gcloud config set compute/zone {{{project_0.default_zone | ZONE}}} -
Per visualizzare l'impostazione della zona del progetto, esegui il comando seguente:
gcloud config get-value compute/zone
Trova le informazioni del progetto
-
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 () e poi suPanoramica > Dashboard).
- Nella scheda del lab vicino al tuo nome utente e alla tua password.
-
In Cloud Shell, esegui questo comando
gcloud
, per visualizzare l'ID per il tuo progetto:gcloud config get-value project -
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
egoogle-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.
-
Crea una variabile di ambiente per archiviare il tuo ID progetto:
export PROJECT_ID=$(gcloud config get-value project) -
Crea una variabile di ambiente per archiviare la tua zona:
export ZONE=$(gcloud config get-value compute/zone) -
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).
-
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.default_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 strumentogcloud
può dedurre la zona desiderata in base alle proprietà predefinite. Altre impostazioni obbligatorie dell'istanza, comemachine type
eimage
, vengono impostate sui valori predefiniti se non sono specificate nel comandocreate
.
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 sull'utilizzo disponibili aggiungendo il flag -h
(per la guida) alla fine di ogni comando gcloud
.
-
Esegui questo comando:
gcloud -h
Puoi consultare una guida più dettagliata aggiungendo il flag --help
a un comando o eseguendo il comando gcloud help
.
-
Esegui questo comando:
gcloud config --help Per uscire, digita
Q
e premi Invio. -
Esegui questo comando:
gcloud help config I risultati dei comandi
gcloud config --help
egcloud 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. -
Visualizza l'elenco delle configurazioni nel tuo ambiente:
gcloud config list -
Vedi tutte le proprietà e le informazioni:
gcloud config list --all -
Elenca i tuoi componenti:
gcloud components list Questo comando visualizza i componenti
gcloud
che puoi usare 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.
-
Elenca l'istanza di computing 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.default_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING -
Elenca la macchina virtuale gcelab2:
gcloud compute instances list --filter="name=('gcelab2')" Output di esempio:
NAME: gcelab2 ZONE: {{{project_0.default_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.
-
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 -
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 -
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.
-
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) -
Per continuare, digita Y.
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase) -
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.
-
Installa il server web
nginx
sulla macchina virtuale:sudo apt install -y nginx -
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 computing come le macchine virtuali, è importante comprendere le regole del firewall associate.
-
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 virtualegcelab2
. -
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
-
Aggiungi un tag alla macchina virtuale:
gcloud compute instances add-tags gcelab2 --tags http-server,https-server -
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 -
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 -
Verifica che la comunicazione del protocollo http con la macchina virtuale sia possibile:
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.
-
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 -
Visualizza i log relativi alle risorse di computing:
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 -
Leggi i log relativi al tipo di risorsa di
gce_instance
:gcloud logging read "resource.type=gce_instance" --limit 5 -
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ù
-
Per saperne di più su Cloud Shell, consulta la documentazione di Cloud Shell o guarda il video di YouTube Using Google Cloud Shell.
-
Per saperne di più su
gcloud
, consulta la documentazione di gcloud o guarda il video di YouTube Getting Help with gcloud.
Continua a imparare seguendo questi lab:
- Provisioning di servizi con Google Cloud Marketplace
- Creazione di un disco permanente
- Configurazione di reti tramite gcloud
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: 9 settembre 2024
Ultimo test del lab: 9 settembre 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.