Terraformで簡単なところからいろいろ試してみた報告(tfファイル付き)

  • 14
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Terraformで簡単なところからいろいろ試してみた報告(tfファイル付き)

HashiCorp Advent Calendar 2015の3日目の担当がまだいなかったので、とりあえずTerraform試してみた報告でもしようかと思います。

実際のtfファイルと合わせてどうぞ。

シンプル構成

とりあえずTerraformってどんな感じで動くんだろう?と思って試してみた構成

simple.png

楽しくて terraform applyterraform destroy をやりすぎてAWS破産に一歩近づきました。

https://github.com/k1LoW/playground/tree/master/terraform/simple

既に存在するVPC構成に新しくEC2インスタンスをたてる

既存のプロジェクトへステージング環境とかデモ環境を作ったりするときに採用することもあるはずです。

existing-subnet.png

Subnet IDとVPC IDだけ調べて用意したらOKでした。簡単です。 terraform destroy で綺麗に消えてくれるのもGood。

https://github.com/k1LoW/playground/tree/master/terraform/existing-subnet

EC2とRDSのよくある構成

RDSもよくプロジェクトで使うので、試してみます。

ec2-and-rds.png

tfファイルはこちら

https://github.com/k1LoW/playground/tree/master/terraform/ec2-and-rds

設定内容が途端に増えてきました。

いつもAMCを使ってなんとなくポチポチやっていたのが、tfファイルを書くことで各リソースの関係が見えてきました。

ちなみに

$ terraform graph > input.dot; dot -Tpng output.png input.dot

と打つとリソースの関係が実際に見えます。

output.png

Moduleを使ってみた

Terraformには Module という仕組みがあるらしいので、使ってみました。

使ったのはこちら

https://github.com/terraform-community-modules/tf_aws_vpc

で使ったtfファイルがこちら

https://github.com/k1LoW/playground/tree/master/terraform/use-module

ec2-and-rdsの構成とほぼ同じ構成になります。

最後に

やっぱりTerraform使いは「テラフォーマー」って言われるんですかね?

これからもテラフォームしていこうと思います。

この投稿は HashiCorp Advent Calendar 20153日目の記事です。