فهرست مندرجات[پنهان شدن][نمایش]
Infracost برای DevOps، SRE و توسعه دهندگانی که به دنبال برآورد هزینه های ابری برای پروژه های زیرساخت به عنوان کد مانند Terraform هستند، مهم است. با Infracost، هنگام مقایسه گزینههای مختلف، میتوانید به سرعت تجزیه هزینه را مشاهده کنید، که به بینش بهتر قبل از یک تصمیم بزرگ کمک میکند.
Infracost چگونه کار می کند؟
Infracost میتواند با اسکن کد Terraform شما بیش از 3 میلیون قیمت را بررسی کند و قبل از راهاندازی منابع، یک تخمین هزینه ساده و خوانا ارائه میکند.
همچنین میتوانید از Infracost برای دانستن اینکه کدام خطوط کد بیشترین تأثیر را بر هزینهها دارند، استفاده کنید زیرا در درخواستهای کشش شما هزینه را به منابع نشان میدهد. با ادغام Infracost در CI/CD خود، می توانید با تیم خود همکاری کنید و بحث در مورد تأثیر تغییرات در گردش کار فعلی خود را فعال کنید.
Infracost از طریق سرویس پشتیبان Cloud Pricing API خود کار می کند و با ابزار CLI، می توانید طرح Terraform را در قالب JSON تجزیه و تحلیل کنید. API به هزینه فردی هر منبع ابری در حال استفاده و همچنین پارامترهای هزینه مربوط به آنها بر اساس ارائه دهنده ابر ارجاع می دهد.
این برنامه برای کار کردن به هیچ اعتبارنامه ای نیاز ندارد و هیچ تغییری در Terraform یا منابع ابری تحلیل شده ایجاد نمی کند. با استفاده از تعداد انواع منابع Terraform، API تضمین می کند که منابع جدید در نظر گرفته شده است.
دو راه اصلی وجود دارد که Infracost تفکیک هزینه ها را نشان می دهد:
الف) تفکیک کامل هزینه ها
ب) تفاوت هزینه های ماهانه بین وضعیت فعلی و برنامه ریزی شده
شروع کار با Infracost (گام به گام)
برای نصب و شروع استفاده از Infracost این راهنمای گام به گام را دنبال کنید:
1. Infracost را نصب کنید
اولین قدم برای شروع نصب Infracost است، اما ابتدا باید نصب کرده باشید Terraform نصب شده است.
در اینجا نگاهی به نسخه های مختلف Infracost داریم:
macOS Homebrew:
دم نصب infracost
infracost – version # Should show v0.9.7
راهنمای macOS:
# CLI را بر اساس OS/arch شما دانلود می کند و آن را در /usr/local/bin قرار می دهد
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ش
لینوکس:
# CLI را بر اساس OS/arch شما دانلود می کند و آن را در /usr/local/bin قرار می دهد
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ش
داکر:
docker pull infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ تفکیک infracost/infracost –path /code/
# برای Infracost یا Terraform سایر پرچمها/envs مورد نیاز را اضافه کنید
# برای مثال، اگر از AWS assume-role استفاده می کنید، ممکن است این موارد مورد نیاز باشد:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
ویندوز:
دانلود و از حالت فشرده خارج کنید آخرین نسخه. آن را از Command Prompt یا Powershell با استفاده از آن اجرا کنید .\infracost.exe --no-color
در کنار سایر دستورات/پرچم های مورد نیاز (خروجی رنگی دارای یک اشکال است که باید در ویندوز آن را برطرف کنیم). شما همچنین باید فایل exe را به پوشه ای که در شماست منتقل کنید PATH
متغیر محیطی، به عنوان مثال C:\Windows
.
2. یک کلید API دریافت کنید
مرحله بعدی ثبت نام برای یک کلید API رایگان است که CLI از آن برای پرس و جو از API Cloud Pricing برای کارهایی مانند دریافت قیمت برای انواع نمونه استفاده می کند.
کلیه سیستم عامل ها:
ثبت زیر هزینه
کلید در ذخیره شده است ~/.config/infracost/credentials.yml
.
3. Infracost را اجرا کنید
اکنون شما آماده اجرای Infracost هستید که هیچ تغییری در وضعیت Terraform یا منابع ابری شما ایجاد نمی کند. می توانید آن را با پروژه Terraform ارائه شده اجرا کنید تا آن را آزمایش کنید.
کلیه سیستم عامل ها:
کلون git https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# با main.tf بازی کنید و دوباره اجرا کنید تا هزینه ها را مقایسه کنید
مسیر شکست زیر هزینه .
# تفاوت هزینه های ماهانه را نشان دهید، فایل yml را ویرایش کنید و برای مقایسه هزینه ها دوباره اجرا کنید
infracost diff – path . – sync-usage-file –usage-file infracost-usage.yml
4. به CI/CD اضافه کنید
اکنون می توانید از Infracost استفاده کنید ادغام CI/CD برای اضافه کردن خودکار نظرات درخواست کشش، که تفاوت های برآورد هزینه را به شما نشان می دهد. این همچنین یک شبکه ایمنی در اختیار شما قرار می دهد و تیم ها را قادر می سازد تا در مورد تأثیر هزینه تغییرات به عنوان بخشی از گردش کار خود بحث کنند.
استفاده
La infracost
CLI دارای دستورات اصلی زیر است:
breakdown
: نمایش تفکیک کامل هزینه هاdiff
: نمایش تفاوت هزینه های ماهانه بین وضعیت فعلی و برنامه ریزی شده
اگر مخزن شما دارای چندین پروژه Terraform یا فضای کاری است از فایل پیکربندی Infracost استفاده کنید. نتایج آنها در همان خروجی تفکیک یا تفاوت ترکیب می شود.
استفاده پیشرفته
Infracost همچنین دارای روش های مختلف استفاده پیشرفته ای است که می توان از آنها علاوه بر روش های استفاده معمولی استفاده کرد. این روش های پیشرفته را می توان از طریق یک فایل پیکربندی Infracost نیز استفاده کرد.
فایل Terraform Plan
Infracost را می توان در برابر فایل Plan Terraform اجرا کرد، که به این معنی است که شما قبلا Terraform را اجرا کرده اید init.
Infracost فقط Terraform را اجرا می کندshow
در این مورد، به این معنی که نیازی به اعتبار ابری یا --terraform-plan-flags
تنظیم شود
مسیر/به/کد سی دی
زمینی init
پلان terraform -out tfplan.binary
تجزیه زیر هزینه - مسیر tfplan.binary
infracost diff –path tfplan.binary
ایالت Terraform
اگر می خواهید تفکیک هزینه وضعیت فعلی Terraform را ببینید، باید آن را بدانید infracost breakdown
فرمان دارای یک --terraform-use-state
پرچم، که در این مورد مفید خواهد بود. از قبل باید Terraform را اجرا کنید apply
بنابراین Infracost فقط Terraform را اجرا می کند show
، که نیازی به اعتبار ابری یا --terraform-plan-flags
تنظیم شود
تجزیه زیر هزینه -مثالهای مسیر/terraform -terraform-use-state
فایل JSON State Terraform
شما می توانید اجرا کنید infracost breakdown
در برابر یک فایل JSON State 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 در نظر بگیرید.
پاسخ دهید