快速入門:使用 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。
執行 az group create 以建立 Azure 資源群組。
az group create --name myResourceGroup --location eastus
執行 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
此工具:互動式和非互動式。 在此示範中,您會使用非互動式模式。
建立要在其中測試的目錄。
開啟命令提示字元並流覽至新的目錄。
執行
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
包含略過的資源清單。 在此範例中,您不應該看到此檔案。
清除資源
當您不再需要本文中建立的資源時,請執行下列步驟:
流覽至包含本文 Terraform 檔案的目錄。
執行 terraform 終結。
terraform destroy