Terraform 0.11

aws_batch_compute_environment




terraform

aws_batch_compute_environment

AWS बैच की गणना वातावरण बनाता है। कंप्यूट वातावरण में अमेज़ॅन ईसीएस कंटेनर उदाहरण होते हैं जिनका उपयोग कंटेनरीकृत बैच नौकरियों को चलाने के लिए किया जाता है।

AWS बैच के बारे में जानकारी के लिए, देखें AWS बैच क्या है? कंप्यूट पर्यावरण के बारे में जानकारी के लिए, गणना वातावरण देखें।

उदाहरण उपयोग

resource "aws_iam_role" "ecs_instance_role" {
  name = "ecs_instance_role"
  assume_role_policy = <<EOF
{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Action": "sts:AssumeRole",
        "Effect": "Allow",
        "Principal": {
        "Service": "ec2.amazonaws.com"
        }
    }
    ]
}
EOF
}

resource "aws_iam_role_policy_attachment" "ecs_instance_role" {
  role       = "${aws_iam_role.ecs_instance_role.name}"
  policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
}

resource "aws_iam_instance_profile" "ecs_instance_role" {
  name  = "ecs_instance_role"
  role = "${aws_iam_role.ecs_instance_role.name}"
}

resource "aws_iam_role" "aws_batch_service_role" {
  name = "aws_batch_service_role"
  assume_role_policy = <<EOF
{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Action": "sts:AssumeRole",
        "Effect": "Allow",
        "Principal": {
        "Service": "batch.amazonaws.com"
        }
    }
    ]
}
EOF
}

resource "aws_iam_role_policy_attachment" "aws_batch_service_role" {
  role       = "${aws_iam_role.aws_batch_service_role.name}"
  policy_arn = "arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole"
}

resource "aws_security_group" "sample" {
  name = "aws_batch_compute_environment_security_group"
}

resource "aws_vpc" "sample" {
  cidr_block = "10.1.0.0/16"
}

resource "aws_subnet" "sample" {
  vpc_id = "${aws_vpc.sample.id}"
  cidr_block = "10.1.1.0/24"
}

resource "aws_batch_compute_environment" "sample" {
  compute_environment_name = "sample"
  compute_resources {
    instance_role = "${aws_iam_instance_profile.ecs_instance_role.arn}"
    instance_type = [
      "c4.large",
    ]
    max_vcpus = 16
    min_vcpus = 0
    security_group_ids = [
      "${aws_security_group.sample.id}"
    ]
    subnets = [
      "${aws_subnet.sample.id}"
    ]
    type = "EC2"
  }
  service_role = "${aws_iam_role.aws_batch_service_role.arn}"
  type = "MANAGED"
  depends_on = ["aws_iam_role_policy_attachment.aws_batch_service_role"]
}

तर्क संदर्भ

  • compute_environment_name - (आवश्यक) आपके कंप्यूट वातावरण का नाम। 128 अक्षरों (अपरकेस और लोअरकेस) तक, संख्या और अंडरस्कोर की अनुमति है।
  • compute_resources - (वैकल्पिक) कंप्यूट वातावरण द्वारा प्रबंधित कंप्यूट संसाधनों का विवरण। यह पैरामीटर प्रबंधित कंप्यूट वातावरण के लिए आवश्यक है। नीचे विवरण देखें।
  • service_role - (आवश्यक) IAM भूमिका का पूर्ण अमेज़ॅन संसाधन नाम (ARN) जो AWS बैच को आपकी ओर से अन्य AWS सेवाओं को कॉल करने की अनुमति देता है।
  • state - (वैकल्पिक) गणना वातावरण की स्थिति। यदि राज्य ENABLED , तो गणना वातावरण कतार से नौकरियों को स्वीकार करता है और स्वचालित रूप से कतारों के आधार पर स्केल कर सकता है। मान्य आइटम ENABLED या DISABLED । ENABLED में ENABLED
  • type - (आवश्यक) कंप्यूट वातावरण का प्रकार। मान्य वस्तुओं को MANAGED या MANAGED

compute_resources एक एकल तर्क के साथ एक बच्चा ब्लॉक है:

  • bid_percentage - (वैकल्पिक) स्पॉट इंस्टेंस की न्यूनतम कीमत जो उस समय होनी चाहिए, जब इंस्टेंस लॉन्च होने से पहले उस इंस्टेंस प्रकार के लिए ऑन-डिमांड मूल्य के साथ तुलना की जाती है। उदाहरण के लिए, यदि आपकी बोली का प्रतिशत 20% है, तो स्पॉट की कीमत उस ई-मेल उदाहरण के लिए चालू ऑन-डिमांड मूल्य के 20% से कम होनी चाहिए। SPOT कंप्यूट वातावरण के लिए यह पैरामीटर आवश्यक है।
  • desired_vcpus - (वैकल्पिक) कंप्यूट वातावरण में ईसी 2 वीसीपीयूएस की वांछित संख्या।
  • ec2_key_pair - (वैकल्पिक) EC2 कुंजी जोड़ी जिसका उपयोग कम्प्यूट वातावरण में लॉन्च किए गए उदाहरणों के लिए किया जाता है।
  • image_id - (वैकल्पिक) कम्प्यूटरीकृत वातावरण में लॉन्च किए गए उदाहरणों के लिए इस्तेमाल की जाने वाली अमेज़ॅन मशीन की छवि (AMI) आईडी।
  • instance_role - (आवश्यक) अमेज़ॅन ईसीएस उदाहरण भूमिका एक कम्प्यूटेड वातावरण में अमेज़ॅन ईसी 2 उदाहरणों पर लागू होती है।
  • instance_type - (आवश्यक) इंस्टेंस प्रकारों की एक सूची जो लॉन्च की जा सकती है।
  • max_vcpus - (आवश्यक) EC2 की अधिकतम संख्या vCPUs कि एक पर्यावरण तक पहुँच सकती है।
  • min_vcpus - (आवश्यक) EC2 की न्यूनतम संख्या vCPUs जो एक पर्यावरण को बनाए रखना चाहिए।
  • security_group_ids - (आवश्यक) EC2 सुरक्षा समूह की एक सूची जो कम्प्यूट वातावरण में लॉन्च किए गए उदाहरणों से संबंधित है।
  • spot_iam_fleet_role - (वैकल्पिक) अमेज़ॅन EC2 स्पॉट spot_iam_fleet_role IAM भूमिका के अमेज़ॅन संसाधन नाम (ARN) SPOT कंप्यूट वातावरण पर लागू होता है। SPOT कंप्यूट वातावरण के लिए यह पैरामीटर आवश्यक है।
  • subnets - (आवश्यक) VPC सबनेट की एक सूची जिसमें कंप्यूट संसाधन लॉन्च किए गए हैं।
  • tags - (वैकल्पिक) कुंजी-मूल्य जोड़ी टैग को उन संसाधनों पर लागू किया जाना है जो कंप्यूट वातावरण में लॉन्च किए गए हैं।
  • type - (आवश्यक) कंप्यूट पर्यावरण का प्रकार। वैध आइटम EC2 या SPOT

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

  • arn - कंप्यूट वातावरण का अमेज़न संसाधन नाम (ARN)।
  • ecs_cluster_arn - कंप्यूट परिवेश द्वारा उपयोग किए जाने वाले अंतर्निहित Amazon ECS क्लस्टर का अमेज़न संसाधन नाम (ARN)।
  • status - गणना पर्यावरण की वर्तमान स्थिति (उदाहरण के लिए, सृजन या वैध)।
  • status_reason - एक संक्षिप्त, मानव-पठनीय स्ट्रिंग है जो कि गणना परिवेश की वर्तमान स्थिति के बारे में अतिरिक्त विवरण प्रदान करती है।