Terraform tfvars/variables.tf ジェネレーター

1プロバイダ

プロバイダを選ぶと、よく使う変数のプリセットボタンが表示されます。

2プリセット追加(任意)
3変数定義

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_regioninstance_typetags、GCPでは project_idregionzone、Azureでは locationresource_group_name など。プリセットを押すと、その変数が即座に変数定義テーブルに追加されます。

機密値(sensitive)の取り扱い

APIキー・パスワード・接続文字列など機密値を含む変数は sensitive = true をマークすることで、Terraformの実行ログやプランに値が出力されないようになります。本ツールはsensitiveフラグの付与に対応していますが、生値を terraform.tfvars に書いてリポジトリにコミットすることは推奨しません.gitignore への追加、環境変数(TF_VAR_xxx)経由、AWS Secrets Manager / GCP Secret Manager / Azure Key Vault など外部Secret管理サービスとの連携をご検討ください。

生成されたファイルの使い方

  1. variables.tf をプロジェクトに配置(既存の main.tf と同じディレクトリ)
  2. terraform.tfvars をプロジェクトに配置(自動で読み込まれる)
  3. terraform initterraform plan で変数が正しく解決されるか確認
  4. 環境別に値を分けたい場合は terraform plan -var-file="prod.tfvars" のように指定

よくある質問

変数を使う場合はvariables.tf(宣言)が必須です。値を渡す方法はterraform.tfvarsのほか、コマンドライン-var "name=value"、環境変数TF_VAR_name、デフォルト値の活用など複数あります。本ツールは「スキーマ定義 + 値ファイル」のペアを生成するので、両方を使うのが標準的な構成になります。
listはカンマ区切り(例: web,api,worker)、mapはkey=valueのカンマ区切り(例: Env=prod,Owner=team)で入力してください。本ツールが自動でHCLの配列・マップ表記に変換し、文字列要素は適切にダブルクォートで囲みます。
sensitive = trueをつけるとplan/applyの出力で値が「(sensitive value)」と表示されます。ただし、stateファイルには平文で保存されるため、stateファイルの保管(リモートバックエンド + 暗号化)も合わせて設定してください。値そのものを隠すなら、Secret管理サービスから動的に取得する設計が安全です。
はい。terraform.tfvarsまたは*.auto.tfvarsはTerraform実行時に自動で読み込まれます。環境別ファイル(例: prod.tfvars)は明示的に-var-file="prod.tfvars"で指定してください。
いいえ、すべての処理はブラウザ上で完結します。入力された変数名・値・APIキー・接続文字列等が外部サーバーに送信・記録されることはありません。社内固有名やSecret値を入れても安全に利用できます。