Blog

Terraformで環境変数を使って変数値を与える

会員システムグループ 駆け出しSREの川端です。
今回は「Terraformで環境変数を使って変数値を与える」ということをやってみます。
GitHub ActionsなどのCI/CDで活用できます。

環境

実現したいこと

AWS RDSのクラスターを環境変数から与えたスナップショットARNで起動する

公式ドキュメントを読んでみる

As a fallback for the other ways of defining variables, Terraform searches the environment of its own process for environment variables named TF_VAR_ followed by the name of a declared variable. https://developer.hashicorp.com/terraform/language/v1.3.x/values/variables#environment-variables
TF_VAR_db_snapshot_arn を環境変数で与えればterraform内では db_snapshot_arn で読み取れるようだ

やってみる

環境変数設定する。 .tfファイルを編集する。 planを実行する。 エラーが出ました。 どうやらvariableの定義が必要らしい。。。
.tfファイルに追加する。 .tfファイルを修正する。 再度plan実行。これでplanが通りました。

もう一度公式ドキュメントを見てみる

公式ドキュメントを読み直すと Environment Variables 項目は Assigning Values to Root Module Variables 配下にありました。 Variable に値を与えるために環境変数が使えるのであって単体で使用はできません。

学び

  • TF_VAR_exampleと環境変数で設定することでTerraformの変数exampleに値を与えることができる
  • ドキュメントは一部だけじゃなくてその前後も読もう

We are hiring!

ニフティでは、さまざまなプロダクトへ挑戦するエンジニアを絶賛募集中です!
ご興味のある方は以下の採用サイトよりお気軽にご連絡ください! Tech TalkやMeetUpも開催しております!
こちらもお気軽にご応募ください!