会員システムグループ 駆け出し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
https://developer.hashicorp.com/terraform/language/v1.3.x/values/variables#environment-variablesTF_VAR_
followed by the name of a declared variable.
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
に値を与えることができる- ドキュメントは一部だけじゃなくてその前後も読もう