💭

AzureのリソースをTerraformにリバースするシェルを書いた

2022/10/01に公開

はじめに

既存のリソースをTerraformを使ってIaC化したい時ってありますよね。その際の手段として現在はterraform importを使ってひとつづつインポートしていく方法やterraformerなど公開されているツールなどを利用する方法などがあります。リソースの数が多かったり、出力するツールが対応していないなどの手間がかかることが多い。などせっかくの新しいサービスが出ても利用するのを躊躇するなんてこともありますよね。対象をAzureだけに絞ることで、AzureやTerraformの標準のコマンドだけでリバースエンジニアリングするシェルを作成してみました。

Gitリポジトリ

https://github.com/takker-hero-se/terracotta

テストOS

  • 5.10.102.1-microsoft-standard-WSL2(ubuntu)
  • macOS Big Sur version 11.7

必須のソフトウェア

  • jq
  • Terraform v1.3.1
  • Azure CLI 2.32.0

Terraform Provider

  • hashicorp/azurerm 3.25.0

使用方法

resource.csvがTerraformとAzureリソースタイプを紐づけるファイルとなっています。
順次対応・自動生成できるようにしていきますが、対応していない場合はご自身でメンテナンスしてご利用ください。
※ AzureのリソースIDにスペースの入っているものについては自動でスキップされます。

git clone https://github.com/takker-hero-se/terracotta.git
cd terracotta
az login
terraform init
bash ./generate_terraform.sh

Discussion