快速入门:使用适用于 Terraform 的 Azure 导出来导出第一个资源

本文介绍如何使用适用于 Terraform 的 Azure 导出将 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 资源 ID。 可用命令列表显示在显示器底部。 使用其中一个命令,滚动到底部,并验证预期的 Azure 资源是否已正确映射到各自的 Terraform 资源类型。

  5. w 运行导出。

    要点

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

注意

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

验证结果

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

  1. 运行 terraform init

    terraform init --upgrade
    
  2. 运行 terraform plan

    terraform plan
    

如果终端输出不需要更改,那么恭喜你!

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

清理资源

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

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

  2. 运行 terraform destroy

    terraform destroy
    

后续步骤