Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Terraform abilita la definizione, l'anteprima e la distribuzione dell'infrastruttura cloud. Con Terraform si creano file di configurazione usando la sintassi HCL. La sintassi HCL consente di specificare il provider di servizi cloud, ad esempio Azure, e gli elementi che costituiscono l'infrastruttura cloud. Dopo aver creato i file di configurazione, si crea un piano di esecuzione che consente di visualizzare in anteprima le modifiche dell'infrastruttura prima della distribuzione. Dopo aver verificato le modifiche, è possibile applicare il piano di esecuzione per distribuire l'infrastruttura.
In questo articolo vengono eseguiti i file terraform creati nell'articolo precedente di questa serie. Il risultato è una convalida della connettività tra le reti virtuali demo.
In questo articolo vengono illustrate le operazioni seguenti:
- Implementare la rete virtuale hub nella topologia hub-spoke
- Verificare le risorse da distribuire
- Creare le risorse in Azure
- Verificare la connettività tra reti diverse
1. Configurare l'ambiente
- Sottoscrizione di Azure: se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Configurare Terraform: se non è già stato fatto, configurare Terraform usando una delle opzioni seguenti:
Creare una topologia di rete ibrida hub-spoke con Terraform in Azure
Creare un'appliance di rete virtuale hub con Terraform in Azure
2. Verificare la configurazione
Nella directory di esempio verificare che siano presenti tutti i file creati in questa serie di articoli:
| Nome del file | Articolo in cui viene creato il file |
|---|---|
| main.tf | Creare una topologia di rete ibrida hub-spoke con Terraform in Azure |
| variables.tf | Creare una topologia di rete ibrida hub-spoke con Terraform in Azure |
| on-prem.tf | Creare una rete virtuale locale con Terraform in Azure |
| hub-vnet.tf | Creare una rete virtuale hub con Terraform in Azure |
| hub-nva.tf | Creare un'appliance di rete virtuale hub con Terraform in Azure |
| spoke1.tf | Creare reti virtuali spoke con Terraform in Azure |
| spoke2.tf | Creare reti virtuali spoke con Terraform in Azure |
3. Inizializzare Terraform
Eseguire terraform init per inizializzare la distribuzione di Terraform. Questo comando scarica il provider di Azure necessario per gestire le risorse di Azure.
terraform init -upgrade
Punti chiave:
- Il parametro
-upgradeaggiorna i plug-in del provider necessari alla versione più recente conforme ai vincoli di versione della configurazione.
4. Creare un piano di esecuzione Terraform
Eseguire terraform plan per creare un piano di esecuzione.
terraform plan -out main.tfplan
Punti chiave:
- Il comando
terraform plancrea un piano di esecuzione, ma non lo esegue. Determina invece le azioni necessarie per creare la configurazione specificata nei file di configurazione. Questo modello consente di verificare se il piano di esecuzione corrisponde alle aspettative prima di apportare modifiche alle risorse effettive. - Il parametro facoltativo
-outconsente di specificare un file di output per il piano. L'uso del parametro-outgarantisce che il piano esaminato sia esattamente quello applicato.
5. Applicare un piano di esecuzione di Terraform
Eseguire terraform apply per applicare il piano di esecuzione all'infrastruttura cloud.
terraform apply main.tfplan
Punti chiave:
- Il comando
terraform applydi esempio presuppone che in precedenza sia stato eseguitoterraform plan -out main.tfplan. - Se è stato specificato un nome file diverso per il parametro
-out, usare lo stesso nome file nella chiamata aterraform apply. - Se non è stato usato il parametro
-out, chiamareterraform applysenza parametri.
6. Verificare i risultati
Questa sezione illustra come testare la connettività dall'ambiente locale simulato alla rete virtuale dell'hub.
Passare al portale di Azure.
Nel portale di Azure passare al gruppo di risorse onprem-vnet-rg .
Nella scheda onprem-vnet-rg selezionare la macchina virtuale denominata onprem-vm.
Prendere nota del valore indirizzo IP pubblico .
Tornare alla riga di comando ed eseguire
sshper connettersi all'ambiente locale simulato.ssh azureuser@<onprem_vm_ip_address>Punti chiave:
- Se hai modificato il nome utente
azureusernel filevariables.tf, assicurati di inserire tale valore nel comandossh. - Usare la password specificata durante l'esecuzione di
terraform plan.
- Se hai modificato il nome utente
Dopo la connessione alla macchina virtuale onprem-vm , eseguire il comando per testare la
pingconnettività alla macchina virtuale jumpbox nella rete virtuale dell'hub:ping 10.0.0.68Eseguire il comando
pingper testare la connettività alle macchine virtuali jumpbox in ogni spoke.ping 10.1.0.68 ping 10.2.0.68Per uscire dalla sessione SSH nella macchina virtuale onprem-vm , immettere
exite premere <INVIO>.
7. Pulire le risorse
Quando le risorse create tramite Terraform non sono più necessarie, seguire questa procedura:
Eseguire terraform plan e specificare il
destroyflag.terraform plan -destroy -out main.destroy.tfplanPunti chiave:
- Il comando
terraform plancrea un piano di esecuzione, ma non lo esegue. Determina invece le azioni necessarie per creare la configurazione specificata nei file di configurazione. Questo modello consente di verificare se il piano di esecuzione corrisponde alle aspettative prima di apportare modifiche alle risorse effettive. - Il parametro facoltativo
-outconsente di specificare un file di output per il piano. L'uso del parametro-outgarantisce che il piano esaminato sia esattamente quello applicato.
- Il comando
Eseguire terraform apply per applicare il piano di esecuzione.
terraform apply main.destroy.tfplan
Risolvere i problemi di Terraform in Azure
Risolvere i problemi comuni relativi all'uso di Terraform in Azure