継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

条件ごとで Terraform によるリソース作成を行う

タダです.

ここ最近は Terraform で学ぶことが多いため,今回もそんな記事です.今回は例えば,開発であればリソースを作らないやパラメーターを変える,本番であればこのパラメーターをセットするといった条件に応じたリソース作成を行うための小ネタを学んだので,備忘録として記事に残しておきます.

1, 環境ごとにリソースのパラメーターを分ける

例えば,コストの観点から開発環境はマシンスペックを小さくし,本番環境はマシンスペックを大きくして作りたいって事はあると思います.そんな時に役立つのが下記のような書き方です.変数 env として dev が指定されたら t3.micro を,それ以外は m5.large を分けるという動作になります.

resource "aws_instance" "hoge" {
  instance_type = var.env == "dev" ? t3.micro : m5.large
}

関連情報

www.terraform.io

2, 特定条件でリソースの作成する/しないを指定する

システム運用中に開発環境ならリソースは不要だけど,本番は必要だから作りたいって要望はあると思います.上記の環境ごとにリソース作成のパラメーターを分ける手法を使って,countで変数 env として dev が指定されたらリソースが作られず,それ以外のパラメータが指定されたらリソースを作るという動作を制御できます.

count = var.env == "dev" ? 0 : 1

関連情報

www.terraform.io

まとめ

小ネタになりますが,条件に応じたリソース作成の記述をまとめました.Terraform との付き合いは増えそうなので,学んだことをまた書いていきたいと思います.

参照記事

qiita.com

cloud-textbook.com