هل سئمت من تنبيهات Terraform الغامضة حول الانحراف؟ طريقة جديدة تحول الإشعارات البسيطة إلى رؤى مفصلة وقابلة للتنفيذ، تخبرك بالضبط ما هي الموارد التي تغيرت ومدى أهميتها دون إرباكك.
هل تلقيت يومًا تنبيهًا من Terraform يخبرك بأن شيئًا ما قد تغير، لكنه لا يوضح لك «ماذا» بالضبط؟ هذا يشبه تلقي إشعار بأن سيارتك بها مشكلة دون معرفة ما إذا كان إطارًا مثقوبًا أم مجرد غطاء وقود مفكوك. واجه صديقنا التقني الموثوق به هذه المشكلة بالذات مع إعداد Terraform الخاص به: حيث كانت تنبيهاته الآلية قادرة على اكتشاف الانحراف وإرسال بريد إلكتروني، لكن الرسالة كانت غامضة، ولا تقدم تفاصيل حول «أي» الموارد تم تعديلها أو «مدى أهمية» التغيير. هذا صداع شائع لأي شخص يدير البنية التحتية كتعليمات برمجية. أنت بحاجة إلى معرفة ما إذا كانت أذونات دور IAM قد تغيرت فجأة، أو تحول تكوين الشبكة، أو إذا كان الأمر أقل تأثيرًا. مجرد عبارة 'يوجد انحراف' لا تكفي لاتخاذ إجراء سريع أو تحديد الأولويات. إليك حل ذكي يساعدك على فهم ما يجري حقًا. بدلاً من مجرد إرسال بريد إلكتروني أساسي، يتضمن الحل إنشاء حدث منظم بمعلومات دقيقة. أولاً، تقوم العملية بتشغيل `terraform plan` لتحديد التغييرات وحفظ الخطة. إذا تم العثور على تغييرات، يقوم `terraform show -json` بتحويل هذه الخطة إلى تنسيق JSON يمكن قراءته آليًا. نظرًا لأن JSON الكامل يمكن أن يكون كبيرًا جدًا، يتم استخدام أداة تسمى `jq` لتصفية الأجزاء الأساسية فقط: `address` المورد، `type` الخاص به (مثل `aws_iam_role`)، و`actions` المتخذة (مثل `create` أو `update` أو `delete`). يتم بعد ذلك نشر هذه المعلومات المكثفة والقيمة كحدث منظم واحد إلى موضوع SNS. ومن هناك، ينقسم بذكاء إلى مسارين. تذهب نسخة واحدة إلى قائمة انتظار SQS، والتي تعمل كسجل تدقيق آمن لجميع التغييرات، مما يضمن حصولك على سجل. ويتم إرسال النسخة الأخرى إلى دالة Lambda. تتمثل مهمة هذه الدالة في تصنيف شدة التغيير على الفور – بتقييمه على أنه عالٍ، متوسط، أو منخفض – بناءً على نوع المورد والإجراءات. أخيرًا، يتم تخزين هذه التصنيفات في سجلات CloudWatch، مما يمنحك رؤى واضحة حول سلامة بنيتك التحتية. بهذه الطريقة، تحصل على معلومات قابلة للتنفيذ، مما يتيح لك الاستجابة بفعالية لتحولات البنية التحتية الفعلية دون الشعور بالإرهاق بسبب التنبيهات الغامضة.