Terraformプロバイダー設定のフォーマット

AWS、Azure、GCPの設定を含むTerraformプロバイダーブロックを適切なインデント、デフォルトタグ、認証設定で整形・揃えます。

Provider & Backend

詳細な説明

プロバイダーブロックのフォーマット

プロバイダーブロックはすべてのTerraform設定の基盤です。Terraformにどのクラウドプラットフォームやサービスとやり取りするか、認証方法を指示します。適切にフォーマットされたプロバイダーブロックは可読性を向上させ、コードレビュー時の設定ミスの発見を容易にします。

HCLの例

provider "aws" {
  region  = "us-east-1"
  profile = "production"

  default_tags {
    tags = {
      Environment = "production"
      ManagedBy   = "terraform"
      Team        = "platform"
    }
  }

  assume_role {
    role_arn     = "arn:aws:iam::123456789012:role/TerraformRole"
    session_name = "terraform-production"
  }
}

適用されるフォーマットルール

  1. インデント: 各ネストブロックは一貫してインデント(設定に応じて2または4スペース)
  2. 等号の揃え: 各ブロック内で=記号が垂直に揃えられます — regionprofilerole_arnsession_nameはそれぞれのブロック内で同じカラム位置
  3. 空行: 論理的なグループ(単純な属性とネストブロック)を空行で区切り
  4. ネストブロック: default_tagsassume_roleブロックは1レベル深くインデント

複数プロバイダーエイリアス

マルチリージョンデプロイメントでプロバイダーエイリアスを使用する場合、一貫したフォーマットはさらに重要です:

provider "aws" {
  alias  = "us_west"
  region = "us-west-2"
}

provider "aws" {
  alias  = "eu_west"
  region = "eu-west-1"
}

フォーマッターは各エイリアスブロックが同じ構造に従うことを保証し、設定を並べて比較しやすくします。

ユースケース

マルチクラウドまたはマルチリージョンのTerraform設定で、一貫したプロバイダーフォーマットによりチームが各リソースのターゲットプロバイダーとリージョンを素早く特定できるようにする。

試してみる — Terraform HCL Formatter

フルツールを開く