Съдържание[Крия][Покажи]
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, но първо трябва да го имате тераформира инсталирана.
Ето един поглед към различните версии на Infracost:
macOS Homebrew:
brew инсталирай infracost
infracost – версия # Трябва да показва v0.9.7
ръководство за macOS:
# Изтегля CLI въз основа на вашата OS/arch и го поставя в /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ш
Linux:
# Изтегля CLI въз основа на вашата OS/arch и го поставя в /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ш
Docker:
докер теглене на инфракост/инфракост
докер стартира -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/:/код/ infracost/infracost разбивка – път /код/
# Добавете други необходими флагове/envs за Infracost или Terraform
# Например, това може да се изисква, ако използвате AWS поемане на роля:
# -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 пример-terraform/sample1
# Играйте с main.tf и стартирайте отново, за да сравните разходите
инфракост разбивка – път .
# Покажете разликата на месечните разходи, редактирайте yml файла и го стартирайте отново, за да сравните разходите
infracost diff –path. –sync-usage-file –usage-file infracost-usage.yml
4. Добавете към CI/CD
Вече можете да използвате Infracost CI/CD интеграции за автоматично добавяне на коментари за заявка за изтегляне, които ви показват разликите в оценката на разходите. Това също така ще ви осигури мрежа за безопасност, която позволява на екипите да обсъждат въздействието на промените върху разходите като част от работния си процес.
употреба
- infracost
CLI има следните основни команди:
breakdown
: показва пълна разбивка на разходитеdiff
: показва разлика на месечните разходи между текущото и планираното състояние
Използвайте конфигурационен файл на Infracost, ако вашето репо има множество проекти или работни пространства на Terraform. Резултатите от тях ще бъдат комбинирани в една и съща разбивка или разлика.
Разширено използване
Infracost също има различни усъвършенствани методи за използване, които могат да се използват в допълнение към обичайните методи за използване. Тези разширени методи могат да се използват и чрез конфигурационен файл на Infracost.
Файл с план за тераформа
Infracost може да се стартира срещу файл с план Terraform, което означава, че вече сте стартирали Terraform init.
Infracost просто управлява Terraformshow
в този случай, което означава, че не изисква облачни идентификационни данни или --terraform-plan-flags
да се настрои.
CD път/до/код
terraform init
тераформен план -изход tfplan.binary
infracost разбивка – път tfplan.binary
infracost diff –път tfplan.binary
Тераформен щат
Ако искате да видите разбивката на разходите за текущото състояние на Terraform, трябва да знаете infracost breakdown
команда има a --terraform-use-state
флаг, който би се оказал полезен в този случай. Вече трябва да стартирате Terraform apply
, така че Infracost просто управлява Terraform show
, което не изисква облачни идентификационни данни или --terraform-plan-flags
да се настрои.
infracost разбивка – примери за път/тераформа – състояние на използване на тераформата
Terraform State JSON файл
Можете да стартирате infracost breakdown
срещу JSON файл на Terraform State. Това ще бъде [JSON изходен формат] на състоянието вместо вътрешното JSON представяне. Трябва да се генерира чрез бягане terraform show -json
вътре в проект на Terraform и е особено полезно, ако искате да видите разбивката на разходите за текущото състояние на Terraform. В този случай това означава, че вече използвате Terraform apply
, което означава без облачни идентификационни данни или --terraform-plan-flags
са изисквани.
Кои облаци и ресурси се поддържат?
Infracost поддържа повече от 200 Тераформни ресурси в AWS, Google и Azure, докато други инструменти на IaC като Пулуми намлява Облачно образуване са включени в пътната карта. Поддръжката за нови ресурси непрекъснато се добавя, така че е важно да проверявате репо за издания.
Заключение
Инфракост е полезен инструмент за разработчици, DevOps, SRE и други, които искат бързо да видят разбивката на разходите и предварително да сравнят различни опции. Също така е добър избор, ако искате да го интегрирате с CI и/или имате нужда от поддръжка за AWS и Google Cloud. Ако искате да създадете по-добро сътрудничество между вашия екип, Infracost също може да ви помогне в това отношение. Всички тези функции го правят инструмент, който силно трябва да обмислите да приложите за оценки на разходите в облак за Terraform.
Оставете коментар