Terraform tfvars/variables.tf ジェネレーターとは
本ツールは、Terraform プロジェクトで必要な variables.tf(変数の宣言ブロック)と terraform.tfvars(変数の値)を、UI入力するだけで2ファイル同時に生成する無料ツールです。AWS / GCP / Azure / Generic のプロバイダを選び、よく使う変数(リージョン・インスタンスタイプ・タグ等)をプリセットから追加。型(string/number/bool/list/map)、デフォルト値、説明、sensitiveフラグも指定できます。出力はコピー1つでプロジェクトの該当ファイルに貼り付け可能。入力データはサーバーに送信されず、ブラウザ内で完結します。
variables.tf と terraform.tfvars の役割
| ファイル | 役割 |
|---|---|
variables.tf | 変数の宣言(型・デフォルト・説明・sensitive)。スキーマ定義に相当。 |
terraform.tfvars | 変数に渡す具体的な値。環境別に dev.tfvars / prod.tfvars 等に分けることも多い。 |
対応する変数の型
- string: 単一文字列(例:
"ap-northeast-1") - number: 数値(例:
3) - bool: 真偽値(
true/false) - list(string): 文字列リスト(例:
["a", "b", "c"])。カンマ区切りで入力 - map(string): 文字列マップ(例: タグ
{ Env = "prod", Owner = "team" })。key=valueをカンマ区切りで入力
プロバイダ別プリセット
プロバイダを選ぶと、そのプロバイダで頻繁に定義する変数のプリセットボタンが表示されます。例えば AWS では aws_region、instance_type、tags、GCPでは project_id、region、zone、Azureでは location、resource_group_name など。プリセットを押すと、その変数が即座に変数定義テーブルに追加されます。
機密値(sensitive)の取り扱い
APIキー・パスワード・接続文字列など機密値を含む変数は sensitive = true をマークすることで、Terraformの実行ログやプランに値が出力されないようになります。本ツールはsensitiveフラグの付与に対応していますが、生値を terraform.tfvars に書いてリポジトリにコミットすることは推奨しません。.gitignore への追加、環境変数(TF_VAR_xxx)経由、AWS Secrets Manager / GCP Secret Manager / Azure Key Vault など外部Secret管理サービスとの連携をご検討ください。
生成されたファイルの使い方
variables.tfをプロジェクトに配置(既存のmain.tfと同じディレクトリ)terraform.tfvarsをプロジェクトに配置(自動で読み込まれる)terraform init→terraform planで変数が正しく解決されるか確認- 環境別に値を分けたい場合は
terraform plan -var-file="prod.tfvars"のように指定