Terraform 0.11

aws_route53_record




terraform

aws_route53_record

एक रूट 53 रिकॉर्ड संसाधन प्रदान करता है।

उदाहरण उपयोग

सरल मार्ग नीति

resource "aws_route53_record" "www" {
  zone_id = "${aws_route53_zone.primary.zone_id}"
  name    = "www.example.com"
  type    = "A"
  ttl     = "300"
  records = ["${aws_eip.lb.public_ip}"]
}

भारित रूटिंग नीति

अन्य रूटिंग नीतियां समान रूप से कॉन्फ़िगर की गई हैं। विवरण के लिए एडब्ल्यूएस रूट 53 डेवलपर गाइड देखें।

resource "aws_route53_record" "www-dev" {
  zone_id = "${aws_route53_zone.primary.zone_id}"
  name    = "www"
  type    = "CNAME"
  ttl     = "5"

  weighted_routing_policy {
    weight = 10
  }

  set_identifier = "dev"
  records        = ["dev.example.com"]
}

resource "aws_route53_record" "www-live" {
  zone_id = "${aws_route53_zone.primary.zone_id}"
  name    = "www"
  type    = "CNAME"
  ttl     = "5"

  weighted_routing_policy {
    weight = 90
  }

  set_identifier = "live"
  records        = ["live.example.com"]
}

उपनाम रिकॉर्ड

उपनाम और गैर-उपनाम रिकॉर्ड के बीच अंतर को समझने के लिए AWS Route53 डेवलपर गाइड से संबंधित भाग देखें।

सभी उपनामों के लिए TTL 60 सेकंड है , आप इसे बदल नहीं सकते हैं, इसलिए ttl को अन्य ttl में ttl होगा।

resource "aws_elb" "main" {
  name               = "foobar-terraform-elb"
  availability_zones = ["us-east-1c"]

  listener {
    instance_port     = 80
    instance_protocol = "http"
    lb_port           = 80
    lb_protocol       = "http"
  }
}

resource "aws_route53_record" "www" {
  zone_id = "${aws_route53_zone.primary.zone_id}"
  name    = "example.com"
  type    = "A"

  alias {
    name                   = "${aws_elb.main.dns_name}"
    zone_id                = "${aws_elb.main.zone_id}"
    evaluate_target_health = true
  }
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • zone_id - (आवश्यक) यह रिकॉर्ड रखने के लिए होस्ट किए गए ज़ोन की आईडी।
  • name - (आवश्यक) रिकॉर्ड का नाम।
  • type - (आवश्यक) रिकॉर्ड प्रकार। मान्य मान A , AAAA , CAA , CNAME , MX , NAPTR , NS , PTR , SOA , SPF , SRV और TXT
  • ttl - (गैर-उर्फ रिकॉर्ड के लिए आवश्यक) रिकॉर्ड का TTL।
  • records - (गैर-उपनाम रिकॉर्ड के लिए आवश्यक) रिकॉर्ड की एक स्ट्रिंग सूची। 255 वर्णों से अधिक लंबे रिकॉर्ड मान को DKIM के लिए TXT रिकॉर्ड के रूप में निर्दिष्ट करने के लिए, Terraform कॉन्फ़िगरेशन स्ट्रिंग के अंदर \"\" जोड़ें (उदाहरण के लिए "first255characters\"\"morecharacters" )।
  • set_identifier - (वैकल्पिक) एक दूसरे से रूटिंग नीतियों के साथ रिकॉर्ड को अलग करने के लिए अद्वितीय पहचानकर्ता। नीचे दिए गए दस्तावेज़ों में failover , geolocation , latency या weighted रूटिंग नीतियों का उपयोग करते समय आवश्यक है।
  • health_check_id - (वैकल्पिक) स्वास्थ्य जांच रिकॉर्ड से संबद्ध होना चाहिए।
  • alias - (वैकल्पिक) एक उपनाम ब्लॉक। ttl और records साथ संघर्ष। उपनाम का रिकॉर्ड नीचे दर्ज किया गया।
  • failover_routing_policy - (वैकल्पिक) संबद्ध स्वास्थ्य जांच विफल होने पर रूटिंग व्यवहार को इंगित करने वाला एक ब्लॉक। किसी अन्य रूटिंग नीति के साथ विरोध। नीचे प्रलेखित है।
  • geolocation_routing_policy - (ऑप्शनल) एक ब्लॉक जो राउटरिंग नीति को दर्शाता है जो अनुरोधकर्ता के जियोलोकेशन पर आधारित होता है। किसी अन्य रूटिंग नीति के साथ विरोध। नीचे प्रलेखित है।
  • latency_routing_policy - (वैकल्पिक) अनुरोधकर्ता और AWS क्षेत्र के बीच विलंबता के आधार पर एक रूटिंग नीति को दर्शाता एक ब्लॉक। किसी अन्य रूटिंग नीति के साथ विरोध। नीचे प्रलेखित है।
  • weighted_routing_policy - (वैकल्पिक) एक भारित मार्ग नीति का संकेत देने वाला ब्लॉक। किसी अन्य रूटिंग नीति के साथ विरोध। नीचे प्रलेखित है।
  • multivalue_answer_routing_policy - (वैकल्पिक) बहुवैकल्पिक उत्तर राउटिंग नीति को इंगित करने के लिए true पर सेट करें। किसी अन्य रूटिंग नीति के साथ विरोध।
  • allow_overwrite - (वैकल्पिक) Terraform में इस रिकॉर्ड के निर्माण को किसी मौजूदा रिकॉर्ड को अधिलेखित करने की अनुमति दें, यदि कोई हो। यह टेराफ़ॉर्म के भीतर अन्य संसाधनों को रोकता नहीं है या इस रिकॉर्ड को ओवरराइट करने से रूट 53 परिवर्तनों को मैन्युअल करता है। डिफ़ॉल्ट रूप से true है।

वास्तव में किसी एक records या alias को निर्दिष्ट किया जाना चाहिए: यह निर्धारित करता है कि क्या यह अन्य उपनाम है।

उपनाम अन्य रिकॉर्ड का समर्थन करते हैं:

  • name - (आवश्यक) क्लाउड होस्ट वितरण के लिए DNS डोमेन नाम, S3 बाल्टी, ELB, या इस होस्टेड ज़ोन में सेट किया गया कोई अन्य संसाधन रिकॉर्ड।
  • zone_id - (आवश्यक) zone_id वितरण के लिए होस्टेड ज़ोन आईडी, S3 बाल्टी, ELB, या रूट 53 होस्ट किए गए ज़ोन। उदाहरण के लिए resource_elb.zone_id देखें।
  • evaluate_target_health - (आवश्यक) यह निर्धारित करने के लिए कि क्या आप रूट ५३ चाहते हैं, यह निर्धारित करने के लिए निर्धारित करें कि क्या संसाधन रिकॉर्ड सेट के स्वास्थ्य की जांच करके इस संसाधन रिकॉर्ड का उपयोग करके DNS प्रश्नों का उत्तर दिया जाए। कुछ संसाधनों की विशेष आवश्यकताएं हैं, प्रलेखन के संबंधित भाग देखें।

विफलता राउटिंग नीतियाँ निम्नलिखित का समर्थन करती हैं:

जियोलोकेशन रूटिंग नीतियां निम्नलिखित का समर्थन करती हैं:

  • continent - एक दो अक्षर का महाद्वीप कोड। कोड विवरण के लिए http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetGeoLocation.html देखें। या तो continent या country निर्दिष्ट होना चाहिए।
  • country - एक डिफ़ॉल्ट संसाधन रिकॉर्ड सेट को दर्शाने के लिए दो-वर्ण वाला देश कोड या *
  • subdivision - (वैकल्पिक) किसी देश के लिए उपखंड कोड।

लेटेंसी रूटिंग नीतियाँ निम्नलिखित का समर्थन करती हैं:

भारित रूटिंग नीतियाँ निम्नलिखित का समर्थन करती हैं:

संदर्भ संदर्भित करता है

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • name - रिकॉर्ड का नाम।
  • fqdn - FQDN क्षेत्र डोमेन और name का उपयोग कर बनाया गया है।

आयात

रूट53 रिकॉर्ड्स को रिकॉर्ड की आईडी का उपयोग करके आयात किया जा सकता है। आईडी को ZONEID_RECORDNAME_TYPE_SET-IDENTIFIER के रूप में बनाया गया है

जैसे

Z4KAPRWWNC7JR_dev.example.com_NS_dev

इस उदाहरण में, Z4KAPRWWNC7JR है, dev.example.com रिकॉर्ड नाम है, NS प्रकार है और dev सेट पहचानकर्ता है। आईडी में केवल सेट आइडेंटिफायर वास्तव में वैकल्पिक है

उपरोक्त आईडी आयात करने के लिए, यह निम्नानुसार होगा:

$ terraform import aws_route53_record.myrecord Z4KAPRWWNC7JR_dev.example.com_NS_dev