自サイト用のインフラをTerraform管理に移行するにあたり、まず既存のリソースをコード化する必要があった。
そこでterraformerを利用し、既存リソースを元にScaffoldingを行うことにした。
Terraformer のInstall
公式の手順通りでインストールできる。
- (まだ入れていなければ)Terraformをインストール
- terraformerのバイナリ配布ページからwindows用のバイナリを取得
- 取得したバイナリは拡張子がなぜかついていないので、リネームして.exeをつける。
- リネームした実行ファイルにパスを通すか、パスを通したディレクトリに実行ファイルを配置する。
terraformer --version
と打ってみてバージョンが表示されればOK。
Usage
適当なディレクトリを作成し、そこへmain.tfを以下の内容で配置する。バージョンは適宜変更のこと。
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.33"
}
}
required_version = "1.3.1"
}
provider "aws" {
region = "ap-northeast-1"
}
Terraformの初期化コマンドを入力し、
terraform init
公式ドキュメントを参考にリソースタイプを選択しつつコマンドを入力。
terraformer import aws --resources=vpc --connect=true --regions=ap-northeast-1
generated\aws 以下に目当てのリソースのTerraform用構成ファイルが作成される。
│ .terraform.lock.hcl
│ main.tf
│
├─.terraform
│ └─providers
│ └─registry.terraform.io
│ └─hashicorp
│ └─aws
│ └─4.33.0
│ └─windows_amd64
│ terraform-provider-aws_v4.33.0_x5.exe
│
└─generated
└─aws
└─vpc
outputs.tf
provider.tf
terraform.tfstate
vpc.tf