Isiqulatho[Fihla][Bonisa]
I-Infracost ibalulekile kwi-DevOps, i-SRE, kunye nabaphuhlisi abafuna ukuqikelela iindleko zefu kwiiprojekthi zeziseko zophuhliso ezifana ne-Terraform. Nge-Infracost, unokubona ngokukhawuleza ukuchithwa kweendleko ngelixa uthelekisa iinketho ezahlukeneyo, ezinceda ukukhokelela ekuqondeni okungcono ngaphambi kwesigqibo esikhulu.
Isebenza njani i-Infracost?
I-Infracost inokukhangela ngaphezulu kwezigidi ezi-3 zamaxabiso ngokuskena ikhowudi yakho yeTerraform, kwaye ivelisa uqikelelo lweendleko olulula nolufundeka lula phambi kokuba uqalise izixhobo.
Ungasebenzisa kwakhona i-Infracost ukwazi ukuba yeyiphi imigca yekhowudi enempembelelo enkulu yeendleko kuba yenza imephu yeendleko kwizibonelelo kwizicelo zakho zokutsalwa. Ngokudibanisa i-Infracost kwi-CI / CD yakho, unokusebenzisana neqela lakho kwaye wenze iingxoxo malunga neempembelelo zotshintsho kwindlela yakho yokusebenza ekhoyo.
I-Infracost isebenza ngenkonzo ye-backend ye-Cloud Pricing API, kunye nesixhobo se-CLI, unokwahlula isicwangciso seTerraform kwifomathi ye-JSON. I-API ireferensi ye-cross-reference yeendleko zomntu ngamnye kwi-cloud resource nganye esetyenziswayo, kunye neeparitha zeendleko ezihambelanayo ezisekelwe kumboneleli wefu.
Inkqubo ayifuni naziphi na iziqinisekiso zokusebenza, kwaye ayenzi naluphi na utshintsho kwiTerraform okanye kwimithombo yelifu ehlalutyiweyo. Ngokusebenzisa ubalo lweentlobo zemithombo ye-Terraform, i-API iqinisekisa ukuba izixhobo ezintsha zibalelwa.
Kukho iindlela ezimbini eziphambili ze-Infracost ezibonisa ukucazululwa kweendleko:
A) Ukwahlulwa ngokupheleleyo kweendleko
B) Umahluko kwiindleko zeNyanga phakathi kweSizwe sangoku kunye nesiCwangcisiweyo
Ukuqalisa nge-Infracost (Inyathelo ngenyathelo)
Landela esi sikhokelo senyathelo nenyathelo ukufaka kwaye uqalise ukusebenzisa i-Infracost:
1. Faka i-Infracost
Inyathelo lokuqala lokuqalisa kukufaka i-Infracost, kodwa kufuneka kuqala ube unayo Terraform fakiwe.
Nantsi ukujonga kwiinguqulelo ezahlukeneyo ze-Infracost:
I-macOS Homebrew:
brew ufake infracost
infracost -version # Kufuneka ibonise v0.9.7
Incwadi ye-macOS:
# Khuphela i-CLI ngokusekwe kwi-OS/arch yakho kwaye uyibeke kuyo /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
I-Linux:
# Khuphela i-CLI ngokusekwe kwi-OS/arch yakho kwaye uyibeke kuyo /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Idokodo:
docker ukutsala infracost/infracost
idocker run -rm \
-e INFRACOST_API_KEY=bona_ukulandelela_inyathelo_on_how_to_fumana_le \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost breakdown –indlela/ikhowudi/
# Yongeza ezinye iiflegi / ii-envs ezifunekayo ze-Infracost okanye iTerraform
# Umzekelo, ezi zinokufunwa ukuba usebenzisa i-AWS yokuthatha indima:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Khuphela kwaye uvule ifayile ye ukukhululwa kwangoku. Yiqhube kwi-Command Prompt okanye i-Powershell usebenzisa .\infracost.exe --no-color
ecaleni kweminye imiyalelo/iiflegi ezifunekayo (imveliso yombala inebug ekufuneka siyilungise kwiWindows). Kufuneka uhambise kwakhona ifayile ye-exe kulawulo olukweyakho PATH
Umahluko kwindalo esingqongileyo, umz C:\Windows
.
2. Fumana i-API Key
Inyathelo elilandelayo kukubhalisa isitshixo se-API sasimahla, esisetyenziswa yi-CLI ukubuza i-API yeXabiso leLifu kwimisebenzi efana nokufumana amaxabiso emizekelo yomzekelo.
Zonke iiNkqubo zokuSebenza:
irejista ye-infracost
Isitshixo sigcinwe ngaphakathi ~/.config/infracost/credentials.yml
.
3. Qhuba i-Infracost
Ngoku ulungele ukuqhuba i-Infracost, engenzi naluphi na utshintsho kwisimo sakho seTerraform okanye izixhobo zamafu. Ungayiqhuba ngeprojekthi yeTerraform enikiweyo ukuyivavanya.
Zonke iiNkqubo zokuSebenza:
git clone https://github.com/infracost/example-terraform.git
cd umzekelo-terraform/isampulu1
# Dlala nge-main.tf kwaye uphinde ubaleke ukuthelekisa iindleko
ukophulwa kwe-infracost -indlela .
# Bonisa umahluko kwiindleko zenyanga, hlela ifayile yeyml kwaye uphinde ubaleke ukuthelekisa iindleko
infracost diff -indlela . -sync-usetyenziso-ifayile -usetyenziso-ifayile infracost-usage.yml
4. Yongeza kwi-CI/CD
Ngoku ungasebenzisa i-Infracost's Ukudityaniswa kwe-CI/CD ukongeza ngokuzenzekelayo amagqabantshintshi esicelo sokutsalwa, abonisa ukuba uqikelelo lweendleko ziyahluka. Oku kuya kukubonelela ngomnatha wokhuseleko, okwenza amaqela axoxe ngempembelelo yeendleko zotshintsho njengenxalenye yokuhamba komsebenzi wabo.
ukusetyenziswa
The infracost
I-CLI inemiyalelo engundoqo ilandelayo:
breakdown
: bonisa ucazululo olupheleleyo lweendlekodiff
: bonisa umahluko weendleko zenyanga phakathi kwemeko yangoku kunye necwangcisiweyo
Sebenzisa ifayile yoqwalaselo ye-Infracost ukuba irepo yakho ineeprojekthi ezininzi zeTerraform okanye iindawo zokusebenza. Iziphumo zabo ziya kudityaniswa zibe yintlupheko efanayo okanye i-diff output.
Ukusetyenziswa okuPhambili
I-infracost ikwaneendlela ezahlukeneyo zokusetyenziswa eziphambili ezinokuthi zisetyenziswe ukongeza kwiindlela zokusetyenziswa rhoqo. Ezi ndlela eziphambili zinokusetyenziswa ngefayile yoqwalaselo ye-Infracost ngokunjalo.
Ifayile yeSicwangciso seTerraform
I-infracost inokuqhutywa ngokuchasene nefayile yesicwangciso seTerraform, ethetha ukuba sele uqhuba iTerraform init.
I-Infracost iqhuba nje iTerraformshow
kulo mzekelo, intsingiselo ayifuni ziqinisekiso zamafu okanye --terraform-plan-flags
ukusetwa.
cd indlela/ukuya/ikhowudi
iterraform init
isicwangciso seterraform -ngaphandle tfplan.binary
ukophulwa kwe-infracost -indlela tfplan.binary
infracost diff -indlela tfplan.binary
Ilizwe leTerraform
Ukuba ufuna ukubona ukonakaliswa kweendleko kwimeko yangoku yeTerraform, kuya kufuneka uyazi infracost breakdown
umyalelo une a --terraform-use-state
iflegi, eya kuba luncedo kule meko. Kufuneka ube sele usebenzisa iTerraform apply
, ke i-Infracost iqhuba nje iTerraform show
, engadingi ziqinisekiso zamafu okanye --terraform-plan-flags
ukusetwa.
Ukuqhekeka kwe-infracost -imizekelo yendlela/iterraform -terraform-use-state
Ifayile yeJSON yeTerraform State
Unako ukuqhuba infracost breakdown
ngokuchasene nefayile yeJSON yeTerraform. Le iyakuba [yifomati yemveliso ye-JSON] yelizwe endaweni yomelo lwangaphakathi lwe-JSON. Kufuneka iveliswe ngokubaleka terraform show -json
ngaphakathi kweprojekthi yeTerraform, kwaye iluncedo ngakumbi ukuba ufuna ukubona ukonakaliswa kweendleko kwimeko yangoku yeTerraform. Kule meko, kuthetha ukuba sele uqhuba iTerraform apply
, okuthetha ukuba akukho ziqinisekiso zefu okanye --terraform-plan-flags
zifunwa.
Ngawaphi amafu kunye nezibonelelo ezixhaswayo?
I-infracost ixhasa ngaphezu 200 izixhobo zeTerraform kuyo yonke i-AWS, uGoogle, kunye neAzure, ngelixa ezinye izixhobo ze-IaC zinjalo Pulumi kwaye Cloudformation zibandakanyiwe kwimaphu yendlela. Inkxaso yemithombo emitsha yongezwa rhoqo, ngoko ke kubalulekile ukujonga i-repo yokukhutshwa.
isiphelo
I-infracost iluncedo isixhobo kubaphuhlisi, DevOps, SRE, kunye nabanye abafuna ukubona ngokukhawuleza ukuchithwa kweendleko kunye nokuthelekisa iinketho ezahlukeneyo ngaphambili. Kukwalukhetho oluhle ukuba ujonge ukuyidibanisa neCI kunye/okanye ufuna inkxaso ye-AWS kunye neLifu likaGoogle. Ukuba ufuna ukwenza intsebenziswano engcono phakathi kweqela lakho, i-Infracost inokunceda kulo mba. Zonke ezi mpawu zenza ukuba ibe sisixhobo ekufuneka uqikelele ngamandla ukuphumeza uqikelelo lweendleko zamafu kwiTerraform.
Shiya iMpendulo