Table of Contents[Ferstopje][Toanje]
Infracost is wichtich foar DevOps, SRE, en ûntwikkelders dy't wolle skatten wolkkosten foar ynfrastruktuer-as-koade-projekten lykas Terraform. Mei Infracost kinne jo fluch in kostenferdieling sjen by it fergelykjen fan ferskate opsjes, wat helpt te lieden ta bettere ynsjoch foar in grut beslút.
Hoe wurket Infracost?
Infracost kin mear as 3 miljoen prizen kontrolearje troch jo Terraform-koade te scannen, en it produseart in ienfâldige en maklik te lêzen kostenskatting foardat jo boarnen lansearje.
Jo kinne Infracost ek brûke om te witten hokker rigels koade de grutste kosten-ynfloed hawwe, om't it kosten yn kaart bringt oan boarnen yn jo pull-oanfragen. Troch Infracost yn jo CI/CD te yntegrearjen, kinne jo gearwurkje mei jo team en diskusjes ynskeakelje oer de ynfloed fan feroaringen yn jo besteande workflow.
Infracost wurket fia har Cloud Pricing API-backend-tsjinst, en mei it CLI-ark kinne jo in Terraform-plan yn JSON-formaat parse. De API krúsferwiist de yndividuele kosten fan elke wolkboarne yn gebrûk, lykas har relatearre kostenparameters basearre op de wolkprovider.
It programma hat gjin bewiisbrieven nedich om te operearjen, en it makket gjin feroarings oan Terraform of oan 'e analysearre wolkboarnen. Troch it oantal Terraform-boarnentypen te brûken, soarget de API dat nije boarnen rekkene wurde.
D'r binne twa wichtige manieren wêrop Infracost de ferdieling fan kosten toant:
A) Folsleine ferdieling fan kosten
B) Ferskil fan moanlikse kosten tusken aktuele en plande steat
Te begjinnen mei Infracost (stap foar stap)
Folgje dizze stap-foar-stap hantlieding om Infracost te ynstallearjen en te begjinnen:
1. Ynstallearje Infracost
De earste stap om te begjinnen is Infracost te ynstallearjen, mar jo moatte earst al hawwe Terraform ynstallearre.
Hjir is in blik op de ferskate ferzjes fan Infracost:
macOS Homebrew:
brew ynstallearje infracost
infracost –version # Moat sjen litte v0.9.7
macOS hantlieding:
# Download de CLI basearre op jo OS/arch en set it yn /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Download de CLI basearre op jo OS/arch en set it yn /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
docker pull infracost / infracost
docker run -rm \
-e INFRACOST_API_KEY=sjoch_folgjende_stap_op_hoe_to_dit_krije \
-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/
# Foegje oare fereaske flaggen / envs ta foar Infracost of Terraform
# Dizze kinne bygelyks ferplicht wêze as jo AWS oannimme-rol brûke:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Download en unzip de lêste útjefte. Rinne it út fan 'e Kommando-prompt of Powershell mei .\infracost.exe --no-color
neist oare fereaske kommando's / flaggen (kleurútfier hat in brek dy't wy moatte reparearje op Windows). Jo moatte ek it exe-bestân ferpleatse nei in map dy't yn jo PATH
omjouwingsfariabele, bygelyks C:\Windows
.
2. Fa in API Key
De folgjende stap is om te registrearjen foar in fergese API-kaai, dy't de CLI brûkt om de Cloud Pricing API te freegjen foar taken lykas prizen krije foar bygelyks soarten.
Alle bestjoeringssystemen:
infracost register
De kaai wurdt bewarre yn ~/.config/infracost/credentials.yml
.
3. Run Infracost
No binne jo ree om Infracost út te fieren, dy't gjin feroaringen makket oan jo Terraform-steat of wolkboarnen. Jo kinne it útfiere mei it levere Terraform-projekt om it út te testen.
Alle bestjoeringssystemen:
git kloon https://github.com/infracost/example-terraform.git
cd foarbyld-terraform/sample1
# Spielje mei main.tf en útfiere opnij om kosten te fergelykjen
ynfrakosten-ôfdieling -paad.
# Toan ferskil fan moanlikse kosten, bewurkje it yml-bestân en útfiere opnij om kosten te fergelykjen
infracost diff -paad. –sync-usage-file –usage-file infracost-usage.yml
4. Taheakje oan CI / CD
Jo kinne no Infracost's brûke CI / CD yntegraasjes om automatysk opmerkings foar pull-oanfragen ta te foegjen, dy't jo ferskillen yn kostenskatting sjen litte. Dit sil jo ek in feiligensnet leverje, wêrtroch teams de kosten-ynfloed fan feroaringen kinne beprate as ûnderdiel fan har workflow.
Brûken
De infracost
CLI hat de folgjende haadkommando's:
breakdown
: toan folsleine ferdieling fan kostendiff
: lit it ferskil sjen fan moanlikse kosten tusken aktuele en plande steat
Brûk in Infracost-konfiguraasjetriem as jo repo meardere Terraform-projekten of wurkromten hat. Harren resultaten sille wurde kombinearre yn deselde ôfbraak as diff útfier.
Avansearre gebrûk
Infracost hat ek ferskate avansearre gebrûksmetoaden dy't kinne wurde brûkt neist de reguliere gebrûksmetoaden. Dizze avansearre metoaden kinne ek brûkt wurde fia in Infracost-konfiguraasjebestân.
Terraform Plan File
Infracost kin wurde útfierd tsjin in Terraform-planbestân, wat ymplisearret dat jo Terraform al útfierd hawwe init.
Infracost rint gewoan Terraformshow
yn dit gefal, betsjut dat it net nedich wolk bewiisbrieven of --terraform-plan-flags
ynsteld wurde.
cd paad/oan/koade
terraform init
terraform plan -out tfplan.binary
ynfrakosten ferdieling -path tfplan.binary
infracost diff -path tfplan.binary
Terraform State
As jo wolle sjen de kosten ferdieling fan de hjoeddeiske Terraform steat, Jo moatte witte de infracost breakdown
kommando hat in --terraform-use-state
flagge, dat soe bewize nuttich yn dit gefal. Jo moatte Terraform al útfiere apply
, sadat Infracost gewoan Terraform rint show
, dy't net fereasket wolk credentials of --terraform-plan-flags
ynsteld wurde.
ynfrakosten-ôfdieling -paadfoarbylden/terraform -terraform-gebrûk-steat
Terraform State JSON-bestân
Jo kinne de infracost breakdown
tsjin in Terraform steat JSON triem. Dit soe it [JSON-útfierformaat] fan 'e steat wêze ynstee fan' e ynterne JSON-fertsjintwurdiging. It moat generearre wurde troch te rinnen terraform show -json
binnen in Terraform projekt, en it is benammen nuttich as jo wolle sjen de kosten ferdieling fan de hjoeddeiske Terraform steat. Yn dit gefal betsjuttet it dat jo Terraform al útfiere apply
, betsjut gjin wolk bewiisbrieven of --terraform-plan-flags
binne fereaske.
Hokker wolken en boarnen wurde stipe?
Infracost stipet mear as 200 Terraform boarnen oer AWS, Google en Azure, wylst oare IaC-ark lykas Pulumi en Wolkenformaasje binne opnommen yn 'e roadmap. Stipe foar nije boarnen wurdt konstant tafoege, dus it is wichtich om de repo te kontrolearjen op releases.
Konklúzje
Infracost is in nuttich ark foar ûntwikkelders, DevOps, SRE, en oaren dy't sykje om fluch de kostenferdieling te sjen en ferskate opsjes foarôf te fergelykjen. It is ek in goede kar as jo op syk binne nei te yntegrearjen mei CI en / of nedich stipe foar AWS en Google Cloud. As jo in bettere gearwurking tusken jo team meitsje wolle, kin Infracost ek dêrby helpe. Al dizze funksjes meitsje it in ark dat jo sterk moatte beskôgje ymplementearje foar rûzings fan wolkkosten foar Terraform.
Leave a Reply