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.
Interfaccia della riga di comando di Azure per sviluppatori (azd) supporta diversi fornitori di infrastrutture come codice (IaC), tra cui:
Per impostazione predefinita, azd presuppone Bicep come provider IaC. Fare riferimento all'articolo Comparing Terraform e Bicep per informazioni sulla scelta del provider IaC più adatto al progetto.
Nota
Terraform è ancora in versione beta. Per altre informazioni sul supporto delle funzionalità alfa e beta, vedere la pagina relativa al controllo delle versioni delle funzionalità e alla strategia di rilascio
Prerequisiti
- Installare e configurare Terraform
- Installare e accedere a Azure CLI (v 2.38.0+)
- Visualizzare il diagramma dell'architettura e le risorse Azure da distribuire nel modello Node.js o Python Terraform.
Nota
Anche se azd non si basa su un account di accesso Azure CLI, Terraform richiede Azure CLI. Per altre informazioni su questo requisito, vedere la documentazione ufficiale di Terraform.
Configurare Terraform come provider IaC
Aprire il file
azure.yamlpresente nella radice del progetto e assicurarsi di avere le righe seguenti per eseguire l'override del valore predefinito, ovvero Bicep:infra: provider: terraformAggiungi tutti i
.tffile nella directoryinfratrovata nel root del progetto.Eseguire
azd up.
Nota
Vedere questi due modelli azd con Terraform come provider IaC: Node.js e Terraform e Python e Terraform.
azd pipeline config per Terraform
Terraform archivia lo stato relativo all'infrastruttura gestita e alla configurazione. A causa di questo file di stato, è necessario abilitare lo stato remoto before si esegue azd pipeline config per configurare la pipeline di distribuzione in GitHub.
Per impostazione predefinita, azd presuppone l'uso del file di stato locale. Se è stato eseguito azd up prima di abilitare lo stato remoto, è necessario eseguire azd down e passare al file di stato remoto.
Stato locale e remoto
Terraform usa dati di stato persistenti per tenere traccia delle risorse gestite.
Scenari per l'abilitazione dello stato remoto:
- Per consentire l'accesso condiviso ai dati sullo stato e consentire a più persone di collaborare su tale raccolta di risorse dell'infrastruttura
- Per evitare di esporre informazioni riservate incluse nel file di stato
- Per ridurre la probabilità di eliminazione accidentale a causa dell'archiviazione dello stato in locale
Abilitare lo stato remoto
Assicurarsi di configurare un account di archiviazione con stato remoto.
Aggiungere un nuovo file denominato
provider.conf.jsonnellainfracartella .{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }Aggiornamento
provider.tftrovato nellainfracartella per impostare il back-end come remoto# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }Eseguire
azd env set <key> <value>per aggiungere la configurazione nel.envfile. Ad esempio:azd env set RS_STORAGE_ACCOUNT your_storage_account_name azd env set RS_CONTAINER_NAME your_terraform_container_name azd env set RS_RESOURCE_GROUP your_storage_account_resource_groupEseguire il comando successivo
azdin base al flusso di lavoro consueto. Quando viene rilevato lo stato remoto,azdinizializza Terraform con la configurazione back-end configurata.Per condividere l'ambiente con i compagni di squadra, assicurarsi di eseguire
azd env refresh -e <environmentName>per aggiornare le impostazioni dell'ambiente nel sistema locale ed eseguire il passaggio 4 per aggiungere la configurazione nel.envfile.
Vedi anche
- Altre informazioni sulla dipendenza di Terraform da Azure CLI.
- Per altre informazioni sullo stato remoto, vedere store Terraform state in Azure Storage.
- Modello: React Web App con API Node.js e MongoDB (Terraform) in Azure
Passaggi successivi
Domande frequenti Azure Developer CLI