メインコンテンツへスキップ

バックエンドタイプ: consul

指定されたパスのConsul KVストアに状態を保存します。

このバックエンドは状態ロックをサポートしています。

設定例

コードブロック
terraform {
backend "consul" {
address = "consul.example.com"
scheme = "https"
path = "full/path"
}
}

アクセス認証情報には、部分的な設定を使用することをお勧めします。

データソースの設定

コードブロック
data "terraform_remote_state" "foo" {
backend = "consul"
config = {
path = "full/path"
}
}

設定変数

次の設定オプション/環境変数がサポートされています。

  • path - (必須) Consul KVストア内のパス
  • access_token / CONSUL_HTTP_TOKEN - (必須) アクセストークン
  • address / CONSUL_HTTP_ADDR - (任意) dnsname:portの形式で指定されたConsulエンドポイントのDNS名とポート。デフォルトはローカルエージェントのHTTPリスナーです。
  • scheme - (任意) 指定されたaddressと通信する際に使用するプロトコルを指定します。httpまたはhttpsのいずれかです。SSLサポートは、環境変数CONSUL_HTTP_SSLtrueに設定することでもトリガーできます。
  • datacenter - (任意) 使用するデータセンター。デフォルトはエージェントのデータセンターです。
  • http_auth / CONSUL_HTTP_AUTH - (任意) Consulとの通信時に使用するHTTP基本認証認証情報。userまたはuser:passの形式です。
  • gzip - (任意) trueにすると、gzipを使用して状態データを圧縮し、false(デフォルト)にすると、圧縮せずにそのままにします。
  • lock - (任意) falseにすると、ロックが無効になります。これはデフォルトではtrueですが、Consulでのセッション権限と、ロックを実行するための$path/.lockに対する少なくともkv書き込み権限が必要です。
  • ca_file / CONSUL_CACERT - (任意) リモートエージェントの証明書を検証するために使用されるPEMエンコードされた認証局へのパス。
  • cert_file / CONSUL_CLIENT_CERT - (任意) リモートエージェントに提供されるPEMエンコードされた証明書へのパス。key_fileの使用が必要です。
  • key_file / CONSUL_CLIENT_KEY - (任意) PEMエンコードされた秘密鍵へのパス。cert_fileが指定されている場合に必須です。