Infracost yakakosha kuDevOps, SRE, uye vanogadzira vanotarisa kufungidzira mutengo wegore wezvivakwa-se-code mapurojekiti akadai seTerraform. NeInfracost, unogona kukurumidza kuona kuparara kwemutengo uchienzanisa sarudzo dzakasiyana, izvo zvinobatsira kutungamirira kune zviri nani kunzwisisa pamberi pechisarudzo chikuru.
Infracost Inoshanda Sei?
Infracost inogona kutarisa pamusoro pemamiriyoni matatu emitengo nekuongorora yako Terraform kodhi, uye inoburitsa iri nyore uye iri nyore kuverenga mutengo wekufungidzira usati watanga zviwanikwa.
Iwe unogona zvakare kushandisa Infracost kuti uzive kuti ndeapi mitsara yekodhi ine yakanyanya mutengo kukanganisa sezvo ichiratidzira mutengo kune zviwanikwa mukudhonza kwako zvikumbiro. Nekubatanidza Infracost muCI/CD yako, unogona kushandirapamwe nechikwata chako uye kugonesa nhaurirano pamusoro pekukanganisa kwekuchinja mune yako iripo mafambiro ebasa.
Infracost inoshanda kuburikidza neyayo Cloud Pricing API backend sevhisi, uye neCLI turusi, unogona kufambisa chirongwa cheTerraform muJSON fomati. Iyo API muchinjika-mareferensi mutengo wega wega wegore rekushandisa mukushandiswa, pamwe neawo anowirirana mutengo paramita zvichibva pamupi wegore.
Iyo purogiramu haidi chero humbowo hwekushanda, uye haiite chero shanduko kuTerraform kana kune yakaongororwa gore zviwanikwa. Nekushandisa kuverenga kweTerraform zviwanikwa mhando, iyo API inova nechokwadi chekuti zviwanikwa zvitsva zvinoverengerwa.
Pane nzira mbiri huru Infracost inoratidza kuparara kwemitengo:
A) Kuparadzana Kwakazara Kwemitengo
B) Kusiyana Kwemari Yemwedzi Pakati Pezvino uye Yakarongwa Nyika
Kutanga neInfracost (Nhanho-neNhanho)
Tevedza iyi nhanho-ne-nhanho gwara kuisa uye kutanga kushandisa Infracost:
1. Isa Infracost
Nhanho yekutanga yekutanga kuisa Infracost, asi unofanira kutanga watova nayo Terraform akaiswa.
Heano kutarisa kune akasiyana mavhezheni eInfracost:
macOS Homebrew:
brew kuisa infracost
infracost -version # Inofanira kuratidza v0.9.7
macOS bhuku:
# Dhawunirodha iyo CLI zvichibva pane yako OS/arch uye inoiisa mukati /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Dhawunirodha iyo CLI zvichibva pane yako OS/arch uye inoiisa mukati /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
docker dhonza infracost/infracost
docker run -rm \
-e INFRACOST_API_KEY=ona_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/:/code/ infracost/infracost breakdown -nzira/code/
# Wedzera mamwe anodiwa mireza / envs yeInfracost kana Terraform
# Semuenzaniso, izvi zvinogona kudikanwa kana uri kushandisa AWS kufungidzira-basa:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Dhawunirodha uye unzip iyo latest release. Mhanya nayo kubva ku Command Prompt kana Powershell uchishandisa .\infracost.exe --no-color
padivi pemimwe mirairo / mireza inodiwa (kubuda kwemavara kune bug yatinoda kugadzirisa paWindows). Iwe unofanirwawo kufambisa iyo exe faira kune folda iri mune yako PATH
nharaunda inoshanduka, eg C:\Windows
.
2. Wana API Key
Nhanho inotevera ndeyekunyoresa kiyi yemahara API, iyo inoshandiswa neCLI kubvunza Cloud Pricing API yemabasa akaita sekuwana mitengo semuenzaniso mhando.
Ese maSystem Ekushanda:
infracost rejista
Kiyi inochengetwa mukati ~/.config/infracost/credentials.yml
.
3. Mhanya Infracost
Iye zvino wagadzirira kumhanya Infracost, iyo isingaite chero shanduko kune yako Terraform mamiriro kana gore zviwanikwa. Unogona kuimhanyisa neyakapihwa Terraform purojekiti kuti uiedze kunze.
Ese maSystem Ekushanda:
git clone https://github.com/infracost/example-terraform.git
cd muenzaniso-terraform/sample1
# Tamba ne main.tf uye mhanya zvakare kuenzanisa mutengo
infracost kuparara - nzira .
# Ratidza kusiyana kwemitengo yepamwedzi, gadzirisa iyo yml faira uye mhanya zvakare kuenzanisa mutengo
infracost diff -nzira . -sync-kushandiswa-faira -kushandisa-faira infracost-usage.yml
4. Wedzera kuCI / CD
Iwe unogona ikozvino kushandisa Infracost's CI/CD kubatanidzwa kuti uwedzere otomatiki kudhonza chikumbiro makomendi, ayo anoratidza iwe mutengo unofungidzirwa kusiyana. Izvi zvinokupawo iwe yekuchengetedza, zvichiita kuti zvikwata zvikurukure mutengo wekuchinja sechikamu chekufamba kwavo.
Usage
The infracost
CLI ine mirairo mikuru inotevera:
breakdown
: ratidza kuparara kuzere kwemitengodiff
: ratidza kusiyana kwemitengo yepamwedzi pakati penyika yazvino uye yakarongwa
Shandisa iyo Infracost config faira kana yako repo iine akawanda Terraform mapurojekiti kana nzvimbo dzekushanda. Mhedzisiro yavo inosanganiswa kuita kuparara kwakafanana kana kusiyanisa kubuda.
Yepamberi Kushandisa
Infracost zvakare ine nzira dzakasiyana dzepamusoro dzekushandisa dzinogona kushandiswa kuwedzera kune yakajairika nzira dzekushandisa. Idzi nzira dzepamusoro dzinogona kushandiswa kuburikidza neInfracost config faira zvakare.
Terraform Plan File
Infracost inogona kumhanya ichipesana neTerraform chirongwa faira, izvo zvinoreva kuti watomhanya Terraform init.
Infracost inongomhanya Terraformshow
mune iyi kesi, zvichireva kuti haidi zvitupa zvegore kana --terraform-plan-flags
kuiswa.
cd nzira/ku/kodhi
terraform init
terraform chirongwa -kunze tfplan.binary
infracost kuputsika - nzira tfplan.binary
infracost diff -nzira tfplan.binary
Terraform State
Kana iwe uchida kuona kuparara kwemutengo weyazvino Terraform mamiriro, iwe unofanirwa kuziva iyo infracost breakdown
murayiro une a --terraform-use-state
mureza, izvo zvaizoratidza kubatsira mune iyi kesi. Unofanira kutomhanya Terraform apply
, saka Infracost inongomhanya Terraform show
, iyo isingade cloud credentials kana --terraform-plan-flags
kuiswa.
infracost kuparara -nzira mienzaniso/terraform -terraform-use-state
Terraform State JSON Faira
Unogona kumhanya infracost breakdown
kupokana neTerraform state JSON faira. Iyi ingave iyo [JSON yekubuda fomati] yedunhu panzvimbo yekumiririra yemukati yeJSON. Inofanira kugadzirwa nekumhanya terraform show -json
mukati meTerraform purojekiti, uye inonyanya kubatsira kana iwe uchida kuona kuparara kwemutengo weyazvino Terraform state. Muchiitiko ichi, zvinoreva kuti watomhanya Terraform apply
, zvichireva kuti hapana cloud credentials kana --terraform-plan-flags
zvinodiwa.
Ndeapi Makore uye Zviwanikwa Zvinotsigirwa?
Infracost inotsigira kupfuura 200 Terraform zviwanikwa Mhiri kweAWS, Google, uye Azure, nepo mamwe maIaC maturusi akadai Pulumi uye Cloudformation zvinosanganisirwa mumigwagwa. Tsigiro yezviwanikwa zvitsva inogara ichiwedzerwa, saka zvakakosha kutarisa repo yekuburitswa.
mhedziso
Infracost inobatsira chishandiso chevagadziri, DevOps, SRE, uye vamwe vanotarisa kukurumidza kuona kuparara kwemitengo uye kuenzanisa sarudzo dzakasiyana kumberi. Iyo zvakare sarudzo yakanaka kana uri kutsvaga kuibatanidza neCI uye/kana uchida rutsigiro rweAWS neGoogle Cloud. Kana iwe uchida kugadzira kudyidzana kuri nani pakati pechikwata chako, Infracost inogonawo kubatsira mune izvozvo. Ese aya maficha anoita kuti ive chishandiso chaunofanirwa kufunga nezvacho kuita fungidziro yemitengo yemakore yeTerraform.
Leave a Reply