Inhaltsverzeechnes[Verstoppen][Show]
Infracost ass wichteg fir DevOps, SRE, an Entwéckler déi d'Cloudkäschte fir Infrastruktur-as-Code Projete wéi Terraform schätzen. Mat Infracost kënnt Dir séier e Käschtendehnung gesinn wärend Dir verschidden Optiounen vergläicht, wat hëlleft zu besseren Abléck virun enger grousser Entscheedung.
Wéi funktionéiert Infracost?
Infracost kann iwwer 3 Millioune Präisser kontrolléieren andeems Dir Ären Terraform Code scannt, an et produzéiert eng einfach an einfach ze liesen Käschteschätzung ier Dir Ressourcen lancéiert.
Dir kënnt och Infracost benotzen fir ze wëssen wéi eng Zeilen vum Code de gréisste Käschte-Auswierkunge hunn, well et d'Käschte op d'Ressourcen an Ären Pull-Ufroen kartéiert. Andeems Dir Infracost an Ärem CI / CD integréiert, kënnt Dir mat Ärem Team kollaboréieren an Diskussiounen iwwer den Impakt vun Ännerungen an Ärem existente Workflow aktivéieren.
Infracost funktionnéiert duerch säi Cloud Pricing API Backend Service, a mam CLI Tool kënnt Dir en Terraform Plang am JSON Format parséieren. D'API Kräizreferenzéiert d'individuell Käschte vun all Cloud Ressource am Gebrauch, souwéi hir verbonne Käschteparameter baséiert op dem Cloud Provider.
De Programm erfuerdert keng Umeldungsinformatiounen fir ze bedreiwen, an et mécht keng Ännerunge fir Terraform oder un déi analyséiert Cloud Ressourcen. Andeems Dir d'Unzuel vun Terraform Ressourcentypen benotzt, garantéiert d'API datt nei Ressourcen ausgerechent ginn.
Et ginn zwou Haapt Weeër wéi Infracost den Ënnerdeelung vun de Käschten weist:
A) Voll Ënnerdeelung vun Käschten
B) Differenz vun monatlecht Käschte tëscht aktuellen a geplangte Staat
Ufänken mat Infracost (Schrëtt-fir-Schrëtt)
Follegt dëse Schrëtt-fir-Schrëtt Guide fir ze installéieren an unzefänken Infracost ze benotzen:
1. Installéiert Infracost
Den éischte Schrëtt fir unzefänken ass Infracost z'installéieren, awer Dir musst als éischt schonn hunn Terraform installéiert ass.
Hei ass e Bléck op déi verschidde Versioune vun Infracost:
macOS Homebrew:
brew installéieren Infracost
infracost -version # Sollt v0.9.7 weisen
macOS manuell:
# Luet den CLI erof op Basis vun Ärem OS/arch a setzt en an /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sch
Linux:
# Luet den CLI erof op Basis vun Ärem OS/arch a setzt en an /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sch
Docker:
docker pull infracost / infracost
docker run -rm \
-e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost breakdown –path /code/
# Füügt aner erfuerderlech Fändelen / Envs fir Infracost oder Terraform
# Zum Beispill, dës kënnen erfuerderlech sinn wann Dir AWS assume-Role benotzt:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Eroflueden an unzip de leschten Release. Run et aus der Command Prompt oder Powershell benotzt .\infracost.exe --no-color
nieft aner erfuerderlech Kommandoen / Fändelen (Faarfoutput huet e Feeler dee mir op Windows musse fixéieren). Dir sollt och d'exe Datei an en Dossier réckelen deen an Ärem PATH
ëmweltfrëndlech ass, z. B. C:\Windows
.
2. Kréien eng API Key
De nächste Schrëtt ass fir e gratis API Schlëssel ze registréieren, deen de CLI benotzt fir d'Cloud Pricing API ze froen fir Aufgaben wéi Präisser ze kréien fir zB Typen.
All Betribssystemer:
infracost Register
De Schlëssel gëtt gespäichert an ~/.config/infracost/credentials.yml
.
3. Run Infracost
Elo sidd Dir prett Infracost ze lafen, wat keng Ännerunge fir Ären Terraform Staat oder Cloud Ressourcen mécht. Dir kënnt et mam geliwwert Terraform Projet lafen fir et auszeprobéieren.
All Betribssystemer:
git Klon https://github.com/infracost/example-terraform.git
cd Beispill-terraform/sample1
# Spillt mat main.tf a lafen nei fir Käschten ze vergläichen
Infracost Decompte - Wee.
# Weist d'Differenz vu monatleche Käschten, ännert d'yml Datei a lafen nei fir Käschten ze vergläichen
infracost diff -path. –sync-usage-file –usage-file infracost-usage.yml
4. Dobäizemaachen op CI / CD
Dir kënnt elo Infracost's benotzen CI / CD Integratioun fir automatesch Pull-Ufro-Kommentaren ze addéieren, déi Iech Käschteschätzungsdifferenzen weisen. Dëst wäert Iech och e Sécherheetsnetz ubidden, wat Teams erlaabt d'Käschten Impakt vun Ännerungen als Deel vun hirem Workflow ze diskutéieren.
Verwendung
d' infracost
CLI huet déi folgend Haaptbefehle:
breakdown
: weisen voll Ënnerdeelung vun Käschtendiff
: weisen Diff vun monatlecht Käschten tëscht aktuellen a geplangten Zoustand
Benotzt eng Infracost Configuratiounsdatei wann Äre Repo verschidde Terraform Projeten oder Aarbechtsberäicher huet. Hir Resultater ginn an déiselwecht Decompte oder Diffoutput kombinéiert.
Fortgeschratt Benotzung
Infracost huet och verschidde fortgeschratt Benotzungsmethoden déi zousätzlech zu de reguläre Benotzungsmethoden benotzt kënne ginn. Dës fortgeschratt Methoden kënnen och iwwer eng Infracost Configuratiounsdatei benotzt ginn.
Terraform Plan Datei
Infracost kann géint eng Terraform Plangdatei lafen, wat implizéiert datt Dir Terraform scho lafen hutt init.
Infracost leeft just Terraformshow
an dësem Fall, heescht verlaangen net Wollek Umeldungsinformatioune oder --terraform-plan-flags
gesat ginn.
cd Wee/zu/Code
terraform init
terraform plangen -out tfplan.binary
infracost Decompte -path tfplan.binary
infracost diff -path tfplan.binary
Terraform Staat
Wann Dir wëllt d'Käschte Decompte vun der aktueller Terraform Staat ze gesinn, Dir sollt wëssen, de infracost breakdown
Kommando huet eng --terraform-use-state
Fändel, wat an dësem Fall nëtzlech wier. Dir musst Terraform scho lafen apply
, Also Infracost leeft just Terraform show
, déi net Cloud Umeldungsinformatioune verlaangen oder --terraform-plan-flags
gesat ginn.
Infracost Decompte – Wee Beispiller / Terraform – Terraform-Use-Staat
Terraform Staat JSON Datei
Dir kënnt de lafen infracost breakdown
géint eng Terraform Staat JSON Datei. Dëst wier de [JSON Output Format] vum Staat amplaz vun der interner JSON Representatioun. Et muss duerch Lafen generéiert ginn terraform show -json
bannent engem Terraform Projet, an et ass besonnesch nëtzlech wann Dir d'Käschtenopdeelung vum aktuellen Terraform Staat wëllt gesinn. An dësem Fall implizéiert et datt Dir Terraform scho leeft apply
, Bedeitung keng Wollek Umeldungsinformatioune oder --terraform-plan-flags
erfuerderlech sinn.
Wéi eng Wolleken a Ressourcen ginn ënnerstëtzt?
Infracost ënnerstëtzt méi wéi 200 Terraform Ressourcen iwwer AWS, Google, an Azure, während aner IaC Tools wéi Pulumi an Cloudformatioun sinn an der Fahrplang abegraff. Ënnerstëtzung fir nei Ressourcen gëtt permanent bäigefüügt, also ass et wichteg de Repo fir Verëffentlechungen ze kontrolléieren.
Konklusioun
Infracost ass hëllefräich Tool fir Entwéckler, DevOps, SRE, an anerer sicht séier de Käschtenopdeelung ze gesinn a verschidde Méiglechkeeten am Viraus ze vergläichen. Et ass och eng gutt Wiel wann Dir sicht et mat CI z'integréieren an / oder Ënnerstëtzung fir AWS a Google Cloud braucht. Wann Dir eng besser Zesummenaarbecht tëscht Ärem Team wëllt kreéieren, kann Infracost och an deem Sënn hëllefen. All dës Features maachen et zu engem Tool dat Dir staark sollt berécksiichtegen fir d'Wollekskäschteschätzunge fir Terraform ëmzesetzen.
Hannerlooss eng Äntwert