Terraform 0.11

aws_ecs_task_definition




terraform

aws_ecs_task_definition

aws_ecs_service में उपयोग की जाने वाली ECS कार्य परिभाषा प्रदान करता है।

उदाहरण उपयोग

resource "aws_ecs_task_definition" "service" {
  family                = "service"
  container_definitions = "${file("task-definitions/service.json")}"

  volume {
    name      = "service-storage"
    host_path = "/ecs/service-storage"
  }

  placement_constraints {
    type       = "memberOf"
    expression = "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]"
  }
}

संदर्भित task-definitions/service.json फ़ाइल में एक वैध JSON दस्तावेज़ है, जो नीचे दिखाया गया है, और इसकी सामग्री सीधे एक स्ट्रिंग के रूप में container_definitions विशेषता में पारित होने वाली है। कृपया ध्यान दें कि इस उदाहरण में उपलब्ध मापदंडों का केवल एक छोटा सा उपसमूह है।

[
  {
    "name": "first",
    "image": "service-first",
    "cpu": 10,
    "memory": 512,
    "essential": true,
    "portMappings": [
      {
        "containerPort": 80,
        "hostPort": 80
      }
    ]
  },
  {
    "name": "second",
    "image": "service-second",
    "cpu": 10,
    "memory": 256,
    "essential": true,
    "portMappings": [
      {
        "containerPort": 443,
        "hostPort": 443
      }
    ]
  }
]

तर्क संदर्भ

शीर्ष स्तर के तर्क

  • family - (आवश्यक) आपके कार्य की परिभाषा के लिए एक अनूठा नाम।
  • container_definitions - (आवश्यक) वैध कंटेनर परिभाषाओं की एक सूची जो एकल वैध JSON दस्तावेज़ के रूप में प्रदान की गई है। कृपया ध्यान दें कि आपको केवल वे मान प्रदान करने चाहिए जो कंटेनर परिभाषा दस्तावेज़ का हिस्सा हैं। क्या पैरामीटर उपलब्ध हैं, इसके विस्तृत विवरण के लिए, आधिकारिक डेवलपर गाइड से कार्य परिभाषा पैरामीटर अनुभाग देखें।
  • task_role_arn - (वैकल्पिक) IAM भूमिका का ARN जो आपके अमेजन ECS कंटेनर को अन्य AWS सेवाओं के लिए कॉल करने की अनुमति देता है।
  • execution_role_arn - (वैकल्पिक) कार्य निष्पादन की अमेज़न संसाधन नाम (ARN) जो कि अमेजन ECS कंटेनर एजेंट और डॉकर डेमन मान सकते हैं।
  • network_mode - (वैकल्पिक) कार्य में कंटेनरों के लिए उपयोग करने के लिए डॉकर नेटवर्किंग मोड। मान्य मान none , bridge , awsvpc और host
  • volume - (वैकल्पिक) वॉल्यूम ब्लॉक का एक सेट जो आपके कार्य में कंटेनरों का उपयोग कर सकता है।
  • placement_constraints - (ऑप्शनल) प्लेसमेंट नियमों का एक सेट जो कार्य प्लेसमेंट के दौरान ध्यान में रखा जाता है। placement_constraints की अधिकतम संख्या 10
  • cpu - (वैकल्पिक) कार्य द्वारा उपयोग की जाने वाली सीपीयू इकाइयों की संख्या। यदि requires_compatibilities , FARGATE इस क्षेत्र की आवश्यकता है।
  • memory - (वैकल्पिक) कार्य द्वारा उपयोग की जाने वाली मेमोरी की राशि (MiB में)। यदि requires_compatibilities , FARGATE इस क्षेत्र की आवश्यकता है।
  • requires_compatibilities - (वैकल्पिक) कार्य द्वारा आवश्यक लॉन्च प्रकारों का एक सेट। वैध मान EC2 और FARGATE

वॉल्यूम ब्लॉक तर्क

  • name - (आवश्यक) मात्रा का नाम। इस नाम को mountPoints खंड में कंटेनर परिभाषा के sourceVolume पैरामीटर में संदर्भित किया गया है।
  • host_path - (वैकल्पिक) होस्ट कंटेनर उदाहरण पर पथ जो कंटेनर को प्रस्तुत किया जाता है। यदि सेट नहीं किया जाता है, तो ईसीएस एक गैर-प्रासंगिक डेटा वॉल्यूम बनाएगा जो खाली हो जाता है और कार्य समाप्त होने के बाद हटा दिया जाता है।

प्लेसमेंट के तर्क

  • type - (आवश्यक) बाधा का प्रकार। memberOf का चयन वैध उम्मीदवारों के एक समूह में चयन को प्रतिबंधित करने के लिए करें। ध्यान दें कि distinctInstance परिभाषा कार्य परिभाषाओं में समर्थित नहीं है।
  • expression - (वैकल्पिक) बाधा के लिए आवेदन करने के लिए क्लस्टर क्वेरी भाषा अभिव्यक्ति। अधिक जानकारी के लिए, Amazon EC2 कंटेनर सेवा डेवलपर गाइड में क्लस्टर क्वेरी भाषा देखें।

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

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

  • arn - कार्य परिभाषा ( family और revision दोनों सहित) का पूर्ण एआरएन।
  • family - कार्य परिभाषा का परिवार।
  • revision - किसी विशेष परिवार में कार्य का पुनरीक्षण।