TerraformerとTerraformで既存AWSインフラのコピーを作る
三行まとめ
- 今の会社ではTerraformとPulumiを使って8割くらいのインフラは構築されている
- IaC化されていない(もしくは最新版に追従出来ていない)インフラを増やす必要がでたので、TerraformerとTerraformを使ってコピー作成
- MVP(Minimum Viable Product)などではとりあえず最初インフラ構築は手で作って、あとからTerraformerでコード化でもいいんではないかと思った
IaC化されていないサービスのインフラを量産する必要があって、「うっ」と思っていたけど、Google Cloud Platformが作っているTerraformerを使ったら、 すぐ出来たという話。
実際のコマンドとかは公式ドキュメントやググってみてもらうとして、作業の流れとしては
- Terraform と Terraformer のインストール&初期セットアップ
terraformer import aws --resources=xxxx
で既存インフラをコード化- コピーしたいインフラ箇所を抽出をeditorで編集
terraform plan
、terraform apply
でコピー作成
という感じ。あくまでも新規構築のための作業。
どうしてもサービス化以前のMVPなど、開発しながらインフラも設計みたいな感じで、いきなりIaCは難しい。特にスタートアップだと多産多死みたいにサービスもインフラも量産すると思うので、いちいちIaCをやっているとスピードも出ず、負荷が高い。そもそも当社だと開発者自体がコード書きつつ、AWSにインフラを作ったりもしている場合もあり、インフラ系のメンバーが携わっていないケースも多々ある。
ただTerraformerを活用すれば、とりあえず最初インフラは手で作っておいて、サービスが流行ってきたら、後からIaC化して量産というのが出来るので、結構いいなーという印象を持った。
ここ1年半くらいPulumiを使っているのとterraforming がメンテされていなかったので、あまり Terraform界隈の情報をキャッチアップ出来ていなかったけど、Terraformer大変便利でした。
依頼が来て、工数かかりそうと思っていた作業が2時間くらいで完了して良かった。