LoginSignup
8
4

More than 5 years have passed since last update.

Terraform 環境周りTips

Last updated at Posted at 2017-10-26

環境は以下の3つの環境があるということにして話を進めます

  • dev: 開発環境
  • stg: ステージング環境
  • prd: 本番環境

workspaceの用意と開発環境で構築を進める

$ terraform workspace new dev
$ terraform workspace new stg
$ terraform workspace new prd
$ terraform workspace list
* default
  dev
  prd
  stg
$ terraform env select dev

参考 https://www.terraform.io/docs/state/workspaces.html#using-workspaces

Terraform内で環境情報を利用する

単純な呼び出し

count = "${terraform.env}"

環境ごとに変数の内容を切り替える

変数定義

variable "demo" {
  type = "map"
  default = {
    dev.comment = "開発環境だよー"
    stg.comment = "ステージングだよー"
    pro.comment = "本番だよー"

    dev.instance_count = 1
    stg.instance_count = 3
    prd.instance_count = 10
  }
}

利用側

comment = "${lookup(var.demo, "${terraform.env}.comment")}"
count = "${lookup(var.demo, "${terraform.env}.instance_count")}"

環境ごとにリソースの数を変える

↑で定義した変数をそのまま使います

resource "aws_lambda_function" "log_warner" {
  count = "${lookup(var.demo, "${terraform.env}.instance_count")}"
~~~~~以下略~~~~~~

開発環境にはリソースを作らない

開発環境はアラートいらないよねーって言う時などに使う

resource "aws_lambda_function" "log_alart" {
  count = "${terraform.env == "dev" ? 0 : 1}"
~~~~~以下略~~~~~~
8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4