AWS बनाने का प्रयास करते समय AWS CloudFormation "अमान्य अनुरोध" लौटाता है :: Route53 :: RecordSet


13

मैं इस पर एक नुकसान में हूँ।

क्लाउडफ़ॉर्मेशन का 99% समय आपके द्वारा काम करने वाले किसी प्रकार के डिबग संदेश देने में बहुत अच्छा है, लेकिन "अमान्य अनुरोध" ने मुझे स्टम्प्ड छोड़ दिया है, खासकर जब संसाधन के साथ शुरू करना बहुत सरल है।

यह संसाधन कहा जाता है जो मुझे समस्याएं दे रहा है (Ansible द्वारा उत्पन्न टेम्पलेट, इसलिए {{...}} सूचनाएं)

"DatabaseDNSRecord": {
    "Type": "AWS::Route53::RecordSet",
    "Properties": {
        "HostedZoneId": "HOSTED_ZONE_ID",
        "Name": "db.{{ item.env_name|lower }}v2.<DOMAIN>.com.",
        "ResourceRecords": [
            {
                "Fn::GetAtt": [ "Database", "Endpoint.Address" ]
            }
        ],
        "Type": "CNAME"
    },
    "DependsOn": "Database"
}

डॉक्स से जो मैं बता सकता हूं, उससे जो कुछ भी आवश्यक है वह मौजूद है, सही है, और सही प्रारूप में है।

केवल एक चीज जो मैं सोच सकता हूं कि मैं इस संसाधन को एक मौजूदा CloudFormation स्टैक में जोड़ रहा हूं जो मैंने पहले बनाया था जो पहले से ही संसाधन बनाया था , जो कि रिकॉर्ड के लिए है (इसके लिए संसाधन टेम्पलेट पोस्ट करने के लिए खुश है यदि आवश्यक हो, तो कुछ भी विशेष नहीं) ।DatabaseAWS::RDS::DBInstance

कोई भी विचार क्यों मुझे "अमान्य अनुरोध" मिल रहा है?

धन्यवाद।

संपादित करें: मैंने एक TTLही त्रुटि के साथ और इसके बिना प्रयास किया ।

जवाबों:


18

पता चला कि मैंने कोशिश नहीं की TTL और DependsOn

उन दोनों के साथ काम करता है।


3
TTLमेरे लिए काम जोड़ना DependsOnअनावश्यक था। धन्यवाद!
tmont

1

TTL और DependsOn के अलावा, मुख्य विचार यह सुनिश्चित करना है कि सिस्टम उन संदर्भों का उपयोग करके रिकॉर्ड बनाने का प्रयास नहीं करता है जो मौजूद नहीं हैं।

इस प्रकार, डिपेंड्सऑन का अस्तित्व ही नहीं होना चाहिए, लेकिन यह उन सभी संसाधनों को सूचीबद्ध करना चाहिए जो कि रिकॉर्डसेटग्रुप परिभाषा (लोड बैलेंसर, अन्य डीएनएस प्रविष्टियाँ, ईएनआई, आदि) में संदर्भित हैं। यह सुनिश्चित करेगा कि जब तक आवश्यक शर्तें पूरी न हो जाएं तब तक क्लाउड डीएनएस रिकॉर्ड के निर्माण में देरी करता है।


0

मेरे पास समान मुद्दा है, मैंने अभी TTLसंपत्ति निर्धारित की है और यह ठीक काम करता है, ऐसा लगता है जैसे TTLसंपत्ति ऐसे रिकॉर्ड सेट के लिए जरूरी है।

मैं उपयोग नहीं कर रहा हूं DependsOnक्योंकि रिकॉर्ड सेट "ResourceRecords" : [ { "Fn::GetAtt" : [ "ApplicationRds" , "Endpoint.Address" ] } ],"ApplicationRds" संसाधन से निर्भर करता है , इसलिए मुझे उपयोग करने का कोई लाभ नहीं दिखता हैDependsOn


0

तो जब रिकॉर्ड बनाने वही त्रुटि हो रहा है कर एक है TTLजाँच अगर वे नहीं हैं, सेट ALIASप्रकार रिकॉर्ड, के रूप में वे चाहिए नहीं एक TLL है (के रूप में यह से नकल कर रहा है AliasTarget)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.