一種將現有 Azure 資源置於 Terraform 管理之下的工具。
Azure Export for Terraform 將支援的資源匯出至 Terraform 狀態並產生對應的 Terraform 配置。 Terraform 狀態和配置都應與資源的遠端狀態一致,即terraform plan
顯示沒有差異。然後,使用者就可以使用 Terraform 來管理這些資源。
它支援 Terraform AzureRM 提供者和 Terraform AzAPI 提供者。
aztfexport
產生的 Terraform 配置並不全面,且無法確保可以從所述產生的配置中完全重現基礎架構。詳情請參閱限制)。
預編譯的二進位檔案和 Window MSI 在發行版中提供。
go install github.com/Azure/aztfexport@latest
winget install aztfexport
brew install aztfexport
支援的版本:
導入 Microsoft 儲存庫金鑰:
rpm --import https://packages.microsoft.com/keys/microsoft.asc
新增packages-microsoft-com-prod
儲存庫:
ver=8 # or 9
dnf install -y https://packages.microsoft.com/config/rhel/${ver}/packages-microsoft-prod.rpm
安裝:
dnf install aztfexport
支援的版本:
導入 Microsoft 儲存庫金鑰:
curl -sSL https://packages.microsoft.com/keys/microsoft.asc > /etc/apt/trusted.gpg.d/microsoft.asc
新增packages-microsoft-com-prod
儲存庫:
ver=20.04 # or 22.04
apt-add-repository https://packages.microsoft.com/ubuntu/${ver}/prod
安裝:
apt-get install aztfexport
yay -S aztfexport
aztfexport
需要在$PATH
中安裝版本>= v0.12
的terraform
可執行檔。
aztfexport
利用aztft
來辨識與 Azure 資源 ID 對應的 Terraform 資源類型。然後它在後台運行terraform import
來導入每個資源。然後,它運行tfadd
為每個導入的資源產生 Terraform HCL 程式碼。
閱讀涵蓋場景和用法的 Azure 匯出文件。
aztfexport
將在$HOME/.aztfexport/config.json
處建立一個設定檔。該檔案旨在透過命令aztfexport config [subcommand]
進行管理,其中包括以下子命令:
get
: 取得配置項set
: 設定一個配置項show
:顯示完整配置目前支援以下配置項:
installation_id
:首次執行時建立的 UUID。如果目前電腦上安裝了 Azure CLI 或 Azure Powershell,則這些工具中的 UUID 將是相同的值。否則,將創建一個新的。這用作遙測追蹤中的標識符。telemetry_enabled
:啟用遙測。我們使用遙測技術來識別問題和需要改進的領域,以優化該工具以獲得更好的效能、可靠性和使用者體驗。如果您想停用我們的遙測,請將其設為 false。 請造訪 Azure Export for Terraform 文件中的此頁面,其中討論了該工具目前已知的限制。