Terraform 0.11

digitalocean_loadbalancer




terraform

digitalocean_loadbalancer

एक DigitalOcean Load Balancer संसाधन प्रदान करता है। यह लोड Balancers बनाने, संशोधित करने और हटाने के लिए उपयोग किया जा सकता है।

उदाहरण उपयोग

resource "digitalocean_droplet" "web" {
  name      = "web-1"
  size      = "512mb"
  image     = "centos-7-x64"
  region    = "nyc3"
}

resource "digitalocean_loadbalancer" "public" {
  name = "loadbalancer-1"
  region = "nyc3"

  forwarding_rule {
    entry_port = 80
    entry_protocol = "http"

    target_port = 80
    target_protocol = "http"
  }

  healthcheck {
    port = 22
    protocol = "tcp"
  }

  droplet_ids = ["${digitalocean_droplet.web.id}"]
}

तर्क संदर्भ

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

  • name - (आवश्यक) लोड बैलेंसर नाम
  • region - (आवश्यक) क्षेत्र में शुरू करने के लिए
  • algorithm - (वैकल्पिक) यह निर्धारित करने के लिए इस्तेमाल किया जाने वाला लोड बैलेंसिंग एल्गोरिथ्म एक ग्राहक द्वारा बैकएंड ड्रॉपलेट को चुना जाएगा। यह या तो round_robin या least_connections होना चाहिए। डिफ़ॉल्ट मान round_robin
  • forwarding_rule - (आवश्यक) लोड बैलेंसर को सौंपा जाने के लिए forwarding_rule की एक सूची। forwarding_rule ब्लॉक नीचे प्रलेखित है।
  • healthcheck - (वैकल्पिक) एक healthcheck ब्लॉक को लोड बैलेंसर को सौंपा जाना है। healthcheck ब्लॉक नीचे प्रलेखित है। केवल 1 स्वास्थ्य परीक्षण की अनुमति है।
  • sticky_sessions - (वैकल्पिक) एक sticky_sessions block जिसे लोड बैलेंसर को सौंपा जाना है। sticky_sessions block नीचे दस्तावेजित है। केवल 1 sticky_session ब्लॉक की अनुमति है।
  • redirect_http_to_https - (वैकल्पिक) एक बूलियन मान दर्शाता है कि HTTP पोर्ट 80 पर लोड बैलेंसर के लिए अनुरोध पोर्ट 443 पर HTTPS पर रीडायरेक्ट किया जाएगा। डिफ़ॉल्ट मान false
  • droplet_ids (वैकल्पिक) - लोड बैलेंसर से जुड़ी जाने वाली प्रत्येक छोटी बूंद की आईडी की एक सूची।
  • droplet_tag (वैकल्पिक) - लोड बैलेंसर को असाइन किए जाने के लिए बूंदों के अनुरूप एक droplet_tag टैग का नाम।

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

  • entry_protocol - (आवश्यक) लोड बैलेंसर के लिए यातायात के लिए प्रयुक्त प्रोटोकॉल। संभावित मान इस प्रकार हैं: http , https , या tcp
  • entry_port - (आवश्यक) उस पोर्ट का प्रतिनिधित्व करने वाला पूर्णांक, जिस पर लोड बैलेंसर उदाहरण सुनेंगे।
  • target_protocol - (आवश्यक) लोड बैलेंसर से बैकएंड target_protocol तक ट्रैफ़िक के लिए उपयोग किया जाने वाला प्रोटोकॉल। संभावित मान इस प्रकार हैं: http , https , या tcp
  • target_port - (आवश्यक) बैकएंड पर पोर्ट का प्रतिनिधित्व करने वाला पूर्णांक जिसमें लोड बैलेंसर ट्रैफ़िक भेजेगा।
  • certificate_id - (वैकल्पिक) SSL समाप्ति के लिए उपयोग की जाने वाली TLS प्रमाणपत्र की ID।
  • tls_passthrough - (वैकल्पिक) एक बूलियन मान दर्शाता है कि SSL एन्क्रिप्टेड ट्रैफ़िक को बैकएंड ड्रॉप्स के माध्यम से पारित किया जाएगा या नहीं। डिफ़ॉल्ट मान false

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

  • type - (आवश्यक) एक विशेषता जो यह संकेत देती है कि ग्राहक से अनुरोध कैसे और यदि एक ही बैकेंड ड्रॉपलेट द्वारा लगातार किया जाएगा। संभावित मूल्य cookies या none । यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान none
  • cookie_name - (वैकल्पिक) ग्राहक को भेजे गए कुकी के लिए उपयोग किया जाने वाला नाम। चिपचिपा सत्र प्रकार के लिए cookies का उपयोग करते समय यह विशेषता आवश्यक है।
  • cookie_ttl_seconds - (वैकल्पिक) जब तक लोड बैलेंसर द्वारा कुकी को सेट किया जाता है, तब तक सेकंड की संख्या समाप्त हो जाती है। चिपचिपा सत्र प्रकार के लिए cookies का उपयोग करते समय यह विशेषता आवश्यक है।

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

  • protocol - (आवश्यक) बैकेंड बूंदों को भेजे गए स्वास्थ्य जांच के लिए उपयोग किया जाने वाला प्रोटोकॉल। संभावित मान http या tcp
  • port - (वैकल्पिक) बैकएंड ड्रॉपलेट्स पर पोर्ट का प्रतिनिधित्व करने वाला पूर्णांक, जिस पर स्वास्थ्य जांच एक कनेक्शन का प्रयास करेगी।
  • path - (वैकल्पिक) बैकेंड ड्रॉप्स पर वह पथ जिस पर लोड बैलेंसर उदाहरण एक अनुरोध भेजेगा।
  • check_interval_seconds - (वैकल्पिक) दो लगातार स्वास्थ्य जांचों के बीच सेकंड की संख्या। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान 10
  • response_timeout_seconds - (वैकल्पिक) लोड बैलेंसर उदाहरण सेकंड की संख्या तब तक प्रतिक्रिया की प्रतीक्षा करेगी जब तक कि कोई स्वास्थ्य जाँच विफल न हो जाए। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान 5
  • unhealthy_threshold - (वैकल्पिक) एक बैकेंड ड्रॉपलेट के लिए "अस्वस्थ" के रूप में चिह्नित होने और पूल से हटाए जाने के लिए स्वास्थ्य जांच में कई बार विफल होना चाहिए। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान 3
  • healthy_threshold - (वैकल्पिक) एक स्वास्थ्य जांच के लिए "स्वस्थ" के रूप में चिह्नित किए जाने वाले बैकेंड healthy_threshold लिए कई बार पास होना चाहिए और पूल में फिर से जोड़ा जाना चाहिए। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान 5

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

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id - लोड बैलेंसर की आईडी
  • ip - लोड बैलेंसर का आईपी