Terraform変数ジェネレーター
ビジュアルフォームでTerraformの変数ブロックとterraform.tfvarsファイルを構築。複雑な型、バリデーションルール、一般的なテンプレートをサポート。
このツールについて
Terraform変数ジェネレーターは、HCLを手書きすることなく、適切に構造化された
Terraform変数定義(variables.tf)と対応するterraform.tfvarsファイルを
作成するための無料ブラウザベースツールです。シンプルなフォームで各変数の名前、
型、説明、デフォルト値、バリデーションルール、sensitiveフラグを定義すると、
正しいTerraform構文が即座に生成されます。
ジェネレーターは一般的なTerraformの型をすべてサポートしています —
string、number、bool、list(string)、list(number)、
map(string)、map(number)、set(string)、object({...})、any。
複雑なオブジェクト型ではネストされたフィールド定義を指定できます。
カスタム条件とエラーメッセージ付きのバリデーションブロックがサポートされており、
有効なAWSリージョン、許可されたインスタンスタイプ、CIDRブロック形式などの
制約を強制できます。
すぐに始められるように、AWSリージョン、EC2インスタンスタイプ、VPC CIDR、 サブネットリスト、データベース認証情報、タグ、環境、プロジェクト名の一般的な 変数テンプレートが含まれています。テンプレートをクリックしてフォームに入力し、 必要に応じてカスタマイズしてください。Terraform HCLファイルを直接操作する場合、 HCL to JSON変換ツールがフォーマット間の変換に役立ちます。 インフラストラクチャに付随するYAMLベースの設定ファイルをフォーマットするには、 YAMLフォーマッターをお試しください。モジュールが 使用するJSON設定を検証するには、JSONフォーマッターが 常に便利です。
すべての処理はブラウザ内で完全に実行されます。sensitive変数の値を含め、 データがサーバーに送信されることはありません。
使い方
- クイックテンプレートボタン(「AWS Region」「Common Tags」など)をクリックして変数を事前入力するか、Add Variableをクリックしてゼロから始めます。
- Terraformの命名規則(小文字、アンダースコア)を使用して変数名を入力します。
- ドロップダウンから型を選択 — string、number、bool、list、map、set、object、anyから選べます。
- 変数が制御する内容を説明する説明文を追加します。
- 有効なHCL構文でデフォルト値を設定します(例:
"us-east-1"、42、["a", "b"])。 - 変数にシークレット(パスワード、APIキー)が含まれる場合はSensitiveを切り替えます。変数が
nullを受け入れ可能な場合はNullableを切り替えます。 - 必要に応じてバリデーション条件とエラーメッセージを追加して制約を強制します。Terraform式構文を使用します(例:
length(var.name) > 0)。 - 下の出力パネルで生成されたvariables.tfとterraform.tfvarsを確認します。CopyまたはDownloadをクリックしてプロジェクトで使用します。
人気のTerraform変数の例
よくある質問
どのTerraform型がサポートされていますか?
string、number、bool、list(string)、list(number)、map(string)、map(number)、set(string)、object({...})、anyをサポートしています。オブジェクト型では、Object Fieldsテキストエリアで{ name = string, age = number }のようなHCL構文を使用してネストされたフィールド定義を指定できます。
バリデーションルールはどのように機能しますか?
バリデーションルールは条件フィールドでTerraform式構文を使用します。条件がtrueに評価される必要があり、変数の値が受け入れられます。一般的なパターンには、length()チェック、許可された値のcontains()、パターンマッチングのcan(regex())、CIDRバリデーションのcan(cidrhost())があります。エラーメッセージはterraform planまたはapply時にバリデーションが失敗すると表示されます。
sensitive変数とは何ですか?
変数をsensitiveとしてマークすると、Terraformにプラン出力、ステート出力、ログからその値を削除するよう指示します。パスワード、APIキー、トークン、その他のシークレットに使用します。生成される変数ブロックにはsensitive = trueが含まれます。値はステートに保存されるため、ステートバックエンドも暗号化する必要があります。
モジュール用の変数を生成できますか?
はい。生成されるvariables.tf出力はルートモジュールと子モジュールの両方で機能します。子モジュールでは、呼び出し元のモジュールが値を提供する必要があるように、通常デフォルト値なしで変数を定義します。必須変数のDefault Valueフィールドを空のままにしてください。
デフォルト値はどのようにフォーマットすべきですか?
デフォルト値は有効なHCL構文を使用する必要があります。文字列にはクォートが必要:"us-east-1"。数値はそのまま:42。ブーリアンはtrueまたはfalse。リストはブラケットを使用:["a", "b"]。マップはブレースを使用:{ key1 = "value1", key2 = "value2" }。オブジェクトのデフォルトは型付きフィールドを持つマップと同じ構文に従います。
データは安全ですか?
はい。すべての処理はJavaScriptを使用してブラウザ内で完全に実行されます。変数名、デフォルト値、sensitiveフラグがサーバーに送信されることはありません。ツール使用中にブラウザの開発者ツールのネットワークタブで確認できます。
Terraform CloudやOpenTofuで使用できますか?
はい。生成されるHCL構文はTerraform 0.13以上、Terraform Cloud、Terraform Enterprise、OpenTofuと互換性があります。変数定義とtfvarsファイルは標準的なHashiCorp Configuration Language仕様に従っています。
関連ツール
Terraform HCLフォーマッター
Terraform HCLコードをフォーマット、検証、整形します。自動インデント、イコール揃え、属性ソート、シンタックスハイライト付き。
HCL ↔ JSON変換ツール
Terraform HCLとJSON形式を相互変換します。シンタックスハイライトとツリービュー付き。
AWS IAMポリシージェネレーター
ビジュアルフォームからAWS IAMポリシーJSONドキュメントを生成。サービス、アクション、リソース、条件を選択。
YAMLフォーマッター
カスタマイズ可能なインデントと構文エラー表示でYAMLの整形、検証、圧縮を行います。
JSONフォーマッター
JSONの整形、検証、ツリー表示をシンタックスハイライト付きで行えます。