快速入門:使用 Azure Export for Terraform 將 Azure 資源導出至 HCL 程式代碼

在文章中, 使用 Azure Export for Terraform 導出您的第一個資源,您將瞭解如何使用 Azure Export for Terraform 將 Azure 資源導出到本機狀態檔案。 在本文中,您將瞭解如何從 Azure 資源產生 Terraform 組態檔。

  • 使用 Azure CLI 或 Azure PowerShell 建立測試 Azure 資源群組。
  • 使用 Azure CLI 或 Azure PowerShell 建立測試 Linux 虛擬機。
  • 將資源群組和虛擬機從 Azure 導出至 HCL 檔案。
  • 測試本機狀態是否符合 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
    

瞭解僅限 hcl 的旗標

適用於 Terraform 的 Azure 匯出支援旗標 - --hcl-only 這會導致從導出的資源產生下列檔案:

  • 產生的 .tf HCL 檔案。
  • 對應檔案 aztfexportResourceMapping.json
  • 略過的資源會列在 中 aztfexportSkippedResources.txt

用於 --hcl-only 匯出的所有主要匯出命令都支援旗標:

  • resource
  • 資源群組
  • query
  • mapping-file

若要檢視可用的 Azure Export for Terraform 命令,請執行下列命令:

aztfexport --help

--hcl-only 標適用於您不需要狀態或不確定是否需要產生狀態的案例。 若要將所有產生的組態匯出為狀態,請執行 aztfexport mapping-file

提示

使用 --hcl-only 旗標時,請以空白目錄為目標,以避免在匯出階段期間對任何目前狀態進行不必要的變更。

匯出 Azure 資源

您可以在兩種模式之一中執行 aztfexport 此工具:互動式和非互動式。 在此示範中,您會使用非互動式模式。

  1. 建立要在其中測試的目錄。

  2. 開啟命令提示字元並流覽至新的目錄。

  3. 執行 aztfexport resource-group 以匯出名為 myResourceGroup的資源群組。

    aztfexport resource-group --non-interactive --hcl-only myResourceGroup
    

注意

執行適用於 Terraform 的 Azure 匯出可能需要幾分鐘的時間才能完成。

驗證結果

在工具完成匯出 Azure 資源之後,請在您執行 Azure Export for Terraform 的目錄中確認下列檔案:

  • main.tf 包含定義匯出資源的 HCL 程式代碼。
  • aztfexportResourceMapping.json 包含 Azure/Terraform 對應。 對應檔案包含每個匯出 Azure 資源的資訊:Azure 資源識別碼、Terraform 資源類型和 Terraform 資源名稱。 對應檔案的內容會反映導出程式期間 Azure Export for Terraform 所顯示的內容。
  • aztfexportSkippedResources.txt 包含略過的資源清單。 在此範例中,您不應該看到此檔案。

清除資源

當您不再需要本文中建立的資源時,請執行下列步驟:

  1. 流覽至包含本文 Terraform 檔案的目錄。

  2. 執行 terraform 終結

    terraform destroy
    

下一步