Obsah[Skrýt][Ukázat]
Infracost je důležitá pro DevOps, SRE a vývojáře, kteří chtějí odhadnout náklady na cloud pro projekty infrastruktury jako kód, jako je Terraform. S Infracost můžete rychle vidět rozpis nákladů a zároveň porovnávat různé možnosti, což pomáhá získat lepší přehled před velkým rozhodnutím.
Jak funguje infracost?
Infracost dokáže naskenováním vašeho kódu Terraform zkontrolovat více než 3 miliony cen a před spuštěním zdrojů vytvoří jednoduchý a snadno čitelný odhad nákladů.
Můžete také použít Infracost, abyste věděli, které řádky kódu mají největší dopad na náklady, protože mapuje náklady na zdroje ve vašich požadavcích na stažení. Integrací Infracost do vašeho CI/CD můžete spolupracovat se svým týmem a umožnit diskusi o dopadu změn ve vašem stávajícím workflow.
Infracost funguje prostřednictvím své backendové služby Cloud Pricing API a pomocí nástroje CLI můžete analyzovat plán Terraform ve formátu JSON. Rozhraní API křížově odkazuje na jednotlivé náklady na každý používaný cloudový zdroj a také na související parametry nákladů na základě poskytovatele cloudu.
Program ke své činnosti nevyžaduje žádná pověření a neprovádí žádné změny v Terraformu ani v analyzovaných cloudových zdrojích. Pomocí počtu typů zdrojů Terraform API zajišťuje, že jsou započítávány nové zdroje.
Existují dva hlavní způsoby, jak Infracost ukazuje rozdělení nákladů:
A) Úplný rozpis nákladů
B) Rozdíl měsíčních nákladů mezi současným a plánovaným stavem
Začínáme s infracost (krok za krokem)
Chcete-li nainstalovat a začít používat Infracost, postupujte podle tohoto podrobného průvodce:
1. Nainstalujte Infracost
Prvním krokem, jak začít, je nainstalovat Infracost, ale musíte ji již mít Terraform nainstalován.
Zde je pohled na různé verze Infracost:
macOS Homebrew:
brew install infracost
infracost –version # Měla by se zobrazit v0.9.7
manuál macOS:
# Stáhne CLI na základě vašeho OS/arch a vloží jej do /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Stáhne CLI na základě vašeho OS/arch a vloží jej do /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Přístavní dělník:
docker pull infracost/infracost
docker spustit –rm \
-e INFRACOST_API_KEY=viz_následující_krok_jak_to_to_získat \
-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/
# Přidejte další požadované příznaky/env pro Infracost nebo Terraform
# Tyto mohou být například vyžadovány, pokud používáte AWS převzít roli:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Stáhněte a rozbalte soubor poslední vydání. Spusťte jej z příkazového řádku nebo Powershell pomocí .\infracost.exe --no-color
vedle dalších požadovaných příkazů/příznaků (barevný výstup má chybu, kterou musíme opravit ve Windows). Měli byste také přesunout soubor exe do složky, která je ve vašem PATH
proměnná prostředí, např C:\Windows
.
2. Získejte API Key
Dalším krokem je registrace pro bezplatný klíč API, který rozhraní CLI používá k dotazování rozhraní Cloud Pricing API pro úkoly, jako je získávání cen pro typy instancí.
Všechny operační systémy:
registr infranákladů
Klíč je uložen v ~/.config/infracost/credentials.yml
.
3. Spusťte Infracost
Nyní jste připraveni spustit Infracost, který neprovádí žádné změny ve vašem stavu Terraform nebo cloudových prostředcích. Můžete jej spustit s dodaným projektem Terraform a vyzkoušet jej.
Všechny operační systémy:
git klon https://github.com/infracost/example-terraform.git
cd example-teraform/sample1
# Hrajte s main.tf a spusťte znovu, abyste porovnali náklady
členění infranákladů – cesta .
# Ukažte rozdíl měsíčních nákladů, upravte soubor yml a spusťte znovu, abyste porovnali náklady
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Přidejte do CI/CD
Nyní můžete používat Infracost's Integrace CI/CD k automatickému přidávání komentářů k žádosti o stažení, které vám ukážou rozdíly v odhadu nákladů. To vám také poskytne bezpečnostní síť, která týmům umožní diskutovat o dopadu změn na náklady jako součást jejich pracovního postupu.
Používání
Projekt infracost
CLI má následující hlavní příkazy:
breakdown
: zobrazit úplný rozpis nákladůdiff
: zobrazit rozdíl měsíčních nákladů mezi aktuálním a plánovaným stavem
Pokud má vaše úložiště více projektů nebo pracovních prostorů Terraform, použijte konfigurační soubor Infracost. Jejich výsledky budou spojeny do stejného výstupu rozdělení nebo rozdílu.
Pokročilé použití
Infracost má také různé pokročilé metody použití, které lze použít vedle metod běžného používání. Tyto pokročilé metody lze také použít prostřednictvím konfiguračního souboru Infracost.
Soubor plánu Terraform
Infracost lze spustit proti souboru plánu Terraform, což znamená, že jste již Terraform spustili init.
Infracost právě běží Terraformshow
v tomto případě to znamená, že nevyžaduje cloudové přihlašovací údaje nebo --terraform-plan-flags
nastavit.
cesta/k/kód CD
terraform init
terraform plan -out tfplan.binary
členění infranákladů –cesta tfplan.binární
infracost diff –path tfplan.binary
Teraformní stát
Pokud chcete vidět rozpis nákladů současného stavu Terraform, měli byste znát infracost breakdown
příkaz má a --terraform-use-state
příznak, který by se v tomto případě ukázal jako užitečný. Musíte již spustit Terraform apply
, takže Infracost spouští pouze Terraform show
, která nevyžaduje cloudové přihlašovací údaje nebo --terraform-plan-flags
nastavit.
členění infracost – příklady cesty/terraform – terraform-use-state
Soubor JSON Terraform State
Můžete spustit infracost breakdown
proti souboru JSON stavu Terraform. Toto by byl [výstupní formát JSON] stavu namísto interní reprezentace JSON. Musí být generován spuštěním terraform show -json
uvnitř projektu Terraform a je to zvláště užitečné, pokud chcete vidět rozpis nákladů aktuálního stavu Terraform. V tomto případě to znamená, že jste již spustili Terraform apply
, což znamená žádné cloudové přihlašovací údaje nebo --terraform-plan-flags
jsou povinné.
Které cloudy a zdroje jsou podporovány?
Infracost podporuje více než 200 Terraformových zdrojů přes AWS, Google a Azure, zatímco jiné nástroje IaC jako Pulumi a Tvorba oblačnosti jsou zahrnuty v cestovní mapě. Podpora pro nové zdroje se neustále přidává, takže je důležité kontrolovat vydání repo.
Proč investovat do čističky vzduchu?
Infracost je užitečný nástroj pro vývojáře, DevOps, SRE a další, kteří chtějí rychle vidět rozpis nákladů a porovnat různé možnosti předem. Je to také dobrá volba, pokud jej chcete integrovat s CI a/nebo potřebujete podporu pro AWS a Google Cloud. Pokud chcete vytvořit lepší spolupráci mezi svým týmem, Infracost může také pomoci v tomto ohledu. Všechny tyto funkce z něj dělají nástroj, jehož implementaci byste měli důkladně zvážit pro odhady nákladů na cloud pro Terraform.
Napsat komentář