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 주소를 조회하고 "."로 분할하는 것입니다. 문자를 입력하고 세 번째 요소를 가져옵니다. 계획을 실행해 보면 이것이 효과가 있다는 것을 알 수 있지만, 분명히 적용하면 그렇지 않았습니다.

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

dns_ptr_record ptr에 대한 Terraform 문서의 예에서 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."
}

관련 정보