المهارات terraform-aws-modules
📦

terraform-aws-modules

آمن

بناء وحدات Terraform AWS جاهزة للإنتاج

إنشاء بنية تحتية قابلة لإعادة الاستخدام في Terraform أمر معقد وعرضة للأخطاء. توفر هذه المهارة إرشادات خبيرة حول تصميم الوحدات وإدارة الحالة وأنماط HCL للإنتاج في AWS.

يدعم: Claude Codex Code(CC)
📊 71 كافٍ
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "terraform-aws-modules". إنشاء وحدة EKS cluster قابلة لإعادة الاستخدام مع تعريفات متغيرات مناسبة

النتيجة المتوقعة:

يوفر هيكل وحدة كامل مع variables.tf يحدد cluster_name وnode_count وinstance_type مع قواعد التحقق من الصحة، وmain.tf مع موارد aws_eks_cluster وaws_eks_node_group باستخدام for_each لمجموعات العقد، وoutputs.tf لتصدير cluster endpoint وnode group ARN، وversions.tf لتثبيت مزود aws على >= 4.0

استخدام "terraform-aws-modules". تكوين قفل الحالة لبيئة الإنتاج

النتيجة المتوقعة:

يرجع تكوين S3 backend مع bucket terraform-state-prod، ومفتاح env/prod/terraform.tfstate، ومنطقة us-east-1، وجدول DynamoDB tf-state-lock، والتشفير ممكّن، بالإضافة إلى تعليمات لاستيراد الحالة الأولية وسياسات وصول الفريق

التدقيق الأمني

آمن
v1 • 2/25/2026

Static analysis detected 25 patterns but all are false positives. External command references are Terraform CLI documentation examples (terraform fmt, validate, plan, force-unlock), not executable code. The CIDR block 10.0.0.0/16 is standard RFC1918 private networking for VPC configuration. This is documentation-only content with no executable code.

1
الملفات التي تم فحصها
80
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
31
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

مهندس DevOps يبني وحدات VPC

إنشاء وحدة VPC قابلة لإعادة الاستخدام مع تعريفات متغيرات مناسبة ومخرجات وإستراتيجية وضع علامات لنشر الشبكة المتسق عبر البيئات.

فريق المنصة يعد إدارة الحالة

تكوين backend S3 مع قفل DynamoDB لحالة Terraform الإنتاجية، مما يضمن عمليات متزامنة آمنة وتشفير الحالة.

مطور يهاجر من CloudFormation

ترجمة قوالب CloudFormation الموجودة إلى Terraform HCL مع هيكل وحدة مناسب وإدارة حالة من البداية.

جرّب هذه الموجهات

إنشاء هيكل وحدة أساسي
أنشئ هيكل وحدة Terraform لـ S3 bucket في AWS مع تمكين versioning. ضمّن variables.tf لاسم bucket وعلم versioning، وmain.tf مع المورد، وoutputs.tf لـ bucket ARN والاسم، وversions.tf لتثبيت مزود AWS.
مراجعة الوحدة لأفضل الممارسات
راجع وحدة Terraform هذه لأفضل الممارسات ومشاكل الأمان. تحقق من صحة المتغير المناسبة، ووضع علامة على المخرجات الحساسة، وتثبيت إصدار المزود، وإستراتيجية وضع العلامات المتسقة.
تصميم إستراتيجية الحالة عن بعد
صمم تكوين backend حالة عن بعد لفريق به بيئات dev وstaging وproduction. استخدم S3 للتخزين مع قفل DynamoDB. ضمّن مفاتيح حالة منفصلة لكل بيئة ومكّن التشفير.
الترحيل من Count إلى For_Each
أعد refactor تكوين Terraform هذا لاستخدام for_each بدلاً من count لإدارة subnets متعددة. الكود الحالي يستخدم count مع list indexing مما يسبب مشاكل عند إزالة العناصر الوسطى. حافظ على جميع السمات الموجودة.

أفضل الممارسات

  • ثبت إصدارات المزود والوحدات في versions.tf لمنع التغييرات الكبيرة أثناء التحديثات
  • استخدم for_each بدلاً من count عندما يجب أن تبقى هوية المورد مستقرة عبر التطبيقات
  • خزّن الحالة عن بعد في S3 مع قفل DynamoDB ومكّن التشفير من جانب الخادم

تجنب

  • استخدام count للموارد التي قد تُزال منها العناصر الوسطى، مما يسبب إعادة إنشاء غير ضرورية
  • إيداع ملفات .tfstate في تحكم الإصدار مما يعرض بيانات المورد الحساسة
  • الإشارة إلى الحالة من تكوينات أخرى دون استخدام مصدر بيانات terraform_remote_state

الأسئلة المتكررة

كيف أتعامل مع أخطاء قفل الحالة بعد فشل terraform apply؟
أولاً تأكد من عدم وجود عمليات أخرى قيد التشغيل. ثم استخدم terraform force-unlock مع معرف القفل من رسالة الخطأ. أكّد دائمًا أن العملية السابقة فشلت حقًا قبل الإلغاء القسري للقفل.
هل يجب استخدام ملف حالة واحد أم حالات منفصلة لكل بيئة؟
استخدم ملفات حالة منفصلة لكل بيئة (dev وstaging وprod) بمفاتيح مختلفة في نفس S3 bucket. هذا يوفر العزل مع الحفاظ على إدارة الحالة بسيطة ويمكّن دورة حياة مستقلة لكل بيئة.
كيف أُدير الأسرار في متغيرات Terraform؟
علّم المتغيرات الحساسة بـ sensitive = true في variables.tf. خزّن القيم الفعلية في AWS Secrets Manager أو SSM Parameter Store وأشر إليها عبر مصادر البيانات. لا تُودع أبدًا قيم المتغيرات مع الأسرار في تحكم الإصدار.
ما الفرق بين count وfor_each في Terraform؟
يستخدم count مؤشرات رقمية تتغير عند إزالة العناصر، مما يسبب إعادة إنشاء المورد. يستخدم for_each مفاتيح نصية أو كائنات مستقرة، مما يحافظ على هوية المورد عند تغيير العناصر الأخرى. فضّل for_each لمعظم حالات الاستخدام.
كيف أستورد موارد AWS الموجودة إلى حالة Terraform؟
عرّف المورد في HCL أولاً، ثم شغّل terraform import مع عنوان المورد ومعرف مورد AWS. للاستيراد المعقد، فكّر في استخدام terraform import مع -generate-config لتوليد التكوين تلقائيًا.
هل يمكنني استخدام هذه المهارة للبنية التحتية لـ Azure أو GCP؟
هذه المهارة متخصصة في أنماط مزود AWS. بينما تنطبق مفاهيم Terraform العامة على Azure وGCP، تختلف موارد المزود المحددة وأفضل الممارسات. استخدم إرشادات محددة للمزود للبنية التحتية غير AWS.

تفاصيل المطور

بنية الملفات

📄 SKILL.md