Guia de início rápido: exportar recursos do Azure para o código HCL usando o Azure Export for Terraform
No artigo Exportar seus primeiros recursos usando o Azure Export for Terraform, você aprenderá a exportar recursos do Azure para arquivos de estado local usando o Azure Export for Terraform. Neste artigo, você aprenderá a gerar os arquivos de configuração do Terraform a partir de seus recursos do Azure.
- Crie um grupo de recursos do Azure de teste usando a CLI do Azure ou o Azure PowerShell.
- Crie uma máquina virtual Linux de teste usando a CLI do Azure ou o Azure PowerShell.
- Exporte o grupo de recursos e a máquina virtual do Azure para arquivos HCL.
- Teste se o estado local corresponde ao estado dos recursos no Azure.
Pré-requisitos
Criar os recursos de teste do Azure
Crie uma VM Linux.
Execute az group create para criar um grupo de recursos do Azure.
az group create --name myResourceGroup --location eastus
Execute az vm create para criar a máquina virtual.
az vm create \ --resource-group myResourceGroup \ --name myVM \ --image Debian11 \ --admin-username azureadmin \ --generate-ssh-keys \ --public-ip-sku Standard
Entenda o sinalizador somente HCL
O Azure Export for Terraform dá suporte a um sinalizador - - --hcl-only
que causa a geração dos seguintes arquivos do(s) recurso(s) exportado(s):
- Arquivos HCL gerados
.tf
. - Arquivo de mapeamento
aztfexportResourceMapping.json
. - Os recursos ignorados estão listados em
aztfexportSkippedResources.txt
.
O --hcl-only
sinalizador é suportado para todos os comandos de exportação primários usados para exportação:
- recurso
- resource-group
- query
- arquivo de mapeamento
Para exibir os comandos disponíveis do Azure Export for Terraform, execute o seguinte comando:
aztfexport --help
O --hcl-only
sinalizador é útil em cenários em que você não precisa do estado ou não tem certeza se precisa gerar o estado. Para exportar toda a configuração gerada para o estado, execute aztfexport mapping-file
.
Gorjeta
Ao usar o sinalizador, direcione um diretório vazio para evitar fazer alterações indesejadas em qualquer estado atual durante o --hcl-only
estágio de exportação.
Exportar um recurso do Azure
Você pode executar a aztfexport
ferramenta em um dos dois modos: interativo e não interativo. Para esta demonstração, você usa o modo não interativo.
Crie um diretório no qual testar.
Abra um prompt de comando e navegue até o novo diretório.
Executar
aztfexport resource-group
para exportar o grupo de recursos chamadomyResourceGroup
.aztfexport resource-group --non-interactive --hcl-only myResourceGroup
Nota
A execução do Azure Export for Terraform pode levar vários minutos para ser concluída.
Verificar os resultados
Depois que a ferramenta terminar de exportar seus recursos do Azure, verifique os seguintes arquivos no diretório onde você executou o Azure Export for Terraform:
main.tf
contém o código HCL que define os recursos exportados.aztfexportResourceMapping.json
contém os mapeamentos Azure/Terraform. O arquivo de mapeamento inclui as seguintes informações para cada recurso exportado do Azure: ID do recurso do Azure, tipo de recurso Terraform e nome do recurso Terraform. O conteúdo do arquivo de mapeamento espelha o que o Azure Export for Terraform exibe durante o processo de exportação.aztfexportSkippedResources.txt
Contém a lista de recursos ignorados. Você não deve ver este arquivo para este exemplo.
Clean up resources (Limpar recursos)
Quando não precisar mais dos recursos criados neste artigo, execute as seguintes etapas:
Navegue até o diretório que contém seus arquivos Terraform para este artigo.
Correr terraform destruir.
terraform destroy