M'ndandanda wazopezekamo[Bisani][Show]
Infracost ndiyofunikira kwa DevOps, SRE, ndi opanga omwe akufuna kuyerekeza mtengo wamtambo wamapulojekiti monga Terraform. Ndi Infracost, mukhoza kuona mwamsanga kuwonongeka kwa mtengo pamene mukufanizira zosankha zosiyanasiyana, zomwe zimathandiza kuti mukhale ndi chidziwitso chabwino chisanachitike chisankho chachikulu.
Kodi Infracost Imagwira Ntchito Motani?
Infracost imatha kuyang'ana mitengo yopitilira 3 miliyoni posanthula nambala yanu ya Terraform, ndipo imapanga mtengo wosavuta komanso wosavuta kuwerenga musanayambitse zothandizira.
Mutha kugwiritsanso ntchito Infracost kuti mudziwe kuti ndi mizere iti yamakhodi yomwe imakhala ndi mtengo wokwera kwambiri chifukwa imawonetsa mtengo kuzinthu zomwe mumapempha. Mwa kuphatikiza Infracost mu CI/CD yanu, mutha kugwirira ntchito limodzi ndi gulu lanu ndikuyambitsa zokambirana pakusintha kwamayendedwe anu omwe alipo.
Infracost imagwira ntchito kudzera mu ntchito yake yakumbuyo ya Cloud Pricing API, ndipo ndi chida cha CLI, mutha kusanthula dongosolo la Terraform mumtundu wa JSON. Ma API amalozera mtengo wamunthu aliyense wamtundu uliwonse womwe ukugwiritsidwa ntchito, komanso magawo awo okhudzana ndi mtengo wotengera omwe amapereka mtambo.
Pulogalamuyi simafuna zidziwitso zilizonse kuti igwire ntchito, ndipo sipanga masinthidwe aliwonse ku Terraform kapena kuzinthu zowunikira zamtambo. Pogwiritsa ntchito kuwerengera kwa mitundu yazinthu za Terraform, API imawonetsetsa kuti zatsopano zimawerengedwa.
Pali njira ziwiri zazikuluzikulu zomwe Infracost imawonetsera kuwonongeka kwa ndalama:
A) Kufotokozera kwathunthu kwa Mtengo
B) Kusiyana kwa Ndalama Zamwezi Pakati pa Dziko Lapano ndi Lokonzekera
Kuyamba ndi Infracost (Pagawo ndi Gawo)
Tsatirani malangizowa pang'onopang'ono kuti muyike ndikuyamba kugwiritsa ntchito Infracost:
1. Ikani Infracost
Gawo loyamba loyambira ndikukhazikitsa Infracost, koma muyenera kukhala nazo kale Terraform inayikidwa.
Nayi mawonekedwe amitundu yosiyanasiyana ya Infracost:
MacOS Homebrew:
brew kukhazikitsa infracost
infracost -version # Ayenera kuwonetsa v0.9.7
Buku la macOS:
# Tsitsani CLI kutengera OS/arch yanu ndikuyiyika /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Tsitsani CLI kutengera OS/arch yanu ndikuyiyika /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
docker kukoka infracost / infracost
docker run -rm \
-e INFRACOST_API_KEY=onani_potsatira_pa_momwe_mungapeze_izi \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost kuwonongeka -njira/code/
# Onjezani mbendera / ma envs ena ofunikira a Infracost kapena Terraform
# Mwachitsanzo, izi zitha kufunikira ngati mukugwiritsa ntchito gawo la AWS:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Tsitsani ndikutsegula zip kumasulidwa kwatsopano. Thamangani kuchokera ku Command Prompt kapena Powershell pogwiritsa ntchito .\infracost.exe --no-color
pambali pa malamulo ena / mbendera (zotulutsa zamtundu zili ndi cholakwika chomwe tikuyenera kukonza pa Windows). Muyeneranso kusuntha fayilo ya exe ku chikwatu chomwe chili mufoda yanu PATH
zovuta zachilengedwe, mwachitsanzo C:\Windows
.
2. Pezani Chinsinsi cha API
Chotsatira ndikulembetsa kiyi yaulere ya API, yomwe CLI imagwiritsa ntchito kufunsa Cloud Pricing API pazinthu monga kupeza mitengo yamitundu mwachitsanzo.
Njira Zonse Zogwirira Ntchito:
kaundula wa infracost
Kiyi yasungidwa mkati ~/.config/infracost/credentials.yml
.
3. Thamangani Infracost
Tsopano mwakonzeka kuyendetsa Infracost, zomwe sizipanga kusintha kulikonse ku Terraform state kapena mtambo. Mutha kuyendetsa ndi projekiti ya Terraform yoperekedwa kuti muyese.
Njira Zonse Zogwirira Ntchito:
git clone https://github.com/infracost/example-terraform.git
cd chitsanzo-terraform/sample1
# Sewerani ndi main.tf ndikuyendetsanso kuti mufananize mtengo
kuwonongeka kwa infracost - njira .
# Onetsani kusiyana kwamitengo ya pamwezi, sinthani fayilo ya yml ndikuyendetsanso kuti mufananize mtengo
infracost diff -njira . -sync-usage-file -usage-file infracost-usage.yml
4. Onjezani ku CI/CD
Mutha kugwiritsa ntchito Infracost's CI/CD kuphatikiza kuti muwonjezere ndemanga zopempha zokoka, zomwe zimakuwonetsani kusiyana kwa mtengo. Izi zidzakupatsaninso chitetezo, kuthandizira magulu kuti akambirane za mtengo wa kusintha monga gawo la kayendetsedwe ka ntchito.
Kagwiritsidwe
The infracost
CLI ili ndi malamulo akulu awa:
breakdown
: Onetsani kuwerengera ndalama zonsediff
: Onetsani kusiyana kwa ndalama za mwezi ndi mwezi pakati pa zomwe zakonzedweratu
Gwiritsani ntchito fayilo ya Infracost config ngati repo yanu ili ndi ma projekiti angapo a Terraform kapena malo ogwirira ntchito. Zotsatira zake zidzaphatikizidwa muzowonongeka zomwezo kapena kutulutsa kosiyana.
Kugwiritsa Ntchito Mwaukadaulo
Infracost ilinso ndi njira zingapo zogwiritsira ntchito zapamwamba zomwe zingagwiritsidwe ntchito kuphatikiza njira zogwiritsiridwa ntchito nthawi zonse. Njira zapamwambazi zitha kugwiritsidwa ntchito kudzera pa fayilo ya Infracost config.
Fayilo ya Terraform Plan
Infracost ikhoza kuyendetsedwa motsutsana ndi fayilo ya dongosolo la Terraform, zomwe zikutanthauza kuti mwayendetsa kale Terraform init.
Infracost imangoyendetsa Terraformshow
mu nkhani iyi, kutanthauza sikutanthauza mtambo nyota kapena --terraform-plan-flags
kukhazikitsidwa.
cd njira/to/kodi
terraform init
terraform plan -out tfplan.binary
kuwonongeka kwa infracost -njira tfplan.binary
infracost diff -njira tfplan.binary
Terraform State
Ngati mukufuna kuwona kuwonongeka kwa mtengo wa Terraform yomwe ilipo, muyenera kudziwa infracost breakdown
lamulo ali a --terraform-use-state
mbendera, zomwe zingakhale zothandiza pankhaniyi. Muyenera kuyendetsa kale Terraform apply
, kotero Infracost imangoyendetsa Terraform show
, zomwe sizifuna zidziwitso zamtambo kapena --terraform-plan-flags
kukhazikitsidwa.
kuwonongeka kwa infracost -njira zitsanzo/terraform -terraform-use-state
Fayilo ya Terraform State JSON
Mukhoza kuyendetsa infracost breakdown
motsutsana ndi fayilo ya Terraform state JSON. Ili lingakhale [mtundu wa JSON] wa boma m'malo moyimira JSON mkati. Iyenera kupangidwa ndi kuthamanga terraform show -json
mkati mwa projekiti ya Terraform, ndipo ndizothandiza makamaka ngati mukufuna kuwona kuwonongeka kwa mtengo wa Terraform yomwe ilipo. Pankhaniyi, zikutanthauza kuti mukuyendetsa kale Terraform apply
, kutanthauza kuti palibe umboni wamtambo kapena --terraform-plan-flags
zofunikira.
Ndi Mitambo Ndi Zida Ziti Zomwe Zimathandizidwa?
Infracost imathandizira kuposa 200 Terraform zothandizira kudutsa AWS, Google, ndi Azure, pomwe zida zina za IaC zimakonda Pulumi ndi Cloudformation zikuphatikizidwa mumsewu. Thandizo lazinthu zatsopano likuwonjezeredwa nthawi zonse, kotero ndikofunikira kuyang'ana repo kuti mutulutse.
Kutsiliza
Infracost ndiyothandiza chida kwa Madivelopa, DevOps, SRE, ndi ena akuyang'ana kuti awone mwamsanga kuwonongeka kwa mtengo ndikufanizira zosankha zosiyanasiyana patsogolo. Ndi chisankho chabwino ngati mukuyang'ana kuti muphatikize ndi CI komanso / kapena mukufuna thandizo la AWS ndi Google Cloud. Ngati mukufuna kupanga mgwirizano wabwino pakati pa gulu lanu, Infracost ingathandizenso pankhaniyi. Zonsezi zimapangitsa kukhala chida chomwe muyenera kuganizira kwambiri kuti mugwiritse ntchito pamitengo yamtambo ya Terraform.
Siyani Mumakonda