INHOUDSOPGAWE[Versteek][Wys]
Infrakoste is belangrik vir DevOps, SRE en ontwikkelaars wat wolkkoste wil skat vir infrastruktuur-as-kode-projekte soos Terraform. Met Infracost kan u vinnig 'n koste-ontleding sien terwyl u verskillende opsies vergelyk, wat help om tot beter insigte te lei voor 'n groot besluit.
Hoe werk infrakoste?
Infracost kan meer as 3 miljoen pryse nagaan deur jou Terraform-kode te skandeer, en dit lewer 'n eenvoudige en maklik leesbare kosteberaming voor jy hulpbronne begin.
Jy kan ook Infracost gebruik om te weet watter reëls kode die grootste koste-impak het, aangesien dit koste na hulpbronne in jou trekversoeke karteer. Deur Infracost in jou CI/CD te integreer, kan jy met jou span saamwerk en besprekings oor die impak van veranderinge in jou bestaande werkvloei moontlik maak.
Infracost werk deur sy Cloud Pricing API backend-diens, en met die CLI-nutsding kan jy 'n Terraform-plan in JSON-formaat ontleed. Die API kruisverwys die individuele koste van elke wolkhulpbron wat gebruik word, sowel as hul verwante kosteparameters gebaseer op die wolkverskaffer.
Die program benodig geen geloofsbriewe om te werk nie, en dit maak geen veranderinge aan Terraform of aan die ontleedde wolkbronne nie. Deur die telling van Terraform-hulpbrontipes te gebruik, verseker die API dat daar rekening gehou word met nuwe hulpbronne.
Daar is twee hoof maniere waarop Infracost die uiteensetting van koste wys:
A) Volledige uiteensetting van koste
B) Verskil van maandelikse koste tussen huidige en beplande staat
Aan die gang met Infracost (stap-vir-stap)
Volg hierdie stap-vir-stap gids om Infracost te installeer en te begin gebruik:
1. Installeer Infracost
Die eerste stap om te begin is om Infracost te installeer, maar jy moet eers reeds hê terraform geïnstalleer.
Hier is 'n blik op die verskillende weergawes van Infracost:
macOS Homebrew:
brou installeer infrakoste
infrakoste – weergawe # Moet v0.9.7 wys
macOS handleiding:
# Laai die CLI af gebaseer op jou OS/arch en plaas dit in /usr/local/bin
krul -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Laai die CLI af gebaseer op jou OS/arch en plaas dit in /usr/local/bin
krul -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Dokker:
docker pull infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=sien_volg_stap_op_hoe_om_hierdie_kry \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infrakoste/infrakoste uiteensetting –pad /code/
# Voeg ander vereiste vlae/envs by vir Infracost of Terraform
# Dit kan byvoorbeeld vereis word as jy AWS aanneem-rol gebruik:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Laai die nuutste weergawe. Begin dit vanaf die opdragprompt of Powershell met behulp van .\infracost.exe --no-color
saam met ander vereiste opdragte/vlae (kleurafvoer het 'n fout wat ons op Windows moet regmaak). Jy moet ook die exe-lêer skuif na 'n gids wat in jou PATH
omgewingsveranderlike, bv C:\Windows
.
2. Kry 'n API-sleutel
Die volgende stap is om te registreer vir 'n gratis API-sleutel, wat die CLI gebruik om navraag te doen na die Cloud Prys API vir take soos om pryse te kry, byvoorbeeld tipes.
Alle bedryfstelsels:
infrakoste register
Die sleutel word gestoor in ~/.config/infracost/credentials.yml
.
3. Begin Infracost
Nou is jy gereed om Infracost te laat loop, wat geen veranderinge aan jou Terraform-staat of wolkhulpbronne aanbring nie. U kan dit met die verskafde Terraform-projek uitvoer om dit uit te toets.
Alle bedryfstelsels:
git-kloon https://github.com/infracost/example-terraform.git
cd voorbeeld-terraform/monster1
# Speel met main.tf en herloop om koste te vergelyk
infrakoste uiteensetting –pad .
# Wys verskil van maandelikse koste, wysig die yml-lêer en herhaal dit om koste te vergelyk
infrakoste verskil –pad . –sinchroniseer-gebruik-lêer –gebruik-lêer infrakoste-gebruik.yml
4. Voeg by CI/CD
Jy kan nou Infracost's gebruik CI/CD integrasies om outomaties trekversoek-kommentaar by te voeg, wat jou kosteberaming verskille wys. Dit sal jou ook van 'n veiligheidsnet voorsien, wat spanne in staat stel om die koste-impak van veranderinge as deel van hul werkvloei te bespreek.
Gebruik
Die infracost
CLI het die volgende hoofopdragte:
breakdown
: toon volledige uiteensetting van kostediff
: wys verskil van maandelikse koste tussen huidige en beplande toestand
Gebruik 'n Infracost-konfigurasielêer as jou repo verskeie Terraform-projekte of werkruimtes het. Hul resultate sal in dieselfde uiteensetting of verskil-uitset gekombineer word.
Gevorderde gebruik
Infracost het ook verskeie gevorderde gebruiksmetodes wat bykomend tot die gewone gebruiksmetodes gebruik kan word. Hierdie gevorderde metodes kan ook via 'n Infracost-konfigurasielêer gebruik word.
Terraform Plan Lêer
Infracost kan teen 'n Terraform-planlêer uitgevoer word, wat impliseer dat jy reeds Terraform laat loop het init.
Infracost bestuur net Terraformshow
in hierdie geval, wat beteken dat dit nie wolk geloofsbriewe of --terraform-plan-flags
gestel word.
cd pad/na/kode
terraform init
terraform plan -out tfplan.binêr
infrakoste uiteensetting –pad tfplan.binêr
infrakoste verskil –pad tfplan.binêr
Terraform staat
As jy die koste-ontleding van die huidige Terraform-staat wil sien, moet jy die infracost breakdown
bevel het 'n --terraform-use-state
vlag, wat nuttig sal wees in hierdie geval. Jy moet reeds Terraform laat loop apply
, so Infracost bestuur net Terraform show
, wat nie wolkbewyse vereis nie of --terraform-plan-flags
gestel word.
infrakoste-ontleding – padvoorbeelde/terraform –terraform-gebruik-toestand
Terraform State JSON-lêer
Jy kan die infracost breakdown
teen 'n Terraform-staat JSON-lêer. Dit sal die [JSON-uitvoerformaat] van die staat wees in plaas van die interne JSON-voorstelling. Dit moet gegenereer word deur te hardloop terraform show -json
binne 'n Terraform-projek, en dit is veral nuttig as jy die koste-ontleding van die huidige Terraform-staat wil sien. In hierdie geval impliseer dit dat u reeds Terraform bestuur apply
, wat beteken geen wolk geloofsbriewe of --terraform-plan-flags
word vereis.
Watter wolke en hulpbronne word ondersteun?
Infracost ondersteun meer as 200 Terraform hulpbronne oor AWS, Google en Azure, terwyl ander IaC-nutsmiddels soos Pulumi en Wolkvorming is in die padkaart ingesluit. Ondersteuning vir nuwe hulpbronne word voortdurend bygevoeg, daarom is dit belangrik om die repo na te gaan vir vrystellings.
Gevolgtrekking
Infrakoste is 'n nuttige hulpmiddel vir ontwikkelaars, DevOps, SRE en ander wat vinnig die koste-ontleding wil sien en verskillende opsies vooraf vergelyk. Dit is ook 'n goeie keuse as jy dit met CI wil integreer en/of ondersteuning vir AWS en Google Cloud benodig. As jy beter samewerking tussen jou span wil skep, kan Infracost ook in daardie verband help. Al hierdie kenmerke maak dit 'n instrument wat u sterk moet oorweeg om te implementeer vir wolkkosteberamings vir Terraform.
Lewer Kommentaar