arrow_back

Automating Infrastructure on Google Cloud with Terraform: Challenge Lab

Partecipa Accedi

Automating Infrastructure on Google Cloud with Terraform: Challenge Lab

1 ora 30 minuti 1 credito

GSP345

Laboratori autogestiti Google Cloud

Panoramica

Devi completare una serie di attività nel periodo di tempo stabilito. Invece di seguire delle istruzioni dettagliate, ti saranno assegnati uno scenario e una serie di attività: starà a te capire come completarli. Tramite un sistema di valutazione automatico (visibile in questa pagina), riceverai un feedback che ti consentirà di capire se hai completato le attività in modo corretto.

Per ottenere un punteggio del 100% devi completare tutte le attività nel tempo stabilito.

Quando partecipi a un Challenge Lab non ricevi alcuna formazione sui concetti di Google Cloud. Per creare la soluzione che ti farà superare la sfida, dovrai utilizzare le competenze acquisite durante gli altri lab della Quest di cui questo Challenge Lab fa parte. Dovrai migliorare le competenze già acquisite e modificare i valori predefiniti, ma non saranno introdotti nuovi concetti.

Questo lab è consigliato per gli studenti che si sono iscritti alla Quest Automating Infrastructure on Google Cloud with Terraform. Accetti la sfida?

Argomenti di verifica:

  • Importazione dell'infrastruttura esistente nella tua configurazione Terraform.

  • Creazione e riferimento ai tuoi moduli Terraform.

  • Aggiunta di un backend remoto alla tua configurazione.

  • Utilizzo e implementazione di un modulo dal registro Terraform.

  • Riesecuzione del provisioning, eliminazione e aggiornamento dell'infrastruttura.

  • Verifica della connettività tra le risorse create.

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 Qwiklabs 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 di navigazione in incognito o privata per eseguire questo lab. Ciò previene qualsiasi conflitto tra il tuo account personale e l'account Studente, che potrebbe causare costi aggiuntivi sostenuti per il tuo account personale.

  • Tempo a disposizione per completare il lab.
  • Nota: se disponi già del tuo account o progetto Google Cloud personale, non utilizzarlo per questo lab per evitare costi aggiuntivi sul tuo account.

Scenario della sfida

Stai prendendo parte a uno stage come Cloud Engineer per una nuova startup. Per il tuo primo progetto, il tuo nuovo capo ti ha incaricato di creare un'infrastruttura in modo rapido ed efficiente e di generare un meccanismo che ti consenta di tenerne traccia per utilizzarlo o apportarvi modifiche in seguito. Per completare il progetto, ti è stato detto di utilizzare Terraform.

Per questo progetto, utilizzerai Terraform per creare, sottoporre a deployment e tenere traccia dell'infrastruttura sul provider preferito della startup, Google Cloud. Dovrai anche importare nella tua configurazione alcune istanze mal gestite e correggerle.

In questo lab, utilizzerai Terraform per importare e creare più istanze VM, una rete VPC con due subnet e una regola firewall con cui la rete VPC consenta le connessioni tra le due istanze. Creerai anche un bucket Cloud Storage per ospitare il tuo backend remoto.

Alla fine di ogni sezione, mediante i comandi plan e apply, pianifica e applica le modifiche per consentire la verifica del tuo lavoro.

Attività 1. Crea i file di configurazione

  1. In Cloud Shell, crea i tuoi file di configurazione Terraform e una struttura di directory simile alla seguente:

main.tf variables.tf modules/ └── instances ├── instances.tf ├── outputs.tf └── variables.tf └── storage ├── storage.tf ├── outputs.tf └── variables.tf
  1. Compila i file variables.tf nella directory radice e all'interno dei moduli. Aggiungi tre variabili a ogni file: region, zone e project_id. Come valori predefiniti, utilizza us-central1, us-central1-a e il tuo ID progetto Google Cloud.
Dovresti usare queste variabili ovunque siano applicabili nelle configurazioni delle tue risorse.
  1. Aggiungi il blocco Terraform e il provider Google al file main.tf. Verifica che l'argomento zone sia stato aggiunto insieme agli argomenti project e region nel blocco del provider Google.

  2. Inizializza Terraform.

Attività 2. Importa l'infrastruttura

  1. In Google Cloud Console, nel menu di navigazione, fai clic su Compute Engine > Istanze VM. Due istanze denominate tf-instance-1 e tf-instance-2 sono già state create automaticamente.
Suggerimento: facendo clic su una delle istanze, puoi trovarne l'ID istanza, l'immagine disco di avvio e il tipo di macchina. Questi elementi sono tutti necessari per scrivere correttamente le configurazioni e importarle in Terraform.
  1. Importa le istanze esistenti nel modulo instances. Per farlo, dovrai seguire questi passaggi:
  • Innanzitutto, aggiungi al file main.tf il riferimento al modulo, quindi inizializza nuovamente Terraform.

  • Quindi, scrivi le configurazioni delle risorse nel file instances.tf in modo che corrispondano alle istanze preesistenti.

    • Denomina le tue istanze tf-instance-1 e tf-instance-2.
    • Ai fini di questo lab, la configurazione delle risorse deve essere ridotta al minimo. Per farlo, dovrai solo includere i seguenti argomenti aggiuntivi alla tua configurazione: machine_type, boot_disk, network_interface, metadata_startup_script e allow_stopping_for_update. Per gli ultimi due argomenti, utilizza la seguente configurazione poiché in questo modo non sarà necessario ricrearla:
    metadata_startup_script = <<-EOT #!/bin/bash EOT allow_stopping_for_update = true
  • Dopo aver scritto le configurazioni delle risorse all'interno del modulo, utilizza il comando terraform import per importarle nel tuo modulo instances.

  1. Applica le tue modifiche. Nota che, poiché non hai compilato tutti gli argomenti in tutta la configurazione, il comando apply aggiornerà le istanze in loco. Questo va bene ai fini del lab, ma in un ambiente di produzione dovresti assicurarti di compilare correttamente tutti gli argomenti prima dell'importazione.

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

Attività 3. Configura un backend remoto

  1. Crea una risorsa bucket Cloud Storage all'interno del modulo storage. Per il bucket name, utilizza . Per gli altri argomenti, puoi semplicemente utilizzare:
  • location = "US"
  • force_destroy = true
  • uniform_bucket_level_access = true
Facoltativamente, puoi aggiungere valori di output all'interno del file outputs.tf.
  1. Aggiungi al file main.tf il riferimento al modulo. Inizializza il modulo e, con il comando apply, applica le modifiche per creare il bucket utilizzando Terraform.

  2. Configura questo bucket di archiviazione come il backend remoto all'interno del file main.tf. Assicurati di utilizzare il prefisso terraform/state in modo che possa essere valutato correttamente.

  3. Se hai scritto correttamente la configurazione, con il comando init, Terraform ti chiederà se vuoi copiare nel nuovo backend i dati di stato esistenti. Al prompt, digita yes.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Configura un backend remoto.

Attività 4. Modifica e aggiorna l'infrastruttura

  1. Vai al modulo instances e modifica la risorsa tf-instance-1 per utilizzare un tipo di macchina n1-standard-2.

  2. Modifica la risorsa tf-instance-2 per utilizzare un tipo di macchina n1-standard-2.

  3. Aggiungi una terza risorsa instance e denominala . Per questa terza risorsa, utilizza un tipo di macchina n1-standard-2.

  4. Inizializza Terraform e utilizza il comando apply per applicare le modifiche.

Facoltativamente, puoi aggiungere all'interno del modulo valori di output da queste risorse nel file outputs.tf.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Modifica e aggiorna l'infrastruttura.

Attività 5. Contrassegna le risorse come danneggiate ed eliminale

  1. Contrassegna come danneggiata la terza istanza e poi, mediante i comandi plan e apply, pianifica e applica le tue modifiche per ricrearla.

  2. Distruggi la terza istanza rimuovendola risorsa dal file di configurazione. Dopo la rimozione, inizializza Terraform e applica le modifiche con il comando apply.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Contrassegna le risorse come danneggiate ed eliminale.

Attività 6. Utilizza un modulo del registro

  1. Nel registro Terraform, vai al modulo di rete.

  2. Aggiungi questo modulo al tuo file main.tf. Utilizza le seguenti configurazioni:

  • Utilizza la versione 3.4.0 (altre versioni potrebbero causare errori di compatibilità).

  • Denomina il VPC e utilizza una modalità di routing globale.

  • Specifica 2 subnet nell'area geografica us-central1 e denominale subnet-01 e subnet-02. Per gli argomenti delle subnet, hai solo bisogno di Name, IP e Region.

  • Utilizza l'IP 10.10.10.0/24 per subnet-01 e 10.10.20.0/24 per subnet-02.

  • Non sono necessari route o intervalli secondari associati a questo VPC, quindi puoi ometterli dalla configurazione.

  1. Una volta scritta la configurazione del modulo, inizializza Terraform ed esegui un comando apply per creare le reti.

  2. Quindi, vai al file instances.tf e aggiorna le risorse di configurazione per connettere tf-instance-1 a subnet-01 e tf-instance-2 a subnet-02.

Suggerimento: per quanto riguarda la configurazione delle istanze, sarà necessario aggiornare l'argomento network a e quindi aggiungere l'argomento subnetwork con la subnet corretta per ogni istanza.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Utilizza un modulo del registro.

Attività 7. Configura un firewall

  1. Crea una risorsa regola firewall nel file main.tf e denominala tf-firewall.
  • Questa regola firewall dovrebbe consentire alla rete di autorizzare connessioni in entrata in tutti gli intervalli IP (0.0.0.0/0) sulla porta TCP 80.
  • Assicurati di aggiungere l'argomento source_ranges con l'intervallo IP corretto (0.0.0.0/0).
  • Inizializza Terraform e utilizza il comando apply per applicare le modifiche.
Suggerimento: per recuperare l'argomento network richiesto, puoi controllare lo stato e trovare l'elemento ID o self_link della risorsa google_compute_network che hai creato. Il formato sarà projects/PROJECT_ID/global/networks/.

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

Test di connettività (facoltativo)

Dopo aver creato una regola firewall per consentire le connessioni interne sul VPC, puoi facoltativamente eseguire un test di connettività di rete.

  1. Assicurati che entrambe le tue VM siano in esecuzione.

  2. Vai a Intelligence di rete > Test di connettività. Esegui un test sulle due VM per verificarne la connettività. A questo punto hai convalidato la connettività tra le istanze.

Nota: assicurati che l'API Network Management sia abilitata. In caso contrario, fai clic su Abilita.

Le tue impostazioni di configurazione dovrebbero essere simili alle seguenti:

5e16c33f42d20029.png

Complimenti!

Se hai importato, creato, modificato e configurato l'architettura nel tempo stabilito, hai dimostrato un'ottima conoscenza di Terraform! In questo lab, per prima cosa, hai importato in Terraform due VM preconfigurate e creando un bucket Cloud Storage per configurare il tuo backend. Quindi, hai aggiunto un'altra istanza e hai fatto pratica nel modificare e aggiornare le configurazioni delle risorse all'interno dei tuoi moduli. Infine, hai utilizzato un modulo del registro Terraform per creare un VPC con due subnet, hai collegato le istanze al modulo e hai creato una regola firewall per consentire le connessioni tra le istanze.

Automating_Infrastructure_with_Terraform_Skill_badge_WBG.png

Guadagna il tuo prossimo badge delle competenze

Questo self-paced lab fa parte della Quest Automating Infrastructure on Google Cloud with Terraform. Il completamento di questa Quest di badge delle competenze ti permette di ottenere il badge qui sopra come riconoscimento per l'obiettivo raggiunto. Condividi il badge sul tuo CV e sulle piattaforme social e annuncia il risultato che hai raggiunto utilizzando #GoogleCloudBadge.

Passaggi successivi

Ora che hai dimostrato le tue competenze su Terraform e hai ottenuto il badge delle competenze Google Cloud, potresti decidere di registrarti per la certificazione HashiCorp Infrastructure Automation Certification. La certificazione Associate di Terraform è destinata ai Cloud Engineer specializzati in operazioni, IT o sviluppo che conoscono i concetti e le competenze di base associati alla tecnologia open source HashiCorp Terraform. I candidati saranno preparati al meglio per questo esame se hanno esperienza professionale nell'uso di Terraform nella produzione, ma potrebbe anche essere sufficiente completare gli obiettivi dell'esame in un ambiente demo personale. Pertanto, se vuoi portare le tue competenze al livello successivo e verificare le tue capacità di automazione dell'infrastruttura, ti consigliamo di consultare la guida alla preparazione del test e la revisione dell'esame per poi registrarti all'esame quando ti senti in grado di superarlo. In bocca al lupo!

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: 4 ottobre 2021

Ultimo test del lab: 4 ottobre 2021

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.