既存の 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
バージョン>= v0.12
のterraform
実行可能ファイルが$PATH
にインストールされている必要があります。
aztfexport
aztft
を利用して、Azure リソース ID に対応する Terraform リソース タイプを識別します。次に、内部でterraform import
を実行して各リソースをインポートします。その後、 tfadd
実行して、インポートされたリソースごとに Terraform HCL コードを生成します。
シナリオと使用法について説明している Azure Export ドキュメントをお読みください。
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 ドキュメントのこのページにアクセスして、ツールの現在知られている制限事項について説明します。