Open1
Terraform スタイルガイドまとめ

コードスタイル
-
コードをバージョン管理にコミットする前にterraform fmt、と実行します。terraform validate
-
TFLintなどのリンターを使用して、組織独自のコーディングのベストプラクティスを適用します。
-
#単一行および複数行のコメントに使用します。
-
リソース名には名詞を使用し、名前にリソースの種類を含めないでください。
-
名前内の複数の単語を区切るにはアンダースコアを使用してください。リソース定義では、リソースタイプと名前を二重引用符で囲んでください。
・コード自体を構築できるようにし、参照するリソースの後に依存リソースを定義します。
たとえば VPC → サブネット → セキュリティグループ → インスタンス のように、参照されるもの(前提)が先に書かれ、それを使うものが後に来るように順序づける。 -
すべての変数にタイプと説明を含めます。
-
すべての出力に説明を含めます。
-
変数とローカル値の過剰使用は避けてください。
- 追跡が困難になる
-
デフォルトのプロバイダー構成を常に含めます。
-
count控えめに使用してくださいfor_each。
- 複雑なループや条件付き生成は意図を隠しがちで、デバッグや参照時の理解コストが上がる。
- 単純なケースは明示的なリソース定義やモジュール分割にして、パターンが繰り返しなら抽象化する。
10選する
- フォーマット(validate)
- ファイル名
- Linter
- 命名
- リソース順序
- gitignore
- バージョン固定
- モジュール構造
- リポジトリ構造
- stateとシークレット
参考リンク
- モジュール 推奨パターン
- モジュール 標準構造
- stateにシークレットを表示させない(Terraform v1.11)