TerraformをDigital Oceanで試してみる2 環境情報の外出し
前回では、do.tfファイルの中に全ての情報を書き込みました。
それではtoken情報やssh keyの値などはgitなどで管理しづらいので、ssh_keysとtokenを別のファイルで管理します。
ファイルを外出しするようになると、以下の様な構成になります。
. ├── do.tf ├── terraform.tfvars └── variables.tf
この構成になるとterraform.tfvarsにtoken情報やssh keyの値を書くことで、このファイルのみをコミット対象外するとこでgitなどで問題無く扱えるようになります。
variables.tf
terraform.tfvarsで宣言する変数を宣言するためのファイルです。
do.tfの中で宣言しても、問題無いですが別ファイルで管理します。ファイルの内容はInput Variablesにあるように、書いていきます。
variable digitalocean_token {} variable ssh_key_id {}
terraform.tfvars
このファイルでは、変数と値を定義します。
terraform.tfvarsファイルという名前にしておくと、上記のような構成にしておくと-var-fileオプションを付けなくても自動的にTerraformが読み込んでくれます。
dgitalocean_token = "前回作成したtoken" ssh_key_id = "512189"
do.tf
前回作成したdo.tfのtokenとssh_keysの値を、variables.tfで定義した変数に書き換えます。
provider "digitalocean" { token = "${var.digitalocean_token}" } resource "digitalocean_droplet" "node-1" { image = "ubuntu-14-04-x64" name = "node-1" region = "sgp1" size = "512mb" ssh_keys = [${var.ssh_key_id}] }
これで、terraform plan や terraform applyの引数は変更なく実行出来ます。