Terraform 0.11

aws_default_security_group




terraform

aws_default_security_group

डिफ़ॉल्ट AWS सुरक्षा समूह के प्रबंधन के लिए एक संसाधन प्रदान करता है।

EC2 क्लासिक खातों के लिए, प्रत्येक क्षेत्र एक डिफ़ॉल्ट सुरक्षा समूह के साथ आता है। इसके अतिरिक्त, AWS में निर्मित प्रत्येक VPC एक डिफ़ॉल्ट सुरक्षा समूह के साथ आता है जिसे प्रबंधित किया जा सकता है, लेकिन नष्ट नहीं किया जाता है। यह एक उन्नत संसाधन है , और इसका उपयोग करते समय जागरूक होने के लिए विशेष कैवेट हैं। कृपया इस संसाधन का उपयोग करने से पहले इस दस्तावेज़ को इसकी संपूर्णता में पढ़ें।

aws_default_security_group सामान्य संसाधनों से अलग व्यवहार करता है, जिसमें टेराफॉर्म इस संसाधन का निर्माण नहीं करता है, बल्कि प्रबंधन में इसे "अपनाता है"। हम ऐसा कर सकते हैं क्योंकि इन डिफ़ॉल्ट सुरक्षा समूहों को नष्ट नहीं किया जा सकता है, और इन्हें डिफ़ॉल्ट इनग्रेस / ईगरिंग नियमों के ज्ञात सेट के साथ बनाया गया है।

जब टेराफॉर्म पहली बार डिफ़ॉल्ट सुरक्षा समूह को अपनाता है, तो यह तुरंत सुरक्षा समूह में सभी प्रवेश और निष्कासन नियमों को हटा देता है । यह तब कॉन्फ़िगरेशन में निर्दिष्ट किसी भी नियम को बनाने के लिए आगे बढ़ता है। इस चरण की आवश्यकता है ताकि कॉन्फ़िगरेशन में निर्दिष्ट केवल नियम बनाए जाएं।

यह संसाधन अपने इनलाइन नियमों को निरपेक्ष मानता है; केवल इनलाइन परिभाषित नियम बनाए गए हैं, और इस संसाधन के लिए बाहरी किसी भी परिवर्धन / निष्कासन के परिणाम में अंतर दिखाई देगा। इन कारणों से, यह संसाधन aws_security_group_rule संसाधन के साथ असंगत है।

डिफ़ॉल्ट सुरक्षा समूहों के बारे में अधिक जानकारी के लिए, डिफ़ॉल्ट सुरक्षा समूहों पर AWS प्रलेखन देखें

मूलभूत उदाहरण उपयोग, डिफ़ॉल्ट नियमों के साथ

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

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

resource "aws_default_security_group" "default" {
  vpc_id = "${aws_vpc.mainvpc.id}"

  ingress {
    protocol  = -1
    self      = true
    from_port = 0
    to_port   = 0
  }

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

उदाहरण के लिए सभी ईगर ट्रैफिक को अस्वीकार करने के लिए कॉन्फिगरेशन, इनग्रेड की अनुमति देता है

निम्नलिखित सभी ईगर ट्रैफ़िक को किसी भी egress नियमों को छोड़ने से इनकार करता है, जबकि सभी ट्रैफ़िक को अनुमति देने के लिए डिफ़ॉल्ट ingress नियम भी शामिल है।

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

resource "aws_default_security_group" "default" {
  vpc_id = "${aws_vpc.mainvpc.id}"

  ingress {
    protocol  = -1
    self      = true
    from_port = 0
    to_port   = 0
  }
}

तर्क संदर्भ

aws_default_security_group तर्क aws_security_group संसाधनों से थोड़ा भिन्न होते हैं। अर्थात्, name तर्क की गणना की जाती है, और name_prefix विशेषता को हटा दिया जाता है। निम्नलिखित तर्क अभी भी समर्थित हैं:

  • ingress - (वैकल्पिक) प्रत्येक इंग्रेस नियम के लिए कई बार निर्दिष्ट किया जा सकता है। प्रत्येक अंतर्ग्रहण ब्लॉक नीचे प्रलेखित फ़ील्ड का समर्थन करता है।
  • egress - (वैकल्पिक, VPC केवल) प्रत्येक egress नियम के लिए कई बार निर्दिष्ट किया जा सकता है। प्रत्येक ईगेशन ब्लॉक नीचे प्रलेखित क्षेत्रों का समर्थन करता है।
  • vpc_id - (वैकल्पिक, नए संसाधन बल) VPC ID। ध्यान दें कि vpc_id को बदलना किसी भी डिफ़ॉल्ट सुरक्षा समूह नियमों को पुनर्स्थापित नहीं करेगा जो संशोधित, जोड़े या हटाए गए थे। इसे इसकी वर्तमान स्थिति में छोड़ दिया जाएगा
  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।

प्रयोग

ऊपर उल्लिखित अपवादों के साथ, aws_default_security_group को aws_default_security_group समान व्यवहार करना चाहिए। आगे के उपयोग के प्रलेखन के लिए कृपया AWS_SECURITY_GROUP से परामर्श करें।

आपके कॉन्फ़िगरेशन से aws_default_security_group निकाल रहा है

प्रत्येक AWS VPC (या क्षेत्र, यदि EC2 क्लासिक का उपयोग करके) एक डिफ़ॉल्ट सुरक्षा समूह के साथ आता है जिसे हटाया नहीं जा सकता है। aws_default_security_group आपको इस सुरक्षा समूह को प्रबंधित करने की अनुमति देता है, लेकिन Terraform इसे नष्ट नहीं कर सकता है। आपके कॉन्फ़िगरेशन से इस संसाधन को हटाने से यह आपके स्टेटफ़ाइल और प्रबंधन से हटा देगा, लेकिन सुरक्षा समूह को नष्ट नहीं करेगा। निष्कासन के समय सभी प्रवेश या निष्कासन नियम छोड़ दिए जाएंगे। आप उन्हें AWS कंसोल के माध्यम से प्रबंधित करना फिर से शुरू कर सकते हैं।

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

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

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