terraform ddns 逆ゾーンの作成

terraform ddns 逆ゾーンの作成

DNS プロバイダーを使用して、terraform で DNS を自動的に更新しようとしています。フォワード ゾーンでは成功しましたが、リバース ゾーンでは成功しませんでした。私の理解では、PTR は IP アドレスのホスト部分である必要があります。以下を使用してこれを提供しようとしました (サニタイズ済み):

# Configure Kubernetes DNS
provider "dns" {
  update {
    server = "<DNS IP ADDRESS>"
    key_name = "nsadmin."
    key_algorithm = "hmac-md5"
    key_secret = "<SECRET>"
  }
}

# Kubernetes master servers
resource "dns_a_record_set" "forward" {
  count = 2
  zone = "k8s.mydomain.example."
  name = "kubernetes-master${count.index + 1}"
  addresses = [
    "${lookup(var.ipv4_addresses_int1, count.index)}",
  ]
}
resource "dns_ptr_record" "reverse" {
  count = 2
  zone = "0.11.10.in-addr.arpa."
  name = "kubernetes-master${count.index + 1}"
  ptr  = "${element(split(".",lookup(var.ipv4_addresses_int1, count.index)),3)}""
}

エラーが発生します: * dns_ptr_record.reverse.0: DNS レコードの作成エラー: "ptr" は FQDN である必要があります

私がやろうとしているのは、カウント値に基づいてその VM の IP アドレスを検索し、それを「.」文字で分割して 3 番目の要素を取得することです。プランを実行すると、これが機能することが示されますが、適用すると明らかに機能しませんでした。

dns_ptr_record.reverse[0]: Creating...
  name: "" => "kubernetes-master1"
  ptr:  "" => "1"
  ttl:  "" => "3600"
  zone: "" => "0.11.10.in-addr.arpa."

terraform ドキュメントの dns_ptr_record の例では、ptr はドメイン名であり、その結果、逆引きゾーンに次のようなエントリを作成しようとしました。

example.com.0.11.10.in-addr.arpa

誰か、これを正しく行う方法を教えていただけませんか?

ドキュメントは非常に曖昧で、チュートリアルや適切な例がどこにも見つかりません。

答え1

PTR 変数と NAME 変数を切り替えます。

resource "dns_ptr_record" "reverse" {
  count = 2 
  zone = "0.11.10.in-addr.arpa." 
  name = "${element(split(".",lookup(var.ipv4_addresses_int1, count.index)),3)}"
  ptr = "kubernetes-master${count.index + 1}.k8s.example.com."
}

関連情報