Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Azure Developer CLI (azd) suporta múltiplas infraestruturas como fornecedores de código (IaC), incluindo:
Por defeito, azd assume Bicep como fornecedor de IaC. Consulte o artigo Comparing Terraform and Bicep para obter ajuda a decidir qual o fornecedor de IaC mais adequado para o seu projeto.
Nota
Terraform ainda está em beta. Leia mais sobre o suporte a funcionalidades alfa e beta na página de versionamento de funcionalidades e estratégias de lançamento
Pré-requisitos
- Instalar e configurar o Terraform
- Instalar e iniciar sessão em Azure CLI (v 2.38.0+)
- Revise o diagrama de arquitetura e os recursos de Azure que irá implementar no Node.js ou Python template Terraform.
Nota
Embora o azd não dependa de um login Azure CLI, o Terraform exige Azure CLI. Leia mais sobre este requisito na documentação oficial da Terraform.
Configurar o Terraform como o provedor IaC
Abra o ficheiro
azure.yamlencontrado na raiz do seu projeto e certifique-se de que tem as seguintes linhas para sobrepor o padrão, que é Bicep:infra: provider: terraformAdiciona todos os teus
.tfficheiros aoinfradiretório encontrado na raiz do teu projeto.Execute
azd up.
Nota
Consulta estes dois modelos azd com o Terraform como Provedor de IaC: Node.js e Terraform e Python e Terraform.
azd pipeline config para Terraform
Terraform armazena o estado sobre sua infraestrutura gerenciada e configuração. Por causa deste ficheiro de estado, precisas de ativar o estado remoto antes executares azd pipeline config para configurar o teu pipeline de implementação em GitHub.
Por defeito, azd assume o uso do ficheiro de estado local. Se executaste azd up antes de ativar o estado remoto, precisas de correr azd down e mudar para o ficheiro de estado remoto.
Estado local vs estado remoto
A Terraform utiliza dados de estado persistente para acompanhar os recursos que gere.
Cenários para habilitar o estado remoto:
- Para permitir o acesso compartilhado aos dados do estado e permitir que várias pessoas trabalhem juntas nessa coleção de recursos de infraestrutura
- Para evitar a exposição de informações confidenciais incluídas no arquivo de estado
- Para diminuir a chance de exclusão inadvertida devido ao armazenamento local do estado
Ativar estado remoto
Certifique-se de configurar uma conta de armazenamento de estado remoto.
Adiciona um novo ficheiro chamado
provider.conf.jsonnainfrapasta.{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }Atualização
provider.tfencontrada nainfrapasta para definir o backend como remoto# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }Execute
azd env set <key> <value>para adicionar configuração no.envficheiro. Por exemplo: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_groupExecuta o comando seguinte
azdconforme o teu fluxo de trabalho habitual. Quando o estado remoto é detetado,azdinicializa o Terraform com a configuração do backend configurada.Para partilhar o ambiente com os colegas de equipa, certifique-se de que eles correm
azd env refresh -e <environmentName>para atualizar as definições do ambiente no sistema local e execute o Passo 4 para adicionar configuração no.envficheiro.
Consulte também
- Saiba mais sobre a dependência do Terraform em relação ao Azure CLI.
- Para mais informações sobre o estado remoto, veja store Terraform state em Azure Storage.
- Modelo: React Web App com API Node.js e MongoDB (Terraform) em Azure