تخطَّ إلى المحتوى

🏗️ شرح Terraform والبنية التحتية كرمز

فهم ملفّات الحالة (State) في Terraform

الدرس 3 من 15· ⏱ 1 دقائق قراءة

الحالة (State) من أهمّ وأدقّ مفاهيم Terraform، وسوء فهمها مصدر شائع للمشكلات. تبني هذه الصفحة على ما هو Terraform؟.

ما هي الحالة؟

حين تطبّق إعدادك، يحتفظ Terraform بملفّ حالة (State) — عادةً terraform.tfstate — يسجّل فيه ربط الموارد التي تصفها في الكود بالموارد الفعليّة التي أنشأها لدى المزوّد.

بلا هذا الملفّ، لن يعرف Terraform ما الذي يديره: أي خادم في كودك يقابل أي خادم حقيقي.

لماذا تحتاج الحالة؟

  • معرفة ما يُدار: تربط كل مورد في الكود بمعرّفه الحقيقي لدى المزوّد.
  • حساب الفارق (Plan): يقارن Terraform الحالة المطلوبة (الكود) بالحالة المسجّلة ليعرف ما يجب إنشاؤه أو تعديله أو حذفه.
  • تتبّع البيانات الوصفية: يخزّن معلومات إضافية عن الموارد تُسرّع العمليات.

الحالة حسّاسة أمنيًا

نقطة جوهرية: قد يحتوي ملفّ الحالة على بيانات حسّاسة (كلمات مرور، مفاتيح) بنصّ صريح. لذلك:

  • لا تودِعه في Git ولا في أي مكان عامّ.
  • شفّره وقيّد الوصول إليه.

الحالة البعيدة (Remote State) للفرق

الحالة المحلّية تكفي لمطوّر واحد، لكنّها تفشل مع فريق: لا يمكن مشاركتها بأمان، وقد يطبّق شخصان معًا فيتلف الملفّ.

الحلّ الحالة البعيدة (Remote State): تُخزَّن في موقع مشترك (مثل حاوية S3) مع آلية قفل (Locking) تمنع التطبيق المتزامن. بهذا يعمل الفريق على حالة واحدة موثوقة دون تصادم.

تحذير أساسي

لا تعدّل ملفّ الحالة يدويًا إلّا للضرورة القصوى وبأدوات Terraform المخصّصة؛ التعديل اليدوي الخاطئ قد يفقد Terraform تتبّع مواردك.

الخطوات التالية

تعلّم كيف يستخدم Terraform الحالة في ماذا يفعل Plan و Apply؟، وابدأ عمليًا في تثبيت Terraform وأوّل إعداد.

شرح فهم ملفّات الحالة (State) في Terraform — Terraform والبنية التحتية كرمز بالعربي
فهم ملفّات الحالة (State) في TerraformTerraform والبنية التحتية كرمز بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟