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に値を与えることができる
  • ドキュメントは一部だけじゃなくてその前後も読もう

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

ニフティに興味をお持ちの方は
キャリア登録をぜひお願いいたします!

connpassでニフティグループに
参加いただくと
イベントの
お知らせが届きます!