Checkpoint
Provision infrastructure
/ 50
Upload files to the bucket
/ 50
Interagire con i moduli Terraform
Questo lab è stato sviluppato in collaborazione con il nostro partner Hashicorp. Le tue informazioni personali potrebbero essere condivise con Hashicorp, lo sponsor del lab, se hai acconsentito a ricevere aggiornamenti, annunci e offerte di prodotti nel profilo del tuo account.
GSP751
Panoramica
Man mano che gestisci la tua infrastruttura con Terraform, vengono create configurazioni sempre più complesse. Non esiste un limite intrinseco alla complessità di un file di configurazione o di una directory di Terraform, quindi puoi continuare a scrivere e aggiornare i file di configurazione in un'unica directory. Se procedi in questo modo, però, potresti riscontrare uno o più dei seguenti problemi:
- I file di configurazione diventeranno sempre più difficili da comprendere ed esplorare.
- L'aggiornamento della configurazione diventerà più rischioso perché un aggiornamento in un blocco può causare conseguenze indesiderate su altri blocchi della configurazione.
- Può aumentare la duplicazione di blocchi di configurazione simili; ad esempio, quando configuri ambienti di sviluppo/temporanei/di produzione separati, questi genereranno un carico maggiore in fase di aggiornamento di quelle parti della configurazione.
- Se vuoi condividere parti della configurazione tra progetti e team, tagliare e incollare i blocchi di configurazione in diversi progetti può essere una soluzione soggetta a errori e difficile da gestire.
In questo lab scoprirai in che modo i moduli possono risolvere questi problemi, qual è la struttura di un modulo Terraform e quali sono le best practice per l'utilizzo e la creazione di moduli.
A cosa servono i moduli?
Ecco alcuni modi in cui i moduli possono essere utili per risolvere i problemi indicati sopra:
-
Organizzare la configurazione: i moduli consentono di esplorare, comprendere e aggiornare più facilmente la configurazione, mantenendo insieme parti della configurazione correlate tra loro. Anche un'infrastruttura di complessità moderata può richiedere l'implementazione di centinaia o migliaia di righe di configurazione. Grazie ai moduli, puoi organizzare la configurazione in componenti logici.
-
Incapsulare la configurazione: un altro vantaggio dell'utilizzo dei moduli consiste nell'incapsulamento della configurazione in componenti logici separati. L'incapsulamento può contribuire a evitare conseguenze indesiderate, ad esempio una modifica in una parte della configurazione che causa modifiche in altre parti della configurazione, e riduce le possibilità di errori banali come l'utilizzo dello stesso nome per due risorse diverse.
-
Riutilizzare la configurazione: scrivere tutta la configurazione senza utilizzare il codice esistente può essere un'attività lunga e soggetta a errori. I moduli ti consentono di risparmiare tempo e ridurre errori costosi attraverso il riutilizzo di una configurazione già scritta da te, da altri membri del tuo team o da altri professionisti di Terraform che hanno pubblicato moduli che puoi utilizzare. Puoi anche condividere i moduli scritti da te con il tuo team o con il pubblico, mettendo a loro disposizione i frutti del tuo lavoro.
-
Assicurare coerenza e best practice: i moduli possono essere utili per garantire la coerenza delle tue configurazioni. Grazie alla coerenza, le configurazioni complesse diventano più facili da comprendere ed è possibile applicare le best practice in tutta la configurazione. Ad esempio, i cloud provider offrono molte opzioni per la configurazione di servizi di archiviazione di oggetti, come Amazon S3 (Simple Storage Service) o i bucket Cloud Storage di Google. Molti incidenti di sicurezza di alto profilo hanno coinvolto l'archiviazione non corretta di oggetti protetti e, dato il numero di opzioni di configurazione complesse coinvolte, è facile che questi servizi vengano accidentalmente configurati in modo errato.
L'uso dei moduli può aiutare a ridurre questi errori. Ad esempio, potresti creare un modulo per descrivere come verranno configurati tutti i bucket del sito web pubblico dell'organizzazione e un altro modulo per i bucket privati utilizzati per le applicazioni di logging. Inoltre, se è necessario aggiornare una configurazione per un tipo di risorsa, con i moduli è possibile apportare l'aggiornamento in un unico posto e fare in modo che venga applicato a tutti i casi in cui viene utilizzato quel modulo.
Obiettivi
In questo lab imparerai a:
- Utilizzare un modulo del registro
- Creare un modulo
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.
Che cos'è un modulo Terraform?
Un modulo Terraform è un set di file di configurazione di Terraform in un'unica directory. Anche una semplice configurazione composta da un'unica directory con uno o più file .tf
è un modulo. Quando esegui comandi Terraform direttamente da una directory di questo tipo, viene considerata un modulo principale. In questo senso, quindi, ogni configurazione di Terraform fa parte di un modulo. Possono esistere semplici set di file di configurazione di Terraform come questo:
In questo caso, quando esegui comandi Terraform dalla directory minimal-module
, il contenuto di quella directory è considerato il modulo principale.
Come richiamare i moduli
I comandi Terraform utilizzeranno direttamente solo i file di configurazione in una directory, che in genere è la directory di lavoro corrente. La tua configurazione, però, può utilizzare blocchi di moduli per richiamare i moduli in altre directory. Quando Terraform rileva un blocco di modulo, carica ed elabora i file di configurazione di quel modulo.
Un modulo che viene chiamato da un'altra configurazione a volte è definito "modulo figlio" di quella configurazione.
Moduli locali e remoti
I moduli possono essere caricati dal file system locale o da un'origine remota. Terraform supporta diverse origini remote, ad esempio il registro Terraform, la maggior parte dei sistemi di controllo delle versioni, gli URL HTTP e i registri di moduli privati Terraform Cloud o Terraform Enterprise.
Best practice relative ai moduli
Per molti aspetti, i moduli Terraform sono concettualmente simili alle librerie, ai pacchetti o ai moduli di altri linguaggi di programmazione e possono fornire molti degli stessi vantaggi. Analogamente a quasi tutti i programmi informatici di una certa pertinenza, le configurazioni di Terraform in scenari reali dovrebbero utilizzare quasi sempre i moduli per assicurare i vantaggi citati sopra.
È consigliabile che i professionisti Terraform utilizzino i moduli seguendo queste best practice:
-
Iniziare a scrivere la configurazione con un piano per i moduli. Anche in configurazioni Terraform di complessità modesta gestite da un'unica persona, i vantaggi che derivano dell'utilizzo dei moduli giustificano ampiamente il tempo necessario per utilizzarli adeguatamente.
-
Usare moduli logici per organizzare e incapsulare il codice. Anche se non usi o non pubblichi moduli remoti, organizzare la configurazione in termini di moduli fin dall'inizio ridurrà significativamente il carico di lavoro per la manutenzione e l'aggiornamento della configurazione man mano che l'infrastruttura diventa più complessa.
-
Usare il registro Terraform pubblico per trovare moduli utili. Questo consente di implementare la configurazione modo in rapido e sicuro, attingendo al lavoro di altri.
-
Pubblicare e condividere moduli con il team. L'infrastruttura è gestita per lo più da un team di persone e i moduli sono uno strumento importante a disposizione dei team per creare e mantenere l'infrastruttura. Come indicato in precedenza, è possibile pubblicare moduli pubblicamente o privatamente. In un modulo successivo di questa serie scoprirai come farlo.
Attività 1: utilizza i moduli del registro
In questa sezione vengono utilizzati i moduli del registro Terraform per eseguire il provisioning di un ambiente di esempio in Google Cloud. I concetti impiegati qui sono validi per qualsiasi modulo da qualsiasi origine.
- Apri la pagina del registro Terraform per il modulo Terraform Network in una nuova scheda o finestra del browser. La pagina sarà simile a questa:
La pagina include informazioni sul modulo e un link al repository di origine. Nella parte destra della pagina troverai un elenco a discesa per selezionare la versione del modulo e le istruzioni per utilizzare il modulo per eseguire il provisioning dell'infrastruttura.
Quando si chiama un modulo, è necessario l'argomento source
. In questo esempio, Terraform cercherà nel registro Terraform un modulo che corrisponde alla stringa specificata. Per l'origine dei moduli si può utilizzare anche un URL o un percorso file locale. Vedi la documentazione di Terraform per un elenco di possibili origini di moduli.
L'altro argomento mostrato qui è version
. Per le origini supportate, la versione consentirà di definire le versioni del modulo che verranno caricate. In questo lab specificherai un numero di versione esatto per i moduli utilizzati. Per conoscere altri modi per specificare le versioni, consulta la documentazione del modulo.
Gli altri argomenti per i blocchi di moduli vengono trattati come variabili di input per i moduli.
Crea una configurazione Terraform
- Per iniziare, esegui il comando seguente in Cloud Shell per clonare il progetto di esempio dal repository GitHub di moduli Google Terraform e passare al ramo
v6.0.1
:
In questo modo ti assicuri di usare il numero di versione corretto.
-
Nella barra degli strumenti di Cloud Shell fai clic su Apri editor. Per passare da Cloud Shell all'editor di codice o viceversa, fai clic su Apri editor o Apri terminale, a seconda del caso, oppure fai clic su Apri in una nuova finestra per lasciare aperto l'editor in una scheda separata.
-
Nell'editor, passa a
terraform-google-network/examples/simple_project
e apri il filemain.tf
. La configurazionemain.tf
sarà analoga a quanto segue:
Questa configurazione include un blocco importante:
-
module "test-vpc-module"
definisce un VPC (Virtual Private Cloud), che fornirà i servizi di rete per il resto dell'infrastruttura.
Imposta i valori per le variabili di input del modulo
Alcune variabili di input sono obbligatorie. Ciò significa che il modulo non è in grado di fornire un valore predefinito, ma è necessario specificare un valore esplicito per la corretta esecuzione di Terraform.
-
All'interno del blocco
"test-vpc-module"
del modulo, esamina le variabili di input che stai impostando. Ognuna di queste variabili di input è documentata nel registro Terraform. Gli input obbligatori per questo modulo sono:-
network_name
: il nome della rete che viene creata -
project_id
: l'ID del progetto in cui verrà creato questo VPC -
subnets
: l'elenco delle subnet che vengono create
-
Per utilizzare la maggior parte dei moduli, dovrai passare le variabili di input alla configurazione del modulo. La configurazione che chiama un modulo si occupa di impostare i propri valori di input, che vengono passati come argomenti al blocco del modulo. A parte source
e version
, gli argomenti per un blocco di modulo imposteranno per lo più valori variabili.
Nella pagina del registro Terraform per il modulo di rete Google Cloud, una scheda Inputs descrive tutte le variabili di input supportate da quel modulo.
Definisci le variabili di input principali
L'uso delle variabili di input con i moduli è molto simile all'uso delle variabili in qualsiasi configurazione Terraform. Un procedimento comune consiste nell'identificare le variabili di input del modulo che potrebbero essere modificate in futuro, quindi creare variabili corrispondenti nel file variables.tf
della configurazione con valori predefiniti appropriati. Queste variabili possono quindi essere passate al blocco del modulo come argomenti.
- Per recuperare l'ID progetto, esegui il comando seguente in Cloud Shell:
-
Nell'editor, sempre nella stessa directory, vai a
variables.tf
. -
Compila la variabile
project_id
con l'output del comando precedente. Devi rispettare il formato seguente e impostare il valoredefault
per la variabile:
- In
variables.tf
, aggiungi la variabilenetwork_name
. Puoi utilizzare il nomeexample-vpc
o un altro nome a tua scelta. Devi rispettare il formato seguente e impostare il valoredefault
per la variabile:
- Tornando al file
main.tf
, aggiorna il parametronetwork_name
per utilizzare la variabile appena definita impostando il valore suvar.network_name
.
- Nel file
main.tf
, aggiorna le regioni di subnet alle righe 35, 40 e 47 daus-west1
a. In questo modo ti assicuri che le subnet vengano create nella regione consentita del progetto. Il modulo dovrebbe essere simile al seguente:
Definisci i valori di output principali
I moduli hanno anche valori di output, che vengono definiti all'interno del modulo con la parola chiave output
. Per accedere a questi valori, fai riferimento a module.<MODULE NAME>.<OUTPUT NAME>
. Come le variabili di input, gli output del modulo sono elencati nella scheda outputs
del registro Terraform.
In genere, gli output dei moduli vengono passati ad altre parti della configurazione o definiti come output nel modulo principale. In questo lab vedremo entrambi gli utilizzi.
- Passa al file
outputs.tf
nella directory della configurazione. Verifica che il file contenga quanto segue:
Esegui il provisioning dell'infrastruttura
- In Cloud Shell, passa alla tua directory
simple_project
:
- Inizializza la tua configurazione Terraform:
- Crea il tuo VPC:
- Per applicare le modifiche e proseguire, rispondi yes alla richiesta.
Bene. Hai appena utilizzato il tuo primo modulo. L'output della configurazione dovrebbe essere simile a questo:
Scopri come funzionano i moduli
La prima volta che utilizzi un nuovo modulo, devi eseguire terraform init
o terraform get
per installarlo. Quando viene eseguito uno di questi comandi, Terraform installa i nuovi moduli nella directory .terraform/modules
all'interno della directory di lavoro della configurazione. Per i moduli locali, Terraform creerà un collegamento simbolico alla directory del modulo. Pertanto, le eventuali modifiche apportate ai moduli locali saranno applicate immediatamente, senza dover eseguire di nuovo terraform get
.
Pulisci l'infrastruttura
A questo punto hai visto come utilizzare i moduli dal registro Terraform, come configurare quei moduli con variabili di input e come ottenere valori di output da quei moduli.
- Elimina l'infrastruttura che hai creato:
-
Rispondi
yes
alla richiesta. Terraform eliminerà l'infrastruttura che hai creato. -
Dopo aver eliminato la risorsa, elimina la cartella
terraform-google-network
.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 2: crea un modulo
Nell'ultima attività hai usato un modulo dal registro Terraform per creare una rete VPC in Google Cloud. Anche se utilizzare i moduli Terraform esistenti è un'abilità importante, è bene che ogni professionista Terraform impari a creare moduli. Ti consigliamo di creare ogni configurazione Terraform supponendo che venga utilizzata come modulo. Questo ti aiuterà a progettare una configurazione flessibile, riutilizzabile e componibile.
Come probabilmente sai già, in Terraform ogni configurazione viene trattata come modulo. Quando esegui i comandi terraform
o usi Terraform Cloud o Terraform Enterprise per eseguire Terraform da remoto, la directory di destinazione che contiene la configurazione Terraform viene considerata il modulo principale.
In questa attività creerai un modulo per gestire i bucket Cloud Storage utilizzati per ospitare siti web statici.
Struttura del modulo
In Terraform, tutte le directory locali indicate nell'argomento source
di un blocco module
vengono considerate un modulo. Ecco una tipica struttura di file per un nuovo modulo:
.tf
o utilizzare la struttura di file che preferisci.
Ognuno di questi file ha uno scopo:
-
LICENSE
contiene la licenza con cui il modulo verrà distribuito. Quando condividi il modulo, il file LICENSE fa sapere agli utenti quali sono i termini in base ai quali viene reso disponibile. Questo file non viene utilizzato da Terraform. -
README.md
contiene la documentazione in formato markdown che descrive come utilizzare il modulo. Terraform non utilizza questo file, ma i servizi come il registro Terraform e GitHub ne mostreranno il contenuto ai visitatori della pagina del registro Terraform o di GitHub del tuo modulo. -
main.tf
contiene il set principale di configurazioni per il modulo. Puoi anche creare altri file di configurazione e organizzarli nel modo più appropriato per il tuo progetto. -
variables.tf
contiene le definizioni delle variabili per il modulo. Quando il modulo viene utilizzato da altri, le variabili verranno configurate come argomenti nel blocco del modulo. Dato che tutte le variabili di Terraform devono essere definite, le variabili che non includono valori predefiniti diventeranno argomenti obbligatori. Una variabile con un valore predefinito può essere fornita come argomento del modulo, con conseguente override del valore predefinito. -
outputs.tf
contiene le definizioni dell'output per il modulo. Gli output del modulo vengono messi a disposizione della configurazione mediante il modulo, quindi spesso vengono utilizzati per passare informazioni sulle parti dell'infrastruttura definite dal modulo ad altre parti della configurazione.
Presta attenzione a questi file e assicurati che non vengano distribuiti come parte del modulo:
- I file
terraform.tfstate
eterraform.tfstate.backup
contengono il tuo stato Terraform e rappresentano il modo in cui Terraform tiene traccia della relazione tra la tua configurazione e l'infrastruttura di cui esegue il provisioning. - La directory
.terraform
contiene i moduli e i plug-in utilizzati per il provisioning dell'infrastruttura. Questi file sono specifici di una singola istanza di Terraform durante il provisioning dell'infrastruttura, non della configurazione dell'infrastruttura definita nei file.tf
. - I file
*.tfvars
non devono necessariamente essere distribuiti insieme al modulo, a meno che non siano utilizzati anche come configurazione Terraform autonoma perché le variabili di input del modulo vengono impostate tramite argomenti per il blocco del modulo nella configurazione.
Crea un modulo
Passa alla directory home e crea un modulo principale costruendo un nuovo file di configurazione main.tf
. Poi crea una directory denominata modules che contiene un'altra cartella denominata gcs-static-website-bucket
. Utilizzerai questi tre file di configurazione all'interno della directory gcs-static-website-bucket
: website.tf
, variables.tf
e outputs.tf
.
- Crea la directory per il nuovo modulo:
- Passa alla directory del modulo ed esegui i comandi seguenti per creare tre file vuoti:
- Nella directory
gcs-static-website-bucket
, esegui il comando seguente per creare un file denominatoREADME.md
con i contenuti seguenti:
- Crea un altro file denominato
LICENSE
con i contenuti seguenti:
La struttura di directory del modulo corrente dovrebbe risultare così:
- Aggiungi questa risorsa del bucket Cloud Storage al tuo file
website.tf
all'interno della directorymodules/gcs-static-website-bucket
:
La documentazione del fornitore si trova su GitHub.
- Passa al file
variables.tf
nel modulo e aggiungi il codice seguente:
- Aggiungi un output al modulo nel file
outputs.tf
all'interno del modulo stesso:
Come per le variabili, gli output nei moduli svolgono la stessa funzione che hanno nel modulo principale, ma sono accessibili in un modo diverso. Agli output di un modulo è possibile accedere come attributi di sola lettura nell'oggetto del modulo, che è disponibile all'interno della configurazione che chiama il modulo.
- Torna al file
main.tf
nella directory root e aggiungi un riferimento al nuovo modulo:
- Nella directory root, crea un file
outputs.tf
per il modulo principale:
- Aggiungi il codice seguente al file
outputs.tf
:
- Nella directory root, crea un file
variables.tf
:
- Aggiungi il seguente codice al file
variables.tf
. Imposta le variabiliproject_id
ename
sul valore predefinito per il tuo ID progetto:.
Installa il modulo locale
Quando aggiungi un nuovo modulo a una configurazione, Terraform deve installare il modulo prima di poterlo utilizzare. I comandi terraform get
e terraform init
consentono entrambi di installare e aggiornare i moduli. Il comando terraform init
, inoltre, inizializza i backend e installa i plug-in.
- Installa il modulo:
- Esegui il provisioning del bucket:
- Rispondi yes alla richiesta. Verrà eseguito il provisioning del bucket e delle altre risorse.
Carica i file nel bucket
A questo punto hai configurato e utilizzato il tuo modulo per creare un sito web statico. Potresti avere l'esigenza di visitare il sito web statico. Al momento il bucket è vuoto, quindi non c'è niente da visualizzare sul sito web. Per vedere contenuti, dovrai caricare oggetti nel bucket. Puoi caricare i contenuti della directory www
nel repository GitHub.
- Scarica i contenuti di esempio nella tua directory home:
- Copia i file nel bucket, sostituendo
YOUR-BUCKET-NAME
con il nome del tuo bucket di archiviazione:
- In una nuova scheda del browser, vai al sito web
https://storage.cloud.google.com/YOUR-BUCKET-NAME/index.html
, sostituendoYOUR-BUCKET-NAME
con il nome del tuo bucket di archiviazione.
Dovrebbe apparire una pagina web HTML di base che dice Niente da visualizzare.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Pulisci il sito web e l'infrastruttura
In ultimo, pulirai il tuo progetto eliminando l'infrastruttura che hai appena creato.
- Elimina le tue risorse Terraform:
Quando rispondi yes
alla richiesta, Terraform eliminerà tutte le risorse che hai creato durante questo lab.
Complimenti!
In questo lab hai appreso le nozioni fondamentali sui moduli Terraform e hai scoperto come utilizzare un modulo preesistente tratto dal registro. Quindi hai creato un modulo personalizzato per creare un sito web statico ospitato in un bucket Cloud Storage. Contestualmente, hai definito gli input, gli output e le variabili per i tuoi file di configurazione e hai imparato quali sono le best practice per la creazione di moduli.
Passaggi successivi/Scopri di più
Tramite questi link puoi accedere ad altre esercitazioni pratiche su Terraform:
- Hashicorp su Google Cloud Marketplace!
- Hashicorp Learn
- Community Terraform
- Esempi Terraform Google
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: 11 dicembre 2023
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.