terraformのtfファイルのお作法について考えました。
ファイルの分割
terraformは、カレントディレクトリのtfファイルを読み込みます。
ファイルの分割やファイル名の付け方は、開発者に委ねられているので、下記のようにすることで、どこに何があるか見通しが良くなります。
目的のリソースは、main.tfに書く
tfファイルが増えても、main.tf
を見ることで意図が伝わります。
利用者が変更可能な変数は、variables.tfに書く
利用者が変更可能なパラメータを、variables.tf
に一箇所で定義します。
tfへのインプットが明確になりパラメータ名の整合性が取りやすくなります。
利用者が変更不可なパラメータは、locals.tfに書く
locals
は、最近のバージョン0.12で導入された変数です。
利用者は、変更できないパラメータとして共通化するときに使います。
利用者が参照できる出力は、outputs.tfに書く
利用者は、ここに書かれた出力のみ参照できます。
その他のリソースは、リソース名.tfに書く
AWSであれば、security-group.tfやiam.tfといったファイルに書きます。
main.tfから参照されるリソース名.tfとつけることで参照しやすくなります。
以上
コメント