Terraform Best Practices
Terraform consultingTwitter @antonbabenkoTerraform Weekly
العربية (Arabic)
العربية (Arabic)
  • مرحباً
  • المفاهيم الأساسية
  • بنية الكود
  • أمثلة عن بنية الكود
    • أداة Terragrunt
    • أداة Terraform
      • البنى الصغيرة باستعمال Terraform
      • البنى المتوسطة باستعمال Terraform
      • البنى الكبيرة باستعمال Terraform
  • قواعد التسمية
  • تنسيق الكود
  • الأسئلة الأكثر تكراراً
  • المراجع
  • كتابة ملفات أداة Terraform
  • ورشة عمل
Powered by GitBook
On this page
Export as PDF
  1. أمثلة عن بنية الكود
  2. أداة Terraform

البنى الكبيرة باستعمال Terraform

Previousالبنى المتوسطة باستعمال TerraformNextقواعد التسمية

Last updated 2 years ago

المصدر:

يحتوي هذا المثال على كود لهيكلة كود Terraform لبنية تحتية كبيرة والتي تستعمل:

  • حسابين AWS

  • منطقتين

  • بيئتين مختلفتين (prod and stage لا وجود لشيء مشترك بينهما). كل بيئة موجودة في حساب AWS مختلف وتوزع الموارد على المنطقتين

  • كل بيئة تستعمل إصدارات مختلفة للوحدات الجاهزة (alb) مصدرها

  • كل بيئة تستعمل الإصدار نفسه للوحدات الداخلية modules/network مصدره المجلد المحلي

في المشاريع الكبيرة مثل المشروع أعلاه تظهر أهمية استعمال أداة Terragrunt. انظر إلى .

  • ممتاز للمشاريع التي تحتاج إلى فصل منطقي لبيئاتها (باستعمال حسابات AWS مختلفة)

  • جيد عندما لا يوجد حاجة لتعديل الموارد المشتركة بين حسابات AWS المختلفة (بيئة واحدة = حساب AWS واحد = ملف حالة وحيد)

  • جيد عندما لا يوجد حاجة لتنسيق التعديلات بين البيئات المختلفة

  • جيد عند الاختلاف المتعمد للموارد بين البيئات والذي لا يمكن تعريف حالة عامة له (كوجود بعض الموارد في بيئة وغيابها في بيئة أخرى)

مع نمو المشروع ، سيكون من الصعب الحفاظ على تحديث هذه البيئات مع بعضها البعض. خذ بعين الاعتبار استخدام وحدات البنية التحتية (الجاهزة أو الداخلية) للمهام المتكررة.

https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/large-terraform
Terraform Registry
Code Structures examples with Terragrunt