0Pricing
Terraform Infrastructure as Code · درس

الواجهات الخلفية للحالة عن بُعد

هيّئ واجهات خلفية للحالة عن بُعد مثل AWS S3 وAzure Blob Storage وGoogle Cloud Storage لإدارة الحالة بأمان واستمرارية وبطريقة تعاونية.

الواجهات الخلفية للحالة عن بُعد درس مجاني في Terraform Infrastructure as Code على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Terraform Infrastructure as Code، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Terraform Infrastructure as Code 4 دروس في المجموع.

لماذا الحالة البعيدة؟

عند استخدام Terraform لأول مرة، يخزّن ملف حالة محليًا على جهازك، ويُسمى عادةً terraform.tfstate.

تعمل هذه الحالة المحلية بشكل جيد للمشاريع الفردية، لكنها سرعان ما تصبح مشكلة عند العمل ضمن فريق أو إدارة بنية أساسية معقدة.

فهم حالة Terraform

يُعد ملف حالة Terraform مكوّنًا أساسيًا. وهو ملف JSON يربط موارد البنية الأساسية الفعلية بتكوين Terraform الخاص بك.

  • يتتبع معرّفات الموارد.
  • يخزّن بيانات وصفية حول بنيتك الأساسية.
  • يمكّن Terraform من معرفة ما هو موجود وما يحتاج إلى تغيير.

قيود الحالة المحلية

تخيّل عدة أعضاء في الفريق يشغّلون terraform apply. سيكون لكل منهم حالة محلية خاصة به، مما يؤدي إلى:

  • التعارضات: لا تظهر التغييرات التي يجريها شخص ما في حالة شخص آخر.
  • فقدان البيانات: يعني فقدان ملفك المحلي فقدان القدرة على تتبع بنيتك الأساسية.
  • انعدام التعاون: تصبح مشاركة إدارة البنية الأساسية صعبة.

التعريف بخلفيات الحالة البعيدة

للتغلب على قيود الحالة المحلية، يدعم Terraform خلفيات الحالة البعيدة. وهي مواقع آمنة ومشتركة يُخزّن فيها ملف .tfstate الخاص بك.

تشمل الخلفيات البعيدة الشائعة خدمات التخزين السحابي مثل AWS S3 وAzure Blob Storage وGoogle Cloud Storage.

مزايا الحالة البعيدة

يوفر استخدام خلفية بعيدة عدة مزايا أساسية:

  • التعاون: يشارك جميع أعضاء الفريق حالة واحدة موثوقة.
  • الاستمرارية: تُخزّن الحالة في تخزين سحابي عالي التوافر، مما يمنع فقدانها.
  • الأمان: يوفر التخزين السحابي تحكمًا قويًا في الوصول وتشفيرًا لحالتك.
  • قفل الحالة: يمنع عدة مستخدمين من إجراء تغييرات في الوقت نفسه (وسنتناول ذلك في الدرس التالي).

تكوين خلفية بعيدة

تُكوّن خلفية بعيدة بإضافة كتلة backend داخل كتلة terraform ذات المستوى الأعلى في ملف التكوين (مثل main.tf).

يسمح Terraform بتكوين خلفية واحدة فقط لكل وحدة جذر.

terraform {
  # backend configuration goes here
}

مثال على خلفية AWS S3

يُعد S3 خيارًا شائعًا للحالة البعيدة في AWS. ستحتاج إلى حاوية S3 ومفتاح فريد لملف الحالة.

يوصى بشدة بتمكين ميزة تعيين الإصدارات في حاوية S3 للاحتفاظ بسجل لتغييرات الحالة.

terraform {
  backend "s3" {
    bucket         = "my-tf-state-bucket-12345"
    key            = "dev/my-app/terraform.tfstate"
    region         = "us-east-1"
    encrypt        = true
    dynamodb_table = "my-tf-state-lock" # For state locking
  }
}

خلفية Azure Blob Storage

في Azure، يمكنك استخدام Blob Storage لتخزين حالة Terraform. وستحتاج إلى حساب تخزين وحاوية.

تأكد من أن كيان الخدمة أو المستخدم الذي يشغّل Terraform لديه الأذونات المناسبة لحساب التخزين.

terraform {
  backend "azurerm" {
    resource_group_name  = "rg-terraform-state"
    storage_account_name = "tfstateblobacc001"
    container_name       = "tfstate"
    key                  = "dev/my-app/terraform.tfstate"
  }
}

تهيئة الخلفية البعيدة

بعد إضافة كتلة backend، يجب تشغيل terraform init. يكتشف هذا الأمر تكوين الخلفية وينقل حالتك المحلية (إن وُجدت) إلى الموقع البعيد.

سيطلب Terraform تأكيدك قبل النقل.

terraform init

التحقق من الحالة البعيدة

أيّ مما يلي يُعد من المزايا الأساسية لاستخدام خلفية حالة بعيدة في Terraform؟

مراجعة والخطوات التالية

أحسنت! لقد تعلّمت الدور المهم الذي تؤديه خلفيات الحالة البعيدة في Terraform.

  • تعمل الحالة البعيدة على توحيد ملف .tfstate في موقع مركزي.
  • تتيح التعاون بين أعضاء الفريق، وتوفر الاستمرارية، وتعزز الأمان.
  • تُكوّن باستخدام كتلة backend وتُفعّل باستخدام terraform init.

سننتقل بعد ذلك إلى التعمق في قفل الحالة والاتساق، وهما من الميزات المهمة التي تتيحها الخلفيات البعيدة!

الأسئلة الشائعة

هل درس «الواجهات الخلفية للحالة عن بُعد» مجاني؟

نعم — نص درس «الواجهات الخلفية للحالة عن بُعد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Terraform Infrastructure as Code، انتقل إلى CoddyKit PRO. تتضمن دورة Terraform Infrastructure as Code 4 دروس في المجموع.

ماذا ستتعلم في «الواجهات الخلفية للحالة عن بُعد»؟

هيّئ واجهات خلفية للحالة عن بُعد مثل AWS S3 وAzure Blob Storage وGoogle Cloud Storage لإدارة الحالة بأمان واستمرارية وبطريقة تعاونية. تتمرن على Terraform Infrastructure as Code مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Terraform Infrastructure as Code؟

لا تُشترط خبرة سابقة. Terraform Infrastructure as Code على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «الواجهات الخلفية للحالة عن بُعد»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Terraform Infrastructure as Code هذا؟

نعم. كل درس في Terraform Infrastructure as Code يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الواجهات الخلفية للحالة عن بُعد
  2. قفل الحالة واتساقها
  3. استيراد الموارد الموجودة
  4. إعادة هيكلة الحالة باستخدام moved وremoved
← العودة إلى Terraform Infrastructure as Code