Зміст[Сховати][Показати]
Infracost важливий для DevOps, SRE та розробників, які хочуть оцінити витрати на хмару для проектів інфраструктури як коду, таких як Terraform. За допомогою Infracost ви можете швидко побачити розбивку витрат, порівнюючи різні варіанти, що допомагає краще зрозуміти, перш ніж приймати важливе рішення.
Як працює Infracost?
Infracost може перевірити понад 3 мільйони цін, відсканувавши ваш код Terraform, і дає просту й легко читану оцінку витрат перед запуском ресурсів.
Ви також можете використовувати Infracost, щоб знати, які рядки коду мають найбільший вплив на вартість, оскільки він відображає вартість ресурсів у ваших запитах на витяг. Інтегрувавши Infracost у ваш CI/CD, ви можете співпрацювати зі своєю командою та дозволяти обговорення впливу змін у вашому існуючому робочому процесі.
Infracost працює через серверний сервіс Cloud Pricing API, а за допомогою інструмента CLI ви можете проаналізувати план Terraform у форматі JSON. API перехресне посилання на окрему вартість кожного використовуваного хмарного ресурсу, а також пов’язані з ними параметри вартості на основі постачальника хмари.
Програма не вимагає жодних облікових даних для роботи, і вона не вносить жодних змін у Terraform чи аналізовані хмарні ресурси. Використовуючи кількість типів ресурсів Terraform, API гарантує, що нові ресурси враховуються.
Існує два основні способи Infracost показує розбивку витрат:
A) Повна розбивка витрат
B) Різниця місячних витрат між поточним і запланованим станом
Початок роботи з Infracost (крок за кроком)
Дотримуйтесь цього покрокового посібника, щоб встановити та почати використовувати Infracost:
1. Встановіть Infracost
Першим кроком до початку роботи є інсталяція Infracost, але спочатку ви маєте це зробити Terraform встановлений.
Ось подивіться на різні версії Infracost:
macOS Homebrew:
заварити встановлювати інфракост
infracost – версія # Повинна відображатися v0.9.7
посібник з macOS:
# Завантажує CLI на основі вашої ОС/архи і розміщує його в /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ш
Linux:
# Завантажує CLI на основі вашої ОС/архи і розміщує його в /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ш
Докер:
docker pull infracost/infracost
докер запустити –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 –шлях /код/
# Додайте інші необхідні прапори/окружності для 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 example-terraform/sample1
# Пограйте з main.tf і запустіть ще раз, щоб порівняти витрати
infracost breakdown –path .
# Показати різницю місячних витрат, відредагувати файл 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.
Файл плану Terraform
Infracost можна запустити з файлом плану Terraform, що означає, що ви вже запустили Terraform init.
Infracost просто запускає Terraformshow
у цьому випадку, це означає, що для нього не потрібні облікові дані хмари або --terraform-plan-flags
бути встановленим.
шлях/до/код компакт-диска
terraform ініц
план terraform -out 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 breakdown – приклади шляху/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, як Пулумі та Хмарність включені в дорожню карту. Підтримка нових ресурсів постійно додається, тому важливо перевіряти репо на наявність випусків.
Висновок
Інфракост корисний інструмент для розробників, DevOps, SRE та інші, які хочуть швидко побачити розбивку витрат і заздалегідь порівняти різні варіанти. Це також хороший вибір, якщо ви хочете інтегрувати його з CI та/або потребуєте підтримки AWS та Google Cloud. Якщо ви хочете створити кращу співпрацю між своєю командою, Infracost також може допомогти в цьому. Усі ці функції роблять його інструментом, який вам слід настійно розглянути для визначення вартості хмари для Terraform.
залишити коментар