Azure Export for Terraform の概要
Azure Export for Terraform は、Azure と Terraform の概念間の翻訳の摩擦を軽減するために設計されたツールです。
メリット
Azure Export for Terraform を使用すると、次のことが可能になります。
- Azure 上の Terraform への移行を簡略化します。 Azure Export for Terraform を使用すると、単一のコマンドで Azure リソースを Terraform に移行できます。
- 単一のコマンドで、ユーザー指定のリソース セットを Terraform HCL コードと状態にエクスポートします。 Azure Export for Terraform を使用すると、事前に定義されたエキスポート範囲を指定できます。 範囲は、単一のリソースと同等にきめ細かくできます。 また、リソース グループとその入れ子になったリソースをエクスポートすることができます。 最後に、サブスクリプション全体をエクスポートできます。
- 公開されているすべてのプロパティを使用して、既存のインフラストラクチャを検査します。 新しくリリースされたリソースを学習する場合も、運用環境で問題を調査する場合でも、Azure Export for Terraform では、構成可能なすべてのリソース プロパティを公開するオプションを含む読み取り専用エクスポートがサポートされます。
- 計画/適用ワークフローに従って、Terraform 以外のインフラストラクチャを Terraform に統合します。 HCL コードをエクスポートし、Terraform 以外のリソースを検査し、運用インフラストラクチャとリモート バックエンドに簡単に統合します。
インストール
Azure Export for Terraform GitHub ページには、ツールのリリースと、さまざまなプラットフォーム (Windows MSI、Homebrew、Linux インストール) のインストールへのリンクとソース コードが一覧表示されます。
使用方法
最も抽象的に言えば、Azure Export は次のように呼び出されます。
aztfexport [command] [option] <scope>
範囲は、使用可能なオプション フラグのセットと同様に、実行されているコマンドに応じて変わります。 エクスポートしようとしている内容に基づいて、次の 3 つのコマンドを使用する必要があります。
タスク | 説明 | 例 |
---|---|---|
単一のリソースをエクスポートします。 | 単一のリソースをエクスポートするには、リソースに関連付けられている Azure resourceID を指定します。 | aztfexport resource [option] <resource id> |
リソース グループをエクスポートします。 | リソース グループ (およびその入れ子になったリソース) をエクスポートするには、リソース グループ名を指定します。ID ではありません。 | aztfexport resource-group [option] <resource group name> |
クエリを使用してエクスポートします。 | このツールでは、Azure Resource Graph クエリを使用したエクスポートがサポートされています。 | aztfexport query [option] <ARG where predicate> |
プロバイダー
Azure Export の既定値は azurerm
プロバイダーですが、AzAPI
プロバイダーをエクスポートすることもできます。
aztfexport [command] --provider-name=azapi [further options] <scope>
データ収集の開示
既定では、Azure Export for Terraform はテレメトリ データを収集します。 ただし、このプロセスは簡単に無効にすることができます。
Microsoft は、使用パターンの特定、一般的な問題の特定、および Azure Export for Terraform のエクスペリエンスの向上を目的として、収集されたデータを集計します。 たとえば、使用状況データは、成功率が低いコマンドなどの問題を特定し、Microsoft による作業の優先順位を決めるのに役立ちます。 Azure Export for Terraform は、あらゆるプライベートデータや個人データを収集することはありません。
データ収集を無効にする場合は、ツールのインストール後に次のコマンドを実行します。
aztfexport config set telemetry_enabled false
次のステップ
概念:
Azure Export for Terraform の概念: Azure Export for Terraform のワークフローと、そのベスト プラクティスと現在の設計上の制限事項について説明します。
クイック スタートの記事:
- Azure Export for Terraform を使用して最初のリソースをエクスポートする
- Azure Export for Terraform を使用して Azure リソースを HCL コードにエクスポートする
ハウツー記事:
ハウツー記事では、より複雑なシナリオと説明とオプションについて説明します。