Terraform 0.11

aws_security_group




terraform

aws_security_group

एक सुरक्षा समूह संसाधन प्रदान करता है।

उदाहरण उपयोग

मूल उपयोग

resource "aws_security_group" "allow_all" {
  name        = "allow_all"
  description = "Allow all inbound traffic"
  vpc_id      = "${aws_vpc.main.id}"

  ingress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port       = 0
    to_port         = 0
    protocol        = "-1"
    cidr_blocks     = ["0.0.0.0/0"]
    prefix_list_ids = ["pl-12c4e678"]
  }
}

टैग के साथ मूल उपयोग:

resource "aws_security_group" "allow_all" {
  name        = "allow_all"
  description = "Allow all inbound traffic"

  ingress {
    from_port   = 0
    to_port     = 65535
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  tags {
    Name = "allow_all"
  }
}

तर्क संदर्भ

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

  • name - (वैकल्पिक, नए संसाधन बल) सुरक्षा समूह का नाम। यदि छोड़ दिया जाता है, तो Terraform एक यादृच्छिक, अद्वितीय नाम निर्दिष्ट करेगा
  • name_prefix - (वैकल्पिक, नए संसाधन) निर्दिष्ट उपसर्ग के साथ एक अद्वितीय नाम की शुरुआत करता है। name साथ संघर्ष।
  • description - (वैकल्पिक, नए संसाधन बल) सुरक्षा समूह विवरण। "टेराफॉर्म द्वारा प्रबंधित" के लिए चूक। नहीं हो सकता ""। नोट : यह फ़ील्ड AWS GroupDescription विशेषता के लिए GroupDescription है, जिसके लिए कोई अद्यतन API नहीं है। यदि आप अपने सुरक्षा समूहों को इस तरह वर्गीकृत करना चाहते हैं, जिन्हें अपडेट किया जा सके, तो tags उपयोग tags
  • ingress - (वैकल्पिक) प्रत्येक इंग्रेस नियम के लिए कई बार निर्दिष्ट किया जा सकता है। प्रत्येक अंतर्ग्रहण ब्लॉक नीचे प्रलेखित फ़ील्ड का समर्थन करता है।
  • egress - (वैकल्पिक, VPC केवल) प्रत्येक egress नियम के लिए कई बार निर्दिष्ट किया जा सकता है। प्रत्येक ईगेशन ब्लॉक नीचे प्रलेखित क्षेत्रों का समर्थन करता है।
  • revoke_rules_on_delete - (वैकल्पिक) टेराफॉर्म को नियम हटाने से पहले सभी सुरक्षा समूहों से जुड़े revoke_rules_on_delete को रद्द करने का निर्देश दें। यह सामान्य रूप से आवश्यक नहीं है, लेकिन कुछ निश्चित एडब्ल्यूएस सेवाएं जैसे कि इलास्टिक मैप रिड्यूस स्वचालित रूप से सेवा के साथ उपयोग किए जाने वाले सुरक्षा समूहों में आवश्यक नियम जोड़ सकती है, और उन नियमों में एक चक्रीय निर्भरता हो सकती है जो सुरक्षा समूहों को पहले निर्भरता को हटाए बिना नष्ट होने से रोकती हैं। डिफ़ॉल्ट false
  • vpc_id - (वैकल्पिक, नए संसाधन बल) VPC ID।
  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।

ingress ब्लॉक का समर्थन करता है:

  • cidr_blocks - (वैकल्पिक) CIDR ब्लॉकों की सूची।
  • ipv6_cidr_blocks - (वैकल्पिक) IPv6 CIDR ब्लॉकों की सूची।
  • from_port - (आवश्यक) प्रारंभ पोर्ट (या ICMP प्रकार संख्या अगर प्रोटोकॉल "icmp" है)
  • protocol - (आवश्यक) प्रोटोकॉल। यदि आप "-1" के प्रोटोकॉल का चयन करते हैं (शब्दार्थ "all" समतुल्य "all" , जो यहाँ मान्य मूल्य नहीं है), तो आपको "a_port" और "to_port" को 0. के बराबर निर्दिष्ट करना होगा। यदि icmp, tcp, udp नहीं है। या "-1" प्रोटोकॉल नंबर का उपयोग करें
  • security_groups - (वैकल्पिक) यदि वीपीसी का उपयोग कर ईसी 2-क्लासिक, या ग्रुप आईडी का उपयोग करते हुए सुरक्षा समूह समूह नामों की सूची।
  • self - (वैकल्पिक) यदि सही है, तो सुरक्षा समूह को इस अंतर्ग्रहण नियम के स्रोत के रूप में जोड़ा जाएगा।
  • to_port - (आवश्यक) अंतिम रेंज पोर्ट (या ICMP कोड यदि प्रोटोकॉल "icmp" है)।
  • description - (वैकल्पिक) इस अंतर्ग्रहण नियम का विवरण।

egress ब्लॉक सपोर्ट करता है:

  • cidr_blocks - (वैकल्पिक) CIDR ब्लॉकों की सूची।
  • ipv6_cidr_blocks - (वैकल्पिक) IPv6 CIDR ब्लॉकों की सूची।
  • prefix_list_ids - (वैकल्पिक) उपसर्ग सूची ID की सूची (VPC समापन बिंदु तक पहुंच की अनुमति के लिए)
  • from_port - (आवश्यक) प्रारंभ पोर्ट (या ICMP प्रकार संख्या अगर प्रोटोकॉल "icmp" है)
  • protocol - (आवश्यक) प्रोटोकॉल। यदि आप "-1" के प्रोटोकॉल का चयन करते हैं (शब्दार्थ "all" समतुल्य "all" , जो यहाँ मान्य मूल्य नहीं है), तो आपको "a_port" और "to_port" को 0. के बराबर निर्दिष्ट करना होगा। यदि icmp, tcp, udp नहीं है। या "-1" प्रोटोकॉल नंबर का उपयोग करें
  • security_groups - (वैकल्पिक) यदि वीपीसी का उपयोग कर ईसी 2-क्लासिक, या ग्रुप आईडी का उपयोग करते हुए सुरक्षा समूह समूह नामों की सूची।
  • self - (वैकल्पिक) यदि यह सच है, तो सुरक्षा समूह को इस ईग्रेस नियम के स्रोत के रूप में जोड़ा जाएगा।
  • to_port - (आवश्यक) अंतिम रेंज पोर्ट (या ICMP कोड यदि प्रोटोकॉल "icmp" है)।
  • description - (वैकल्पिक) इस नियम के नियम का वर्णन।
    egress {
      from_port = 0
      to_port = 0
      protocol = "-1"
      cidr_blocks = ["0.0.0.0/0"]
    }

उपसर्ग सूची आईडी के साथ उपयोग

उपसर्ग सूची आईडी आंतरिक रूप से AWS द्वारा प्रबंधित की जाती हैं। उपसर्ग सूची आईडी एक उपसर्ग सूची नाम, या सेवा नाम के साथ जुड़े हुए हैं, जो एक विशिष्ट क्षेत्र से जुड़ा हुआ है। उपसर्ग सूची ID VPC समापन बिंदु पर निर्यात की जाती है, इसलिए आप इस प्रारूप का उपयोग कर सकते हैं:

    # ...
      egress {
        from_port = 0
        to_port = 0
        protocol = "-1"
        prefix_list_ids = ["${aws_vpc_endpoint.my_endpoint.prefix_list_id}"]
      }
    # ...
    resource "aws_vpc_endpoint" "my_endpoint" {
      # ...
    }

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

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

  • id - सुरक्षा समूह की आईडी
  • arn - सुरक्षा समूह का ARN
  • vpc_id - VPC आईडी।
  • owner_id - स्वामी आईडी।
  • name - सुरक्षा समूह का नाम
  • description - सुरक्षा समूह का विवरण
  • ingress - प्रवेश नियम। अधिक के लिए ऊपर देखें।
  • egress - egress नियम। अधिक के लिए ऊपर देखें।

समय समाप्ति

aws_security_group निम्न aws_security_group कॉन्फ़िगरेशन विकल्प प्रदान करता है:

  • create - (डिफ़ॉल्ट 10 minutes ) कितने समय तक सुरक्षा समूह बनाने के लिए प्रतीक्षा करें।
  • delete - (डिफ़ॉल्ट 10 minutes ) सुरक्षा समूह को हटाने के लिए कितने समय तक इंतजार करना होगा।

आयात

सुरक्षा समूह को security group id , जैसे का उपयोग करके आयात किया जा सकता है

$ terraform import aws_security_group.elb_sg sg-903004f8