Okuqukethwe[Fihla][Bonisa]
I-Infracost ibalulekile ku-DevOps, SRE, nakubathuthukisi abafuna ukulinganisa izindleko zamafu zamaphrojekthi wengqalasizinda njengekhodi njenge-Terraform. Nge-Infracost, ungabona ngokushesha ukwehliswa kwezindleko ngenkathi uqhathanisa izinketho ezihlukene, okusiza ukuholela ekuqondeni okungcono ngaphambi kwesinqumo esikhulu.
Isebenza kanjani i-Infracost?
I-Infracost ingabheka izintengo ezingaphezu kwezigidi ezi-3 ngokuskena ikhodi yakho ye-Terraform, futhi ikhiqiza isilinganiso sezindleko esilula nesifundeka kalula ngaphambi kokuthi uqalise izinsiza.
Ungasebenzisa futhi i-Infracost ukwazi ukuthi yimiphi imigqa yekhodi enomthelela omkhulu wezindleko njengoba ibeka izindleko kuzinsiza ezicelweni zakho zokudonsa. Ngokuhlanganisa i-Infracost ku-CI/CD yakho, ungasebenzisana nethimba lakho futhi unike amandla izingxoxo ngomthelela wezinguquko ekuhambeni kwakho komsebenzi okukhona.
I-Infracost isebenza ngesevisi yayo ye-Cloud Pricing API, futhi ngethuluzi le-CLI, ungakwazi ukuhlaziya uhlelo lwe-Terraform ngefomethi ye-JSON. Ireferensi ye-API ibhekisela kuzindleko zomuntu ngamunye zesisetshenziswa sefu ngasinye esisetshenziswayo, kanye nemingcele yazo yezindleko ezihlobene ngokusekelwe kumhlinzeki wamafu.
Uhlelo aludingi noma yiziphi iziqinisekiso ukuze lusebenze, futhi alwenzi noma yiziphi izinguquko ku-Terraform noma kuzinsiza zefu ezihlaziyiwe. Ngokusebenzisa isibalo sezinhlobo zensiza ye-Terraform, i-API iqinisekisa ukuthi izinsiza ezintsha zibaliwe.
Kunezindlela ezimbili eziyinhloko i-Infracost ekhombisa ngayo ukwehlukaniswa kwezindleko:
A) Ukuhlukaniswa Okugcwele Kwezindleko
B) Umehluko Wezindleko Zanyanga Zonke Phakathi Kwesifunda Samanje Nesihleliwe
Ukuqalisa Nge-Infracost (Isinyathelo Ngesinyathelo)
Landela lo mhlahlandlela wesinyathelo ngesinyathelo ukuze ufake futhi uqale ukusebenzisa i-Infracost:
1. Faka i-Infracost
Isinyathelo sokuqala sokuqalisa ukufaka i-Infracost, kodwa kufanele uqale usunayo I-Terraform efakwe.
Nakhu ukubheka izinguqulo ezahlukene ze-Infracost:
I-macOS Homebrew:
phisa ukufaka infracost
infracost -version # Kufanele ibonise v0.9.7
Imanuwali ye-macOS:
# Ilanda i-CLI ngokususelwa ku-OS/arch yakho bese iyibeka ku-/usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
I-Linux:
# Ilanda i-CLI ngokususelwa ku-OS/arch yakho bese iyibeka ku-/usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
I-Docker:
i-docker idonsa i-infracost/infracost
i-docker run -rm \
-e INFRACOST_API_KEY=bona_following_step_on_how_to_get_lokhu \
-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/ikhodi/
# Faka amanye amafulegi/ama-envs adingekayo we-Infracost noma iTerraform
# Isibonelo, lokhu kungadingeka uma usebenzisa indima yokucabangela ye-AWS:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Landa futhi uvule i- ukukhululwa kwamuva. Yisebenzise kusuka ku-Command Prompt noma i-Powershell usebenzisa .\infracost.exe --no-color
eceleni kweminye imiyalo/amafulegi adingekayo (okukhiphayo kombala kunesiphazamisi okudingeka sikulungise ku-Windows). Kufanele futhi uhambise ifayela le-exe kufolda ekweyakho PATH
indawo eguquguqukayo, isib C:\Windows
.
2. Thola ukhiye we-API
Isinyathelo esilandelayo ukubhalisela ukhiye we-API wamahhala, osetshenziswa i-CLI ukuze ibuze i-Cloud Pricing API ngemisebenzi efana nokuthola izintengo zezinhlobo zesibonelo.
Wonke Amasistimu Okusebenza:
irejista ye-infracost
Ukhiye ulondolozwe ku ~/.config/infracost/credentials.yml
.
3. Qalisa i-Infracost
Manje usulungele ukusebenzisa i-Infracost, engenzi izinguquko esimweni sakho se-Terraform noma izinsiza zamafu. Ungayiqhuba ngephrojekthi ye-Terraform enikeziwe ukuze uyihlole.
Wonke Amasistimu Okusebenza:
git clone https://github.com/infracost/example-terraform.git
cd isibonelo-terraform/isampula1
# Dlala nge-main.tf bese ugijima kabusha ukuze uqhathanise izindleko
ukuwohloka kwe-infracost -indlela .
# Bonisa umehluko wezindleko zanyanga zonke, hlela ifayela le-yml bese uqalisa kabusha ukuze uqhathanise izindleko
infracost diff -indlela . -sync-ukusetshenziswa-ifayela -ukusetshenziswa-ifayela infracost-usage.yml
4. Engeza ku-CI/CD
Manje ungasebenzisa i-Infracost's Ukuhlanganiswa kwe-CI/CD ukuze wengeze ngokuzenzakalelayo amazwana esicelo sokudonsa, okubonisa ukuhluka kwesilinganiso sezindleko. Lokhu kuzophinde kukunikeze inethi yokuphepha, okuvumela amaqembu ukuthi axoxe ngomthelela wezindleko wezinguquko njengengxenye yokuhamba komsebenzi wawo.
Ukusetshenziswa
The infracost
I-CLI inemiyalo esemqoka elandelayo:
breakdown
: bonisa ukwehlukaniswa okuphelele kwezindlekodiff
: bonisa umehluko wezindleko zanyanga zonke phakathi kwesimo samanje nesihleliwe
Sebenzisa ifayela le-Infracost config uma i-repo yakho inamaphrojekthi amaningi e-Terraform noma izindawo zokusebenza. Imiphumela yabo izohlanganiswa ibe ukuhlukaniswa okufanayo noma okukhiphayo okuhlukile.
Ukusetshenziswa Okuthuthukile
I-Infracost futhi inezindlela ezahlukahlukene zokusebenzisa ezithuthukile ezingasetshenziswa ngaphezu kwezindlela ezijwayelekile zokusebenzisa. Lezi zindlela ezithuthukisiwe zingasetshenziswa ngefayela le-Infracost config futhi.
Ifayela le-Terraform Plan
I-Infracost ingasetshenziswa ngokumelene nefayela lohlelo lwe-Terraform, okusho ukuthi usuvele usebenzisa i-Terraform init.
I-Infracost isebenzisa i-Terraformshow
kulokhu, okusho ukuthi akudingi iziqinisekiso zamafu noma --terraform-plan-flags
ukusethwa.
cd indlela/kuya/ikhodi
i-terraform init
terraform plan -out tfplan.kanambambili
ukuwohloka kwe-infracost -indlela tfplan.kanambambili
infracost diff -indlela tfplan.kanambambili
I-Terraform State
Uma ufuna ukubona ukuhlukaniswa kwezindleko zesimo samanje se-Terraform, kufanele wazi infracost breakdown
umyalo has a --terraform-use-state
ifulege, okungaba usizo kuleli cala. Kufanele usuvele usebenzisa i-Terraform apply
, ngakho i-Infracost isebenzisa i-Terraform show
, okungadingi iziqinisekiso zefu noma --terraform-plan-flags
ukusethwa.
ukwephulwa kwe-infracost -izibonelo zendlela/i-terraform -terraform-use-state
Ifayela le-Terraform State JSON
Ungakwazi ukugijima infracost breakdown
ngokumelene nefayela le-JSON le-Terraform state. Lokhu kuzoba [ifomethi yokuphuma kwe-JSON] yesimo esikhundleni sokumelela kwangaphakathi kwe-JSON. Kumele wenziwe ngokugijima terraform show -json
ngaphakathi kwephrojekthi ye-Terraform, futhi iwusizo ikakhulukazi uma ufuna ukubona ukuhlukaniswa kwezindleko zesimo samanje se-Terraform. Kulokhu, kusho ukuthi usuvele usebenzisa i-Terraform apply
, okusho ukuthi azikho iziqinisekiso zefu noma --terraform-plan-flags
kudingeka.
Yimaphi Amafu Nezinsiza Ezisekelwe?
Infracost isekela ngaphezu Izinsiza ze-Terraform ezingama-200 kuyo yonke i-AWS, i-Google, ne-Azure, kuyilapho amanye amathuluzi e-IaC ethanda Pulumi futhi Cloudformation zifakiwe kumephu yomgwaqo. Ukusekela izinsiza ezintsha kuhlala kwengezwa, ngakho-ke kubalulekile ukuhlola i-repo ukuze kukhishwe.
Isiphetho
I-Infracost iyasiza ithuluzi lonjiniyela, i-DevOps, i-SRE, nabanye abafuna ukubona ngokushesha ukwehlukana kwezindleko futhi baqhathanise izinketho ezihlukene ngaphambili. Futhi kuyisinqumo esihle uma ubheke ukukuhlanganisa ne-CI kanye/noma udinga ukusekelwa kwe-AWS ne-Google Cloud. Uma ufuna ukudala ukusebenzisana okungcono phakathi kweqembu lakho, i-Infracost nayo ingasiza kulokho. Zonke lezi zici zikwenza kube ithuluzi okufanele ucabangele ukulisebenzisa ngezilinganiso zezindleko zamafu ze-Terraform.
shiya impendulo