Terraform

Terraform で本番やステージングなどの変数定義

Terraform で本番やステージングなどの複数の環境を管理するとき、環境ごとに異なる変数を管理する方法について。 Terraform のバージョンは 0.14.8 で確認しています。 案 1. -var-file で tfvars ファイルを指定 Workspaces は tfstate を分けるためだけに…

Terraform の AWS プロバイダのクレデンシャルの優先順が AWS CLI や AWS SDK と異なる

環境とか。 Terraform v0.13.4 + provider registry.terraform.io/hashicorp/aws v3.9.0 Terraform でデプロイ対象の AWS アカウントが MFA 必須だったので aws-vault を使う前提で provider aws にはクレデンシャルの指定なし、一方で tfstate のバックエン…

terraform-provider-libvirt を使ってみる

先日 vagrant-libvirt を使ってみました が、libvirt も terraform-provider-libvirt を使えば Terraform で管理できるので試してみました。 インストール Terraform オフィシャルのプロバイダであれば terraform init で自動的にバイナリがダウンロードされ…

Terraform でネストしたループを flatten する

これを、 variable "hoge" { default = [ { name = "aaa" items = [ 111, 222, ] }, { name = "bbb" items = [ 333, 444, ] }, ] } こうしたかった [ { "item" = 111 "name" = "aaa" }, { "item" = 222 "name" = "aaa" }, { "item" = 333 "name" = "bbb" }, …

Terraform v0.10 でいろいろ変わってた

久しぶりに Terraform を使ってたらちょこちょこ変わってたのでメモ。多分前は v0.8 とかを使ってたと思う。 Initialization 以前は terraform をインストールすると AWS とかのプロバイダのプラグインも一緒に入っていて、すぐに使えていたと思うんですが、…