Terraform Drift का पता लगाना और उसका समाधान

Terraform drift आपके production environment में छिपे हुए जोखिम पैदा करता है। यह तब होता है जब आपका वास्तविक infrastructure आपके code से मेल नहीं खाता है।

यह mismatch outages का कारण बनता है। यह security gaps पैदा करता है। इससे compliance failures होते हैं।

Drift क्यों होता है?

  • Engineers cloud console में emergency hotfixes करते हैं।
  • Incident के दौरान टीमें manual changes करती हैं।
  • लोग आपके IaC workflow के बाहर resources बनाते हैं।
  • काम की गति आपके governance rules से तेज़ हो जाती है।

उदाहरण: आपका code एक EC2 instance को t2.micro के रूप में define करता है। एक engineer AWS console में इसे manually बदलकर t2.large कर देता है। अब आपका code और आपकी reality अलग-अलग हैं। यही drift है।

इसे कैसे खोजें: terraform plan command चलाएँ। यह आपको अपने code और cloud के बीच के अंतर को दिखाता है। ध्यान दें कि कुछ manual changes छिपे रह सकते हैं यदि वे उन विशिष्ट resources को प्रभावित नहीं करते हैं जिन्हें Terraform track करता है।

इसे कैसे रोकें:

  • एक remote backend का उपयोग करें। अपने state को AWS S3 में स्टोर करें। यह आपकी पूरी टीम के लिए आपकी state file को सुरक्षित और versioned रखता है।
  • GitOps का उपयोग करें। Git को अपना single source of truth बनाएँ। हर change एक pull request के माध्यम से होना चाहिए।
  • Testing को automate करें। अपने infrastructure changes को live होने से पहले चेक करें।
  • लगातार monitor करें। जब आपके code के बाहर कोई बदलाव होता है, तो alert पाने के लिए AWS Config या Spacelift जैसे tools का उपयोग करें।

इसे कैसे ठीक करें: यदि आपको drift मिलता है, तो आपको infrastructure को वापस अपने code के अनुसार लाना होगा। manual changes को overwrite करने और अपने इच्छित state को बहाल करने के लिए आप terraform apply command का उपयोग करते हैं।

Consistency आपके systems को stable रखती है।

स्रोत: https://dev.to/vprachi360/terraform-drift-detection-and-remediation-tactics-29bm

वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi