يعد Infracost مهمًا لـ DevOps و SRE والمطورين الذين يتطلعون إلى تقدير تكاليف السحابة لمشاريع البنية التحتية كرمز مثل Terraform. باستخدام Infracost ، يمكنك رؤية تفاصيل التكلفة بسرعة أثناء مقارنة الخيارات المختلفة ، مما يساعد على الوصول إلى رؤى أفضل قبل اتخاذ قرار كبير.
كيف يعمل Infracost؟
يمكن لـ Infracost التحقق من أكثر من 3 ملايين سعر عن طريق مسح كود Terraform الخاص بك ، وينتج تقديرًا بسيطًا وسهل القراءة للتكلفة قبل إطلاق الموارد.
يمكنك أيضًا استخدام Infracost لمعرفة سطور التعليمات البرمجية التي لها أكبر تأثير من حيث التكلفة لأنها تحدد تكلفة الموارد في طلبات السحب الخاصة بك. من خلال دمج Infracost في CI / CD الخاص بك ، يمكنك التعاون مع فريقك وتمكين المناقشات حول تأثير التغييرات في سير عملك الحالي.
تعمل Infracost من خلال خدمة الواجهة الخلفية للتسعير السحابي الخاصة بها ، وباستخدام أداة CLI ، يمكنك تحليل خطة Terraform بتنسيق JSON. تشير واجهة برمجة التطبيقات (API) إلى التكلفة الفردية لكل مورد سحابي قيد الاستخدام ، بالإضافة إلى معلمات التكلفة ذات الصلة بناءً على موفر السحابة.
لا يتطلب البرنامج أي بيانات اعتماد للعمل ، ولا يُجري أي تعديلات على Terraform أو على موارد السحابة التي تم تحليلها. باستخدام عدد أنواع موارد Terraform ، تضمن API احتساب الموارد الجديدة.
هناك طريقتان رئيسيتان يوضح Infracost توزيع التكاليف:
أ) تفصيل كامل للتكاليف
ب) فرق التكاليف الشهرية بين الحالة الحالية والمخطط لها
بدء استخدام Infracost (خطوة بخطوة)
اتبع هذا الدليل المفصل خطوة بخطوة للتثبيت والبدء في استخدام Infracost:
1. تثبيت Infracost
الخطوة الأولى للبدء هي تثبيت Infracost ، ولكن يجب أن يكون لديك أولاً Terraform تثبيت.
فيما يلي نظرة على الإصدارات المختلفة من Infracost:
ماك البيرة المنزلية:
تركيب الشراب infracost
infracost –version # يجب أن تظهر v0.9.7
دليل macOS:
# يقوم بتنزيل CLI بناءً على نظام التشغيل / القوس الخاص بك ويضعه في / usr / local / bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ش
لينكس:
# يقوم بتنزيل CLI بناءً على نظام التشغيل / القوس الخاص بك ويضعه في / usr / local / bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ش
عامل ميناء:
عامل سحب infracost / infracost
تشغيل عامل ميناء –rm \
-E INFRACOST_API_KEY = انظر_المتابعة_الخطوة_على_الظاهرة_إلى_جيت_هذا \
-e AWS_ACCESS_KEY_ID = $ AWS_ACCESS_KEY_ID \
-أو AWS_SECRET_ACCESS_KEY = AWS_SECRET_ACCESS_KEY $ \
-v $ PWD /: / code / infracost / infracost breakdown –path / code /
# أضف أعلام / صور أخرى مطلوبة لـ Infracost أو Terraform
# على سبيل المثال ، قد تكون هذه مطلوبة إذا كنت تستخدم AWS في دور مفترض:
# -e AWS_SESSION_TOKEN = $ AWS_SESSION_TOKEN \
# -e AWS_REGION = $ AWS_REGION \
نوافذ:
تحميل وفك ضغط أحدث إصدار. قم بتشغيله من موجه الأوامر أو باستخدام Powershell .\infracost.exe --no-color
جنبًا إلى جنب مع الأوامر / العلامات الأخرى المطلوبة (يوجد خطأ في إخراج اللون نحتاج إلى إصلاحه في Windows). يجب عليك أيضًا نقل ملف exe إلى مجلد موجود في ملف PATH
متغيرات البيئة، على سبيل المثال C:\Windows
.
2. احصل على مفتاح API
تتمثل الخطوة التالية في التسجيل للحصول على مفتاح واجهة برمجة تطبيقات مجاني ، والذي يستخدمه CLI للاستعلام عن Cloud Pricing API لمهام مثل الحصول على أسعار لأنواع المثيلات.
جميع أنظمة التشغيل:
سجل infracost
يتم حفظ المفتاح في ~/.config/infracost/credentials.yml
.
3. تشغيل Infracost
أنت الآن جاهز لتشغيل Infracost ، والذي لا يُجري أي تغييرات على حالة Terraform أو موارد السحابة. يمكنك تشغيله مع مشروع Terraform المقدم لاختباره.
جميع أنظمة التشغيل:
استنساخ بوابة https://github.com/infracost/example-terraform.git
مثال على قرص مضغوط / نموذج 1
# العب مع main.tf وأعد التشغيل لمقارنة التكاليف
انهيار Infracost –path.
# عرض فرق التكاليف الشهرية ، وتحرير ملف yml وإعادة التشغيل لمقارنة التكاليف
مسار فرق infracost. –sync-Usage-file –usage-file infracost-Usage.yml
4. أضف إلى CI / CD
يمكنك الآن استخدام إنفراكوست تكامل CI / CD لإضافة تعليقات طلب السحب تلقائيًا ، والتي تظهر لك اختلاف تقدير التكلفة. سيوفر لك هذا أيضًا شبكة آمنة ، مما يتيح للفرق مناقشة تأثير تكلفة التغييرات كجزء من سير العمل.
الأستعمال
• infracost
يحتوي CLI على الأوامر الرئيسية التالية:
breakdown
: إظهار التفاصيل الكاملة للتكاليفdiff
: عرض فرق التكاليف الشهرية بين الحالة الحالية والمخطط لها
استخدم ملف تكوين Infracost إذا كان الريبو الخاص بك يحتوي على عدة مشاريع Terraform أو مساحات عمل. سيتم دمج نتائجهم في نفس الانهيار أو إخراج الفرق.
الاستخدام المتقدم
يحتوي Infracost أيضًا على العديد من طرق الاستخدام المتقدمة التي يمكن استخدامها بالإضافة إلى طرق الاستخدام العادية. يمكن استخدام هذه الأساليب المتقدمة عبر ملف تكوين Infracost أيضًا.
ملف خطة Terraform
يمكن تشغيل Infracost مقابل ملف خطة Terraform ، مما يعني أنك قمت بالفعل بتشغيل Terraform init.
Infracost يدير فقط Terraformshow
في هذه الحالة ، مما يعني أنه لا يتطلب بيانات اعتماد سحابية أو --terraform-plan-flags
للتهيئة.
مسار القرص المضغوط / إلى / رمز
تهيئة terraform
خطة terraform-out tfplan.binary
تفاصيل Infracost –path tfplan.binary
اختلاف infracost - مسار tfplan.binary
ولاية Terraform
إذا كنت تريد رؤية تفاصيل التكلفة لحالة Terraform الحالية ، فيجب أن تعرف ملف infracost breakdown
الأمر لديه --terraform-use-state
العلم ، والذي سيكون مفيدًا في هذه الحالة. يجب تشغيل Terraform بالفعل apply
، لذلك يقوم Infracost بتشغيل Terraform show
، والتي لا تتطلب بيانات اعتماد سحابية أو --terraform-plan-flags
للتهيئة.
انهيار Infracost - أمثلة المسار / التضاريس - الشكل - الاستخدام - الحالة
ملف JSON الخاص بولاية Terraform
يمكنك تشغيل infracost breakdown
مقابل ملف JSON الخاص بولاية Terraform. سيكون هذا [تنسيق إخراج JSON] للحالة بدلاً من تمثيل JSON الداخلي. يجب أن يتم إنشاؤها عن طريق التشغيل terraform show -json
داخل مشروع Terraform ، ويكون مفيدًا بشكل خاص إذا كنت تريد رؤية تفاصيل التكلفة لحالة Terraform الحالية. في هذه الحالة ، فهذا يعني أنك قمت بالفعل بتشغيل Terraform apply
، مما يعني عدم وجود بيانات اعتماد سحابية أو --terraform-plan-flags
مطلوبة.
ما هي السحابات والموارد المدعومة؟
يدعم Infracost أكثر من 200 موارد Terraform عبر AWS و Google و Azure ، بينما أدوات IaC الأخرى مثل بولومي و تشكيل السحابة تم تضمينها في خارطة الطريق. تتم إضافة دعم الموارد الجديدة باستمرار ، لذلك من المهم التحقق من إعادة الشراء للإصدارات.
وفي الختام
Infracost مفيد أداة للمطورينو DevOps و SRE وآخرين يتطلعون إلى رؤية تفاصيل التكلفة ومقارنة الخيارات المختلفة مقدمًا بسرعة. إنه أيضًا اختيار جيد إذا كنت تبحث عن دمجه مع CI و / أو تحتاج إلى دعم AWS و Google Cloud. إذا كنت ترغب في إنشاء تعاون أفضل بين فريقك ، فيمكن أن تساعدك Infracost أيضًا في هذا الصدد. كل هذه الميزات تجعلها أداة يجب أن تفكر بشدة في تنفيذها لتقديرات تكلفة السحابة لـ Terraform.
اترك تعليق