Obsah[Skryť][Šou]
Infracost je dôležitá pre DevOps, SRE a vývojárov, ktorí chcú odhadnúť náklady na cloud pre projekty infraštruktúry ako kód, ako je Terraform. S Infracost môžete rýchlo vidieť rozpis nákladov a zároveň porovnávať rôzne možnosti, čo pomáha získať lepší prehľad pred veľkým rozhodnutím.
Ako funguje infracost?
Infracost dokáže skontrolovať viac ako 3 milióny cien naskenovaním vášho kódu Terraform a pred spustením zdrojov vytvorí jednoduchý a ľahko čitateľný odhad nákladov.
Infracost môžete použiť aj na zistenie, ktoré riadky kódu majú najväčší vplyv na náklady, pretože mapuje náklady na zdroje vo vašich požiadavkách na stiahnutie. Integráciou Infracost do vášho CI/CD môžete spolupracovať so svojím tímom a umožniť diskusie o vplyve zmien vo vašom existujúcom pracovnom postupe.
Infracost funguje prostredníctvom svojej backendovej služby Cloud Pricing API a pomocou nástroja CLI môžete analyzovať plán Terraform vo formáte JSON. Rozhranie API krížovo odkazuje na jednotlivé náklady na každý používaný cloudový zdroj, ako aj na súvisiace parametre nákladov na základe poskytovateľa cloudu.
Program na svoju činnosť nevyžaduje žiadne poverenia a nevykonáva žiadne zmeny v Terraforme ani v analyzovaných cloudových zdrojoch. Použitím počtu typov zdrojov Terraform API zaisťuje, že sa započítavajú nové zdroje.
Existujú dva hlavné spôsoby, ako Infracost zobrazuje rozpis nákladov:
A) Úplný rozpis nákladov
B) Rozdiel mesačných nákladov medzi aktuálnym a plánovaným stavom
Začíname s infracostami (krok za krokom)
Ak chcete nainštalovať a začať používať Infracost, postupujte podľa tohto podrobného sprievodcu:
1. Nainštalujte Infracost
Prvým krokom k spusteniu je inštalácia Infracost, ktorú však musíte už mať terraform nainštalovaný.
Tu je pohľad na rôzne verzie Infracost:
macOS Homebrew:
brew install infracost
infracost –version # Mala by sa zobraziť v0.9.7
manuál pre macOS:
# Stiahne CLI na základe vášho OS/arch a vloží ho do /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
linux:
# Stiahne CLI na základe vášho OS/arch a vloží ho do /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
docker:
docker pull infracost/infracost
docker spustiť –rm \
-e INFRACOST_API_KEY=pozrite_nasledujúci_krok_ako_to_to_získať \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ rozpis infracost/infracost –path /code/
# Pridajte ďalšie požadované príznaky/env pre Infracost alebo Terraform
# Napríklad tieto môžu byť potrebné, ak používate AWS prebratie úlohy:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Stiahnite a rozbaľte najnovšie vydanie. Spustite ho z príkazového riadka alebo pomocou Powershell .\infracost.exe --no-color
spolu s ďalšími požadovanými príkazmi/príznakmi (farebný výstup má chybu, ktorú musíme opraviť v systéme Windows). Mali by ste tiež presunúť súbor exe do priečinka, ktorý je vo vašom PATH
premenná prostredia, napr C:\Windows
.
2. Získajte kľúč API
Ďalším krokom je registrácia bezplatného kľúča API, ktorý CLI používa na dopytovanie rozhrania Cloud Pricing API na úlohy, ako je získanie cien pre typy inštancií.
Všetky operačné systémy:
register infranákladov
Kľúč je uložený v ~/.config/infracost/credentials.yml
.
3. Spustite Infracost
Teraz ste pripravení spustiť Infracost, ktorý nerobí žiadne zmeny vo vašom stave Terraform alebo cloudových zdrojoch. Môžete ho spustiť pomocou poskytnutého projektu Terraform a vyskúšať ho.
Všetky operačné systémy:
git klon https://github.com/infracost/example-terraform.git
cd example-teraform/sample1
# Hrajte s main.tf a znova spustite, aby ste porovnali náklady
infracost členenie –cesta .
# Ukážte rozdiel mesačných nákladov, upravte súbor yml a znova ho spustite na porovnanie nákladov
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Pridajte do CI/CD
Teraz môžete použiť Infracost's Integrácia CI/CD na automatické pridávanie komentárov k žiadosti o stiahnutie, ktoré vám ukážu rozdiely v odhadovaných nákladoch. Poskytne vám to aj bezpečnostnú sieť, ktorá tímom umožní diskutovať o vplyve zmien na náklady ako súčasť ich pracovného postupu.
Ako používať prášok CBD?
infracost
CLI má nasledujúce hlavné príkazy:
breakdown
: zobraziť úplný rozpis nákladovdiff
: zobrazenie rozdielu mesačných nákladov medzi aktuálnym a plánovaným stavom
Ak má vaše úložisko viacero projektov alebo pracovných priestorov Terraform, použite konfiguračný súbor Infracost. Ich výsledky sa spoja do rovnakého rozpisu alebo rozdielového výstupu.
Pokročilé použitie
Infracost má tiež rôzne pokročilé metódy používania, ktoré možno použiť okrem bežných metód používania. Tieto pokročilé metódy možno použiť aj prostredníctvom konfiguračného súboru Infracost.
Súbor plánu Terraform
Infracost je možné spustiť proti súboru plánu Terraform, čo znamená, že ste už Terraform spustili init.
Infracost práve spúšťa Terraformshow
v tomto prípade to znamená, že nevyžaduje prihlasovacie údaje do cloudu alebo --terraform-plan-flags
nastaviť.
cesta/ku/kódu CD
terraform init
terraform plan -out tfplan.binary
členenie infranákladov –cesta tfplan.binárny
infracost diff –path tfplan.binary
Teraformný štát
Ak chcete vidieť rozpis nákladov súčasného stavu Terraform, mali by ste vedieť infracost breakdown
príkaz má a --terraform-use-state
príznak, ktorý by sa v tomto prípade ukázal ako užitočný. Terraform už musíte spustiť apply
, takže Infracost spúšťa iba Terraform show
, ktorý nevyžaduje prihlasovacie údaje do cloudu alebo --terraform-plan-flags
nastaviť.
členenie infracost – príklady cesty/terraform – terraform-use-state
Súbor JSON Terraform State
Môžete spustiť infracost breakdown
proti súboru JSON stavu Terraform. Toto by bol [výstupný formát JSON] štátu namiesto internej reprezentácie JSON. Musí sa generovať spustením terraform show -json
vnútri projektu Terraform a je to užitočné najmä vtedy, ak chcete vidieť rozpis nákladov aktuálneho stavu Terraform. V tomto prípade to znamená, že ste už spustili Terraform apply
, čo znamená žiadne prihlasovacie údaje do cloudu alebo --terraform-plan-flags
sú povinné.
Ktoré cloudy a zdroje sú podporované?
Infracost podporuje viac ako 200 zdrojov Terraform cez AWS, Google a Azure, zatiaľ čo iné nástroje IaC ako napr Pulumi a Tvorba oblačnosti sú zahrnuté v cestovnej mape. Podpora pre nové zdroje sa neustále pridáva, takže je dôležité kontrolovať vydania repo.
záver
Infracost je nápomocný nástroj pre vývojárov, DevOps, SRE a ďalší, ktorí chcú rýchlo zobraziť rozpis nákladov a porovnať rôzne možnosti vopred. Je to tiež dobrá voľba, ak ho chcete integrovať s CI a/alebo potrebujete podporu pre AWS a Google Cloud. Ak chcete vytvoriť lepšiu spoluprácu medzi vašim tímom, Infracost vám môže pomôcť aj v tomto smere. Všetky tieto funkcie z neho robia nástroj, ktorého implementáciu by ste mali dôkladne zvážiť pri odhadoch nákladov na cloud pre Terraform.
Nechaj odpoveď