Table of Contents[Veşartin][Rêdan]
Infracost ji bo DevOps, SRE, û pêşdebiran girîng e ku lêçûnên ewr ji bo projeyên binesaziyê yên wekî Terraform texmîn dikin. Bi Infracost re, hûn dikarin zû veqetînek lêçûnek bibînin dema ku vebijarkên cihêreng berhev bikin, ku ev dibe alîkar ku berî biryarek mezin têgihîştinek çêtir çêbike.
Infracost Çawa Kar dike?
Infracost dikare zêdetirî 3 mîlyon bihayan bi şopandina koda Terraform-a we kontrol bike, û berî ku hûn çavkaniyan bidin destpêkirin ew texmînek lêçûnek hêsan û hêsan-xwendine çêdike.
Her weha hûn dikarin Infracost-ê bikar bînin da ku hûn zanibin ka kîjan rêzikên kodê bandora lêçûnê ya herî mezin heye ji ber ku ew di daxwazên weya kişandinê de lêçûnên çavkaniyan nexşe dike. Bi entegrekirina Infracost-ê di CI/CD-ya xwe de, hûn dikarin bi tîmê xwe re hevkariyê bikin û nîqaşan li ser bandora guhertinên di xebata xweya heyî de çalak bikin.
Infracost bi navgîniya karûbarê pişta xweya Cloud Pricing API-yê dixebite, û bi amûra CLI re, hûn dikarin plansaziyek Terraform di formata JSON de parsek bikin. API lêçûna kesane ya her çavkaniyek ewr a ku tê bikar anîn, û her weha pîvanên lêçûnên wan ên têkildar ên li ser bingeha peydakerê ewr vedibêje.
Bername ji bo xebitandinê pêbaweriyek hewce nake, û ew guheztinek li Terraform an çavkaniyên ewr ên analîzkirî nake. Bi karanîna hejmartina cûreyên çavkaniyên Terraform, API piştrast dike ku çavkaniyên nû têne hesibandin.
Du awayên sereke hene ku Infracost dabeşkirina lêçûn nîşan dide:
A) Dabeşkirina Tevahiya Mesrefan
B) Cûdahiya lêçûnên mehane di navbera dewleta niha û plankirî de
Destpêkirina Bi Infracostê (Gavê-bi-gav)
Vê rêberê gav-bi-gav bişopînin da ku saz bikin û dest bi karanîna Infracost bikin:
1. Infracost saz bikin
Pêngava yekem a destpêkirinê sazkirina Infracost-ê ye, lê divê hûn pêşî berê xwe bidin Terraform saz kirin.
Li vir nihêrînek li guhertoyên cûda yên Infracost heye:
macOS Homebrew:
brew sazkirina infracost
infracost –guhertoya # Divê v0.9.7 nîşan bide
manuala macOS:
# CLI-yê li ser bingeha OS/arch-a xwe dadixe û têxe nav /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# CLI-yê li ser bingeha OS/arch-a xwe dadixe û têxe nav /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=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/:/kod/ infracost/ şikestineke infracost –rê /kod/
# Ji bo Infracost an Terraform alên / envsên din ên pêwîst lê zêde bikin
# Mînakî, ger hûn AWS-a-rola bikar bînin ev dikarin hewce bibin:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Dakêşin û vekin berdana dawî. Wê ji Serlêdana Ferman an jî Powershell bikar bînin bimeşînin .\infracost.exe --no-color
ligel fermanên/alên din ên pêwîst (hilberana rengîn xeletiyek heye ku divê em li ser Windows-ê rast bikin). Her weha divê hûn pelê exe veguherînin peldankek ku di we de ye PATH
guhêrbar a jîngehê, mînak C:\Windows
.
2. Bişkojka API-ê bistînin
Pêngava paşîn qeydkirina mifteyek API-ya belaş e, ku CLI bikar tîne da ku li API-ya Cloud Pricing ji bo peywirên mîna wergirtina bihayan ji bo celebên nimûne bipirse.
Hemî pergalên xebitandinê:
qeyda infracost
Miftê tê de tomar kirin ~/.config/infracost/credentials.yml
.
3. Run Infracost
Naha hûn amade ne ku Infracost-ê bimeşînin, ku di dewleta Terraform an çavkaniyên ewr de tu guhertinan nake. Hûn dikarin wê bi projeya Terraformê ya peydakirî bimeşînin da ku wê ceribandinê bikin.
Hemî pergalên xebitandinê:
git clone https://github.com/infracost/example-terraform.git
cd nimûne-terraform/nimûne1
# Bi main.tf re bilîzin û ji nû ve bimeşînin da ku lêçûn bidin hev
têkçûna binecost –rê.
# Cûdahiya lêçûnên mehane nîşan bidin, pelê yml biguherînin û ji nû ve bimeşînin da ku lêçûn bidin berhev
infracost diff –rê. –senkronîze-bikaranîna-pelê –bikaranîna-pelê infracost-usage.yml
4. Têxe CI/CD
Naha hûn dikarin Infracost's bikar bînin CI / entegrasyonên CD da ku bixweber şîroveyên daxwaza kişandinê zêde bikin, ku cûdahiyên texmîna lêçûnê nîşanî we didin. Ev ê di heman demê de torgilokek ewlehiyê ji we re peyda bike, ku tîmê bihêle ku bandora lêçûna guherînan wekî beşek ji xebata xwe nîqaş bikin.
Bikaranîna
Ew infracost
CLI fermanên sereke yên jêrîn hene:
breakdown
: dabeşkirina tevahî ya lêçûnên nîşan bidediff
: Cûdahiya lêçûnên mehane di navbera dewleta heyî û plansazkirî de nîşan bide
Ger depoya we gelek proje an cîhên xebatê yên Terraform hene pelek mîhengê Infracost bikar bînin. Encamên wan dê di heman veqetandî an derketina cûda de werin berhev kirin.
Bikaranîna Pêşkeftî
Infracost di heman demê de gelek awayên karanîna pêşkeftî jî hene ku dikarin ji bilî rêbazên karanîna birêkûpêk werin bikar anîn. Van rêbazên pêşkeftî dikarin bi pelek mîhengê ya Infracost-ê jî bikar bînin.
Pelê Plana Terraform
Infracost dikare li dijî pelek planek Terraform were meşandin, ku tê vê wateyê ku we berê Terraform-ê dimeşîne init.
Infracost tenê Terraform dimeşîneshow
di vê rewşê de, tê vê wateyê ku ew pêbaweriyên ewr an hewce nake --terraform-plan-flags
were danîn.
cd rê / ber / kod
terraform init
plana terraform -out tfplan.binary
têkçûna infracost -rêya tfplan.binary
infracost diff –rêya tfplan.binary
Dewleta Terraform
Ger hûn dixwazin lêçûna lêçûnê ya dewleta Terraform a heyî bibînin, divê hûn wiya bizanibin infracost breakdown
ferman heye a --terraform-use-state
ala, ku dê di vê rewşê de bikêr be. Divê hûn berê Terraform-ê bimeşînin apply
, ji ber vê yekê Infracost tenê Terraform dimeşîne show
, ku pêbaweriyên ewr an jî hewce nake --terraform-plan-flags
were danîn.
têkçûna infracost -nimûneyên rê / terraform -terraform-bikaranîna-dewlet
Pelê JSON Dewleta Terraform
Hûn dikarin diçin infracost breakdown
li dijî pelê JSON ya dewleta Terraform. Ev dê bibe [forma derana JSON] ya dewletê li şûna nûneriya JSON ya navxweyî. Pêdivî ye ku ew bi xebitandinê were çêkirin terraform show -json
di hundurê projeyek Terraform de, û ew bi taybetî bikêr e ger hûn bixwazin lêçûna lêçûnê ya dewleta Terraform a heyî bibînin. Di vê rewşê de, ew tê vê wateyê ku hûn berê Terraform dimeşînin apply
, tê wateya tu pêbaweriyên ewr an --terraform-plan-flags
hewce ne.
Kîjan Ewr û Çavkanî Piştevanî ne?
Infracost ji zêdetir piştgirî dike 200 çavkaniyên Terraform li seranserê AWS, Google, û Azure, dema ku amûrên din ên IaC mîna Pulumi û Cloudformation di nexşerêyê de cih digirin. Piştgiriya çavkaniyên nû bi domdarî tê zêdekirin, ji ber vê yekê girîng e ku hûn depoyê ji bo berdanan kontrol bikin.
Xelasî
Infracost alîkariyek e amûrek ji bo pêşdebiran, DevOps, SRE, û yên din digerin ku zû veqetandina lêçûnê bibînin û vebijarkên cihêreng ên pêşîn bidin ber hev. Di heman demê de heke hûn lê digerin ku wê bi CI-yê re yek bikin û / an jî ji bo AWS û Google Cloud piştgirî hewce ne, bijarek baş e. Ger hûn dixwazin di navbera tîmê xwe de hevkariyek çêtir biafirînin, Infracost jî dikare di wî warî de bibe alîkar. Hemî van taybetmendiyan wê dikin amûrek ku divê hûn bi tundî li ser pêkanîna texmînên lêçûnên ewr ji bo Terraform bifikirin.
Leave a Reply