Terraform 0.11

aws_spot_instance_request




terraform

aws_spot_instance_request

EC2 स्पॉट इंस्टेंस अनुरोध संसाधन प्रदान करता है। इससे हाजिर बाजार में अनुरोध किया जा सकता है।

डिफ़ॉल्ट रूप से Terraform एक persistent प्रकार के साथ स्पॉट इंस्टेंस अनुरोध बनाता है, जिसका अर्थ है कि उनके जीवनकाल की अवधि के लिए, AWS कॉन्फ़िगर विवरण के साथ एक उदाहरण लॉन्च करेगा यदि और जब स्पॉट मार्केट अनुरोधित मूल्य को स्वीकार करेगा।

विनाश होने पर, Terraform संबंधित स्पॉट इंस्टेंस को समाप्त करने का प्रयास करेगा यदि कोई मौजूद है।

one-time प्रकार के साथ स्पॉट इंस्टेंसेस अनुरोध स्पॉट अनुरोध को बंद कर देंगे, जब या तो अनुरोध को वर्तमान स्पॉट मूल्य उपलब्धता से नीचे या उपयोगकर्ता द्वारा अनुरोध समाप्त कर दिया जाएगा।

उदाहरण उपयोग

# Request a spot instance at $0.03
resource "aws_spot_instance_request" "cheap_worker" {
  ami           = "ami-1234"
  spot_price    = "0.03"
  instance_type = "c4.xlarge"

  tags {
    Name = "CheapWorker"
  }
}

तर्क संदर्भ

स्पॉट इंस्टेंस अनुरोधों को aws_instance के साथ aws_instance सभी समान तर्कों का समर्थन करते हैं:

  • spot_price - (वैकल्पिक; डिफ़ॉल्ट: ऑन-डिमांड मूल्य) स्पॉट मार्केट पर अनुरोध करने के लिए अधिकतम कीमत।
  • wait_for_fulfillment - (वैकल्पिक; डिफ़ॉल्ट: गलत) यदि सेट किया जाता है, तो Terraform स्पॉट अनुरोध के पूरा होने का इंतजार करेगा, और यदि 10 मी का समय समाप्त हो गया है, तो एक त्रुटि करेगा।
  • spot_type - (वैकल्पिक; डिफ़ॉल्ट: persistent ) यदि उदाहरण समाप्त होने के बाद one-time सेट किया जाता है, तो स्पॉट अनुरोध बंद हो जाएगा।
  • launch_group - (वैकल्पिक) एक लॉन्च समूह स्पॉट इंस्टेंस का एक समूह है जो एक साथ लॉन्च और एक साथ समाप्त होता है। यदि खाली इंस्टेंसेस लॉन्च किए जाते हैं और व्यक्तिगत रूप से समाप्त हो जाते हैं।
  • block_duration_minutes - (वैकल्पिक) स्पॉट उदाहरणों के लिए आवश्यक अवधि, मिनटों में। यह मान 60 (60, 120, 180, 240, 300, या 360) के कई होना चाहिए। जैसे ही आपका स्पॉट उदाहरण अपनी आवृत्ति ID प्राप्त करता है, अवधि समाप्त हो जाती है। अवधि अवधि के अंत में, अमेज़ॅन ईसी 2 समाप्ति के लिए स्पॉट उदाहरण को चिह्नित करता है और स्पॉट इंस्टेंस समाप्ति नोटिस प्रदान करता है, जो समाप्ति से पहले दो मिनट की चेतावनी देता है। ध्यान दें कि यदि आप एक अवधि निर्दिष्ट करते हैं तो आप उपलब्धता क्षेत्र समूह या लॉन्च समूह निर्दिष्ट नहीं कर सकते।
  • instance_interruption_behaviour - (वैकल्पिक) यह इंगित करता है कि कोई स्पॉट आवृत्ति रुकती है या बाधित होने पर समाप्त होती है। डिफ़ॉल्ट को terminate क्योंकि यह वर्तमान AWS व्यवहार है।
  • valid_until - (वैकल्पिक) UTC RFC3339 प्रारूप (उदाहरण के लिए, YYYY-MM-DDTHH: MM: SSZ) में अनुरोध की अंतिम तिथि और समय। इस बिंदु पर, अनुरोध पूरा करने के लिए कोई नया स्पॉट उदाहरण अनुरोध नहीं रखा गया है या सक्षम नहीं है। डिफ़ॉल्ट अंतिम तिथि वर्तमान तिथि से 7 दिन है।
  • valid_from - (वैकल्पिक) UTC RFC3339 प्रारूप (उदाहरण के लिए, YYYY-MM-DDTHH: MM: SSZ) में अनुरोध की आरंभ तिथि और समय। डिफ़ॉल्ट अनुरोध को तुरंत पूरा करना शुरू करना है।

समय समाप्ति

timeouts ब्लॉक आपको कुछ कार्यों के लिए timeouts निर्दिष्ट करने की अनुमति देता है:

  • create - (10 मिनट तक की wait_for_fulfillment = true ) मौके की मिसाल का अनुरोध करते समय इस्तेमाल किया जाता है (केवल मान्य होने पर wait_for_fulfillment = true )
  • delete - (20 मिनट तक की कमी) दिए गए उदाहरण के अनुरोध के माध्यम से लॉन्च किए गए सभी उदाहरणों को समाप्त करते समय उपयोग किया जाता है

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

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

  • id - स्पॉट इंस्टा रिक्वेस्ट आईडी।

इन विशेषताओं को निर्यात किया जाता है, लेकिन उनसे समय के साथ बदलने की उम्मीद की जाती है और इसलिए इसका उपयोग केवल सूचनात्मक उद्देश्यों के लिए किया जाना चाहिए, संसाधन निर्भरता के लिए नहीं:

  • spot_bid_status - स्पॉट इंस्टेंस अनुरोध की वर्तमान बोली स्थिति
  • spot_request_state स्पॉट इंस्टेंस अनुरोध का वर्तमान अनुरोध राज्य
  • spot_instance_id - इंस्टेंस आईडी (यदि कोई है) जो वर्तमान में स्पॉट इंस्टेंस अनुरोध को पूरा कर रही है।
  • public_dns - उदाहरण के लिए असाइन किया गया सार्वजनिक DNS नाम। EC2-VPC के लिए, यह केवल तभी उपलब्ध होता है जब आपने DNS होस्टनाम को अपने VPC के लिए सक्षम किया हो
  • public_ip - यदि लागू हो, तो सार्वजनिक IP पता, जिसे उदाहरण के लिए असाइन किया गया है।
  • private_dns - निजी DNS नाम उदाहरण के लिए सौंपा गया है। केवल अमेज़ॅन EC2 के अंदर ही उपयोग किया जा सकता है, और केवल तभी उपलब्ध है जब आपने अपने VPC के लिए DNS होस्टनाम को सक्षम किया हो
  • private_ip - उदाहरण के लिए असाइन किया गया निजी IP पता