मान लीजिए मैंने बनाया

    CognitoUserPoolIdentityProviderGoogle:
      Type: AWS::Cognito::UserPoolIdentityProvider
      Properties:
        ProviderName: Google
        AttributeMapping:
          email: emailAddress
        ProviderDetails:
          client_id: xxxx
          client_secret: yyyy
          authorize_scopes: profile email openid phone
        ProviderType: Google
        UserPoolId:
          Ref: CognitoUserPoolUserPool

और बाद में किसी ने client_id और client_secret को मैन्युअल रूप से 1111 और 2222 में अपडेट किया। CloudFormation को फिर से चलाने के परिणामस्वरूप मैन्युअल परिवर्तन को अधिलेखित कर दिया जाएगा और मानों को xxxx और yyyy में वापस कर दिया जाएगा।

मैं इससे कैसे बचूं? AWS::Cognito::UserPoolIdentityProvider केवल एक उदाहरण है - यह कोई भी संसाधन हो सकता है।

मैं जो खोज रहा हूं वह मूल रूप से ignore_changes टेराफॉर्म में

1
Никита Васильев 16 नवम्बर 2020, 16:24

1 उत्तर

सबसे बढ़िया उत्तर

सीएफएन में "परिवर्तनों को अनदेखा" नहीं किया गया है। मैन्युअल रूप से इसके नियंत्रण से बाहर CFN द्वारा प्रबंधित किसी भी संसाधन को संशोधित करना एक बुरा अभ्यास है। मैन्युअल परिवर्तनों के परिणामस्वरूप बहुत सी समस्याएं हो सकती हैं, जिनमें से एक का आप वर्णन कर रहे हैं।

आप जो देख रहे हैं उसके लिए तकनीकी शब्द है ढेर बहाव। इसे प्रबंधित करने के कुछ तरीके हैं। लेकिन जब आपको संदेह होता है तो सबसे पहले आप बहाव का पता लगाना

चूंकि आपके मामले में बहाव उतना बुरा नहीं है, आपके पास दो विकल्प हैं:

  • मैन्युअल परिवर्तनों से मिलान करने के लिए मैन्युअल रूप से CFN टेम्पलेट को अपडेट करें, और स्टैक को अपडेट करें
  • संसाधनों को उनकी मूल स्थिति में मैन्युअल रूप से संशोधित करें और फिर सीएफएन के माध्यम से सभी अपडेट लागू करें।
1
Marcin 16 नवम्बर 2020, 23:05