快速入门:使用 Azure Export for Terraform 导出第一个资源

本文介绍如何使用 Azure Export for Terraform 将 Azure 资源导出到本地状态文件中。

  • 使用 Azure CLI 或 Azure PowerShell 创建测试 Azure 资源组。
  • 使用 Azure CLI 或 Azure PowerShell 创建测试 Linux 虚拟机。
  • 将资源组和虚拟机的状态从 Azure 导出到本地状态文件。
  • 测试本地状态是否与 Azure 中的资源状态匹配。

先决条件

创建测试 Azure 资源

创建 Linux VM。

  1. 运行 az group create 以创建 Azure 资源组。

    az group create --name myResourceGroup --location eastus
    
  2. 运行 az vm create 以创建虚拟机。

    az vm create \
      --resource-group myResourceGroup \
      --name myVM \
      --image Debian11 \
      --admin-username azureadmin \
      --generate-ssh-keys \
      --public-ip-sku Standard
    

导出 Azure 资源

可以在以下两种模式之一中运行 aztfexport 该工具:交互式和非交互模式。 对于此演示,你将使用交互式模式。

  1. 创建要在其中进行测试的目录。

  2. 打开命令提示符并导航到新目录。

  3. 运行 aztfexport resource-group 以导出名为 myResourceGroup.. 的资源组。

    aztfexport resource-group myResourceGroup
    
  4. 工具初始化后,将显示要导出的资源列表。 每行都有一个与相应的 AzureRM 资源类型匹配的 Azure resourceID。 可用命令的列表显示在显示底部。 使用其中一个命令,滚动到底部,并验证预期的 Azure 资源是否已正确映射到各自的 Terraform 资源类型。

    Screenshot showing the Azure resources that would be exported based on the command and resource specified when you run the Azure Export for Terraform tool.

  5. 按键 w 运行导出。

    要点

    • 对于非交互式资源,请添加 --non-interactive 标志: aztfexport rg --non-interactive myResourceGroup

注意

运行适用于 Terraform 的 Azure 导出可能需要几分钟才能完成。

验证结果

工具导出完 Azure 资源后,在包含生成的文件的同一目录中运行以下命令。

  1. 运行 terraform init

    terraform init --upgrade
    
  2. 运行 terraform 计划

    terraform plan
    

如果终端输出 不需要更改,请恭喜!

基础结构及其相应的状态已成功导出到 Terraform。

清理资源

如果不再需要本文中创建的资源,请执行以下步骤:

  1. 导航到包含本文的 Terraform 文件的目录。

  2. 运行 terraform 销毁

    terraform destroy
    

后续步骤