Terraform 0.11

aws_spot_fleet_request




terraform

aws_spot_fleet_request

EC2 स्पॉट फ़्लीट अनुरोध संसाधन प्रदान करता है। यह स्पॉट मार्केट पर अनुरोध करने के लिए स्पॉट इंस्टेंस का एक बेड़ा अनुमति देता है।

उदाहरण उपयोग

# Request a Spot fleet
resource "aws_spot_fleet_request" "cheap_compute" {
  iam_fleet_role      = "arn:aws:iam::12345678:role/spot-fleet"
  spot_price          = "0.03"
  allocation_strategy = "diversified"
  target_capacity     = 6
  valid_until         = "2019-11-04T20:44:20Z"

  launch_specification {
    instance_type             = "m4.10xlarge"
    ami                       = "ami-1234"
    spot_price                = "2.793"
    placement_tenancy         = "dedicated"
    iam_instance_profile_arn  = "${aws_iam_instance_profile.example.arn}"
  }

  launch_specification {
    instance_type             = "m4.4xlarge"
    ami                       = "ami-5678"
    key_name                  = "my-key"
    spot_price                = "1.117"
    iam_instance_profile_arn  = "${aws_iam_instance_profile.example.arn}"
    availability_zone         = "us-west-1a"
    subnet_id                 = "subnet-1234"
    weighted_capacity         = 35

    root_block_device {
      volume_size = "300"
      volume_type = "gp2"
    }

    tags {
      Name = "spot-fleet-example"
    }
  }
}
resource "aws_spot_fleet_request" "foo" {
  iam_fleet_role  = "arn:aws:iam::12345678:role/spot-fleet"
  spot_price      = "0.005"
  target_capacity = 2
  valid_until     = "2019-11-04T20:44:20Z"

  launch_specification {
    instance_type     = "m1.small"
    ami               = "ami-d06a90b0"
    key_name          = "my-key"
    availability_zone = "us-west-2a"
  }

  launch_specification {
    instance_type     = "m3.large"
    ami               = "ami-d06a90b0"
    key_name          = "my-key"
    availability_zone = "us-west-2a"
  }

  depends_on = ["aws_iam_policy_attachment.test-attach"]
}

तर्क संदर्भ

इनमें से अधिकांश तर्क सीधे आधिकारिक एपीआई के अनुरूप हैं।

  • iam_fleet_role - (आवश्यक) स्पॉट बेड़े को आपकी ओर से स्पॉट इंस्टेंसेस को समाप्त करने की अनुमति देता है जब आप कैंसल बेड़े का उपयोग रद्द करते हैं तो कैंसल बेड़े का उपयोग कर सकते हैं या जब स्पॉट बेड़े के अनुरोध का समय समाप्त हो जाता है, यदि आप टर्मिनेशन सेट करते हैं।
  • प्रतिस्थापन_हंस्य_स्टेंस - (वैकल्पिक) यह दर्शाता है कि स्पॉट बेड़े को अस्वास्थ्यकर उदाहरणों को बदलना चाहिए या नहीं। डिफ़ॉल्ट false
  • launch_specification - स्पॉट-फ़्लीट अनुरोध के लॉन्च कॉन्फ़िगरेशन को परिभाषित करने के लिए उपयोग किया जाता है। विभिन्न बाजारों और उदाहरण प्रकारों में विभिन्न बोलियों को परिभाषित करने के लिए कई बार निर्दिष्ट किया जा सकता है।

    नोट: यह aws_instance समान लेकिन समान इनपुट में नहीं है। आपके द्वारा निर्दिष्ट की जा सकने वाली सीमाएँ हैं। संदर्भ प्रलेखन में आधिकारिक तौर पर समर्थित इनपुट की सूची देखें। कोई भी सामान्य aws_instance पैरामीटर जो उन इनपुट से मेल खाता है, उनका उपयोग किया जा सकता है और इसमें एक अतिरिक्त पैरामीटर है iam_instance_profile_arn इनपुट के रूप में aws_iam_instance_profile विशेषता arn लेता है।

  • spot_price - (वैकल्पिक; डिफ़ॉल्ट: ऑन-डिमांड मूल्य) प्रति यूनिट घंटे की अधिकतम बोली मूल्य।

  • wait_for_fulfillment - (वैकल्पिक; डिफ़ॉल्ट: गलत) यदि सेट किया जाता है, तो Terraform स्पॉट अनुरोध के पूरा होने का इंतजार करेगा, और यदि 10 मी का समय समाप्त हो गया है, तो एक त्रुटि करेगा।

  • target_capacity - अनुरोध करने के लिए इकाइयों की संख्या। आप इंस्टेंस या एक प्रदर्शन विशेषता के संदर्भ में लक्ष्य क्षमता निर्धारित करना चुन सकते हैं जो आपके एप्लिकेशन वर्कलोड के लिए महत्वपूर्ण है, जैसे vCPUs, मेमोरी या I / O।

  • allocation_strategy - स्पॉट बेड़े अनुरोध द्वारा निर्दिष्ट स्पॉट पूल में लक्ष्य क्षमता आवंटित करने का तरीका बताता है। डिफ़ॉल्ट सबसे कम है।

  • excess_capacity_termination_policy - यह दर्शाता है कि स्पॉट बेड़े के वर्तमान आकार के नीचे स्पॉट बेड़े अनुरोध की लक्ष्य क्षमता कम हो जाने पर स्पॉट excess_capacity_termination_policy को समाप्त किया जाना चाहिए।

  • terminate_instances_with_expiration - इंगित करता है कि जब स्पॉट फ़्लीट अनुरोध समाप्त हो जाता है, तो चल रहे स्पॉट उदाहरण समाप्त हो जाने चाहिए या नहीं।

  • instance_interruption_behaviour - (वैकल्पिक) यह इंगित करता है कि कोई स्पॉट आवृत्ति रुकती है या बाधित होने पर समाप्त होती है। डिफ़ॉल्ट terminate

  • fleet_type - (वैकल्पिक) बेड़े अनुरोध का प्रकार। इंगित करता है कि क्या स्पॉट फ्लीट केवल लक्ष्य क्षमता का अनुरोध करता है या इसे बनाए रखने का भी प्रयास करता है। डिफ़ॉल्ट maintain

  • valid_until - (वैकल्पिक) UTC RFC3339 प्रारूप (उदाहरण के लिए, YYYY-MM-DDTHH: MM: SSZ) में अनुरोध की अंतिम तिथि और समय। इस बिंदु पर, अनुरोध पूरा करने के लिए कोई नया स्पॉट उदाहरण अनुरोध नहीं रखा गया है या सक्षम नहीं है। 24 घंटे के लिए चूक।

  • valid_from - (वैकल्पिक) UTC RFC3339 प्रारूप (उदाहरण के लिए, YYYY-MM-DDTHH: MM: SSZ) में अनुरोध की आरंभ तिथि और समय। डिफ़ॉल्ट अनुरोध को तुरंत पूरा करना शुरू करना है।

  • load_balancers (वैकल्पिक) स्पॉट बेड़े में जोड़ने के लिए लोचदार लोड बैलेंसर नामों की एक सूची।

  • target_group_arns (वैकल्पिक) अनुप्रयोग लोड संतुलन के साथ उपयोग के लिए aws_alb_target_group ARNs की एक सूची।

समय समाप्ति

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

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

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

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

  • id - स्पॉट बेड़े अनुरोध आईडी
  • spot_request_state - स्पॉट बेड़े अनुरोध की स्थिति।