コンテンツにスキップ

既存のインフラを IaC で管理するツール Terraformer とその関連ツール

手動で作成した既存のクラウドリソースを、あとから IaC (Infrastructure as Code) の管理下に置きたい場面がある。この記事では、既存インフラから Terraform コードを生成する 3 つのツール(Terraformer、gcloud beta resource-config bulk-export、TerraCognita)を紹介する。

Terraformer

Terraformerは既存のインフラに基づいて tf を生成する CLI ツール。brew を使ったり、バイナリをインストールしたりする方法がある。

terraformer import google --resources=addresses,firewalls --regions=us-central1 --projects=my-project

v0.8.22 時点では、生成される tf ファイルのバージョンが v0.13 になるため、対応が必要だ。terraformer の Migration state version の説明に書いてあるとおり、terraform state replace-providerを使ってバージョンを上げる。

gcloud beta resource-config bulk-export

gcloud beta resource-config bulk-exportは既存のインフラに基づいて tf を生成する gcloud コマンド。

TerraCognita

TerraCognitaを使うと既存のクラウド プロバイダーからインフラ構成を読み取り、Terraform で IaC を生成できる。

参考