Infracost חשובה עבור DevOps, SRE ומפתחים המעוניינים להעריך עלויות ענן עבור פרויקטי תשתית כקוד כגון Terraform. עם Infracost, אתה יכול לראות במהירות פירוט עלויות תוך השוואת אפשרויות שונות, מה שעוזר להוביל לתובנות טובות יותר לפני החלטה גדולה.
איך Infracost עובד?
Infracost יכולה לבדוק למעלה מ-3 מיליון מחירים על ידי סריקת קוד Terraform שלך, והיא מייצרת אומדן עלות פשוט וקל לקריאה לפני השקת משאבים.
אתה יכול גם להשתמש ב-Infracost כדי לדעת לאילו שורות קוד יש את ההשפעה הגדולה ביותר על העלות מכיוון שהיא ממפה את העלות למשאבים בבקשות המשיכה שלך. על ידי שילוב Infracost ב-CI/CD שלך, אתה יכול לשתף פעולה עם הצוות שלך ולאפשר דיונים על ההשפעה של שינויים בזרימת העבודה הקיימת שלך.
Infracost פועלת דרך שירות ה-Cloud Pricing API backend שלה, ועם כלי ה-CLI, אתה יכול לנתח תוכנית Terraform בפורמט JSON. ה-API מצליב את העלות האישית של כל משאב ענן בשימוש, כמו גם את פרמטרי העלות הקשורים אליהם בהתבסס על ספק הענן.
התוכנית אינה דורשת אישורים כלשהם כדי לפעול, והיא אינה מבצעת כל שינוי ב- Terraform או במשאבי הענן המנותחים. על ידי שימוש בספירת סוגי המשאבים של Terraform, ה-API מבטיח שמשאבים חדשים מטופלים.
ישנן שתי דרכים עיקריות שבהן Infracost מציג את פירוט העלויות:
א) פירוט מלא של עלויות
ב) הפרש העלויות החודשיות בין המצב הנוכחי והמתוכנן
תחילת העבודה עם Infracost (שלב אחר שלב)
עקוב אחר המדריך הזה שלב אחר שלב כדי להתקין ולהתחיל להשתמש ב-Infracost:
1. התקן Infracost
הצעד הראשון לתחילת העבודה הוא התקנת Infracost, אך תחילה עליך לעשות זאת Terraform מותקן.
להלן מבט על הגרסאות השונות של Infracost:
macOS Homebrew:
infracost של brew install
infracost – גרסה # צריכה להראות את v0.9.7
מדריך macOS:
# מוריד את ה-CLI על סמך מערכת ההפעלה/arch שלך ומכניס אותו ל-/usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ש
Linux you
# מוריד את ה-CLI על סמך מערכת ההפעלה/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=ראה_בהמשך_בשלב_איך_לקבל_זה \
-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/
# הוסף דגלים/envs נדרשים נוספים עבור Infracost או Terraform
# לדוגמה, אלה עשויים להידרש אם אתה משתמש ב-AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
הורד ופתח את ה- המהדורה האחרונה. הפעל אותו משורת הפקודה או Powershell באמצעות .\infracost.exe --no-color
לצד פקודות/דגלים נדרשים אחרים (לפלט הצבע יש באג שאנחנו צריכים לתקן ב-Windows). כדאי גם להעביר את קובץ ה-exe לתיקיה שנמצאת בקובץ שלך PATH
משתנה הסביבהלמשל C:\Windows
.
2. קבל מפתח API
השלב הבא הוא להירשם למפתח API בחינם, שבו משתמש ה-CLI כדי לבצע שאילתות ב-Cloud Pricing API עבור משימות כמו קבלת מחירים למשל.
כל מערכות ההפעלה:
מרשם אינפרא-עלות
המפתח נשמר ב ~/.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's שילובי CI/CD כדי להוסיף באופן אוטומטי הערות לבקשת משיכה, המראות לך הבדלים בהערכת עלויות. זה גם יספק לך רשת ביטחון, שתאפשר לצוותים לדון בהשפעת העלות של שינויים כחלק מתזרים העבודה שלהם.
נוֹהָג
אל האני infracost
ל-CLI יש את הפקודות העיקריות הבאות:
breakdown
: הצג פירוט מלא של העלויותdiff
: הצג הבדל של עלויות חודשיות בין המצב הנוכחי והמתוכנן
השתמש בקובץ תצורה של Infracost אם ל-Repo שלך יש מספר פרויקטים או סביבות עבודה של Terraform. התוצאות שלהם ישולבו לאותו חלוקה או פלט שונה.
שימוש מתקדם
לאינפרקוסט יש גם שיטות שימוש מתקדמות שונות שניתן להשתמש בהן בנוסף לשיטות השימוש הרגילות. ניתן להשתמש בשיטות מתקדמות אלו גם באמצעות קובץ תצורה של Infracost.
קובץ תוכנית Terraform
ניתן להפעיל את Infracost מול קובץ תוכנית Terraform, מה שמרמז שכבר הפעלת את Terraform init.
Infracost רק מפעיל את Terraformshow
במקרה זה, כלומר זה לא דורש אישורי ענן או --terraform-plan-flags
להיות מוכן.
CD path/to/code
טראפורם init
terraform plan -out tfplan.binary
פירוט עלות אינפרא -path tfplan.binary
infracost diff –path tfplan.binary
מדינת טרהפורם
אם אתה רוצה לראות את פירוט העלויות של מצב Terraform הנוכחי, אתה צריך לדעת את infracost breakdown
לפקודה יש --terraform-use-state
דגל, אשר יוכיח שימוש במקרה זה. אתה כבר חייב להפעיל את Terraform apply
, אז Infracost פשוט מריץ את Terraform show
, שאינו דורש אישורי ענן או --terraform-plan-flags
להיות מוכן.
התמוטטות עלות אינפרא - דוגמאות נתיב / terraform - terraform-use-state
קובץ JSON של Terraform State
אתה יכול להריץ את infracost breakdown
נגד קובץ JSON של מצב Terraform. זה יהיה [פורמט הפלט של JSON] של המצב במקום ייצוג ה-JSON הפנימי. זה חייב להיות מופק על ידי ריצה terraform show -json
בתוך פרויקט Terraform, וזה שימושי במיוחד אם אתה רוצה לראות את פירוט העלויות של מצב Terraform הנוכחי. במקרה זה, זה מרמז שאתה כבר מפעיל את Terraform apply
, כלומר ללא אישורי ענן או --terraform-plan-flags
נדרשים.
אילו עננים ומשאבים נתמכים?
Infracost תומך ביותר מ 200 משאבי Terraform ברחבי AWS, Google ו-Azure, בעוד שכלי IaC אחרים כמו פלומולי ו היווצרות עננים כלולים במפת הדרכים. תמיכה במשאבים חדשים מתווספת כל הזמן, לכן חשוב לבדוק את ה-repo עבור מהדורות.
סיכום
Infracost עוזר כלי למפתחים, DevOps, SRE ואחרים המעוניינים לראות במהירות את פירוט העלויות ולהשוות אפשרויות שונות מראש. זוהי גם בחירה טובה אם אתה מחפש לשלב אותו עם CI ו/או זקוק לתמיכה עבור AWS ו-Google Cloud. אם אתה רוצה ליצור שיתוף פעולה טוב יותר בין הצוות שלך, Infracost יכולה לעזור גם בהקשר זה. כל התכונות הללו הופכות אותו לכלי שעליך לשקול בחום ליישם עבור הערכות עלויות בענן עבור Terraform.
השאירו תגובה