技能 terraform-aws-modules
📦

terraform-aws-modules

安全

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

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

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

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
内容
50
社区
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