Tfenv

Terrafromで環境変数の値を利用する

はじめに 久々にブログを書き始めようと思い、一から作成しなおしてみました。 TwitterなどSNSなどでは もみあげまん だったり もみん だったりいろいろな呼ばれ方をしています。 主にインフラをみており、AWS、Terraform等の利用が多いのでそのあたりをアウトプットする場として利用しようと思っています。 ではそろそろ本題 terraformで環境変数の値を利用する とりあえずなにからしようかなと思ったりはしたんですが、 AWSを利用してTerraformを利用とすると考えた場合、 アクセスキーのソースコード直書きはいかかがなものかというものがふと思い浮かんがので最初にそのことを書いてみようと思います。 環境変数を設定する terraformで利用する環境変数は、とりあえず設定してあるものすべてが使えるわけではなく TF_VAR_ というprefixのついた環境変数だけがterraformで利用できます。 ただ TF_VAR のついた環境変数を準備しとけば利用できるのかと言われればそうではなく、pfrefixを取り除いた名前でTerraform側で定義しておく必要があります。 例えば、TF_VAR_hoge,TF_VAR_huga をterraformで利用したい場合は下記のような設定を作って置く必要があります。 variable "hoge" {}variable "huga" {} variableはTerraform内で利用できる変数のようなものです、{} 内に値も定義できるのですが、外部から受け取る前提のものは空にしておくのが良いかと思います。 試しにこのような内容のファイル用意します。 そして環境変数設定後に terraform console で動作確認します。 # 上記で言ったようにprefix付きの環境変数を準備 $ export TF_VAR_hoge=hogefuga # 試しにprefixなしの環境変数も準備 $ export hoge=fizzbuzz # terraform consoleを実行 $ terraform console > var.hoge ## TF_VAR_hoge の値が取得できている hogefuga > var.huga ## 環境変数の設定されていない値はエラーになる 1:3: unknown variable accessed: var.huga in: ※ Terraform Console は変数や、stateの値やTerraform関数の確認に使えたりするのですが、詳細はまたいつか
Read more