Kaundan[Itago][Ipakita]
Importante ang infracost para sa DevOps, SRE, ug mga developers nga nagtan-aw sa pagbanabana sa mga gasto sa panganod alang sa mga proyektong imprastraktura-as-code sama sa Terraform. Uban sa Infracost, dali nimo makita ang usa ka pagkahugno sa gasto samtang gitandi ang lainlaing mga kapilian, nga makatabang sa paghatud sa mas maayo nga mga panabut sa wala pa ang usa ka dako nga desisyon.
Giunsa Pagtrabaho ang Infracost?
Mahimong susihon sa Infracost ang kapin sa 3 milyon nga mga presyo pinaagi sa pag-scan sa imong Terraform code, ug naghimo kini usa ka yano ug dali basahon nga banabana sa gasto sa dili ka pa maglansad sa mga kapanguhaan.
Mahimo usab nimong gamiton ang Infracost aron mahibal-an kung unsang mga linya sa code ang adunay labing dako nga epekto sa gasto tungod kay kini nag-mapa sa gasto sa mga kapanguhaan sa imong mga hangyo sa pagbitad. Pinaagi sa pag-integrate sa Infracost sa imong CI/CD, mahimo kang makigtambayayong sa imong team ug makapahimo sa mga diskusyon bahin sa epekto sa mga kausaban sa imong kasamtangang workflow.
Ang Infracost nagtrabaho pinaagi sa Cloud Pricing API backend nga serbisyo, ug sa CLI tool, mahimo nimong ma-parse ang usa ka Terraform nga plano sa JSON nga format. Ang API nag-cross-reference sa indibidwal nga gasto sa matag cloud resource nga gigamit, ingon man ang ilang mga may kalabutan nga mga parameter sa gasto base sa cloud provider.
Ang programa wala magkinahanglan ug bisan unsang kredensyal aron makalihok, ug wala kini magbuhat ug bisan unsang mga pagbag-o sa Terraform o sa naanalisa nga mga kapanguhaan sa panganod. Pinaagi sa paggamit sa ihap sa mga tipo sa kapanguhaan sa Terraform, gisiguro sa API nga ang mga bag-ong kahinguhaan maisip.
Adunay duha ka nag-unang paagi nga gipakita sa Infracost ang pagkahugno sa mga gasto:
A) Bug-os nga Pagkahugno sa mga Gasto
B) Kalainan sa Buwanang Gasto Tali sa Kasamtangan ug Giplano nga Estado
Pagsugod Uban sa Infracost (Lakang-sa-Lakang)
Sunda kini nga sunod-sunod nga giya sa pag-instalar ug pagsugod sa paggamit sa Infracost:
1. I-install ang Infracost
Ang una nga lakang sa pagsugod mao ang pag-install sa Infracost, apan kinahanglan nimo nga naa na Terraform instalar.
Ania ang usa ka pagtan-aw sa lainlaing mga bersyon sa Infracost:
macOS Homebrew:
brew instalar infracost
infracost –bersyon # Kinahanglang ipakita ang v0.9.7
manwal sa macOS:
# Pag-download sa CLI base sa imong OS/arch ug ibutang kini sa /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Pag-download sa CLI base sa imong OS/arch ug ibutang kini sa /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=tan-awa_pagsunod_ang_lakang_sa_unsa_makuha_niini \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost breakdown –path /code/
# Pagdugang uban pang gikinahanglan nga mga bandila / envs para sa Infracost o Terraform
# Pananglitan, kini mahimong gikinahanglan kung ikaw naggamit sa AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
tamboanan;
I-download ug i-unzip ang bag-o nga pagpagawas. Pagdalagan kini gikan sa Command Prompt o Powershell gamit .\infracost.exe --no-color
kauban ang uban pang gikinahanglan nga mga sugo/bandera (kolor nga output adunay bug nga kinahanglan natong ayohon sa Windows). Kinahanglan nimo usab nga ibalhin ang exe file sa usa ka folder nga naa sa imong PATH
magkalahi ang palibot, pananglitan C:\Windows
.
2. Pagkuha ug API Key
Ang sunod nga lakang mao ang pagparehistro alang sa usa ka libre nga yawe sa API, nga gigamit sa CLI sa pagpangutana sa Cloud Pricing API alang sa mga buluhaton sama sa pagkuha sa mga presyo alang sa mga tipo sa pananglitan.
Tanan nga Operating System:
rehistro sa infracost
Ang yawe gitipigan sa ~/.config/infracost/credentials.yml
.
3. Pagdagan sa Infracost
Karon andam ka na sa pagpadagan sa Infracost, nga wala maghimo bisan unsang mga pagbag-o sa imong estado sa Terraform o mga kapanguhaan sa panganod. Mahimo nimong ipadagan kini sa gihatag nga proyekto sa Terraform aron masulayan kini.
Tanan nga Operating System:
git clone https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# Pagdula sa main.tf ug pagdagan pag-usab aron itandi ang mga gasto
infracost breakdown –path .
# Ipakita ang kalainan sa binulan nga gasto, pag-edit sa yml file ug pagdagan pag-usab aron itandi ang mga gasto
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Idugang sa CI/CD
Mahimo nimong gamiton ang Infracost's Mga panagsama sa CI/CD aron awtomatikong idugang ang mga komento sa paghangyo sa pagbitad, nga nagpakita kanimo mga kalainan sa gibanabana sa gasto. Maghatag usab kini kanimo og safetynet, nga makapahimo sa mga team nga hisgutan ang epekto sa gasto sa mga pagbag-o isip bahin sa ilang workflow.
paggamit
ang infracost
Ang CLI adunay mosunod nga mga nag-unang mga sugo:
breakdown
: ipakita ang bug-os nga pagkahugno sa mga gastodiff
: ipakita ang kalainan sa binulan nga gasto tali sa kasamtangan ug giplano nga estado
Paggamit ug Infracost config file kung ang imong repo adunay daghang mga proyekto sa Terraform o mga workspace. Ang ilang mga resulta pagahiusahon ngadto sa samang pagkahugno o diff output.
Advanced nga Paggamit
Ang Infracost usab adunay lain-laing mga advanced nga pamaagi sa paggamit nga mahimong magamit dugang sa regular nga mga pamaagi sa paggamit. Kini nga mga advanced nga pamaagi mahimong magamit pinaagi sa usa ka Infracost config file usab.
File sa Plano sa Terraform
Mahimong ipadagan ang Infracost batok sa usa ka file sa plano sa Terraform, nga nagpasabot nga nakadagan ka na sa Terraform init.
Ang Infracost nagpadagan lang sa Terraformshow
sa kini nga kaso, nagpasabut nga wala kini magkinahanglan mga kredensyal sa panganod o --terraform-plan-flags
nga ibutang
cd path/to/code
terraform init
terraform plan -out tfplan.binary
pagkaguba sa infracost –path tfplan.binary
infracost diff –path tfplan.binary
Estado sa Terraform
Kung gusto nimo makita ang pagkahugno sa gasto sa karon nga estado sa Terraform, kinahanglan nimo mahibal-an ang infracost breakdown
sugo adunay a --terraform-use-state
bandila, nga mapamatud-an nga mapuslanon sa kini nga kaso. Kinahanglan nga imong gipadagan ang Terraform apply
, mao nga ang Infracost nagpadagan lang sa Terraform show
, nga wala magkinahanglan og mga kredensyal sa panganod o --terraform-plan-flags
nga ibutang
infracost breakdown –path examples/terraform –terraform-use-state
Terraform State JSON File
Mahimo nimong modagan ang infracost breakdown
batok sa usa ka Terraform state JSON file. Kini ang [JSON output format] sa estado imbes sa internal nga representasyon sa JSON. Kinahanglan kini nga mamugna pinaagi sa pagdagan terraform show -json
sulod sa usa ka proyekto sa Terraform, ug kini labi ka mapuslanon kung gusto nimo nga makita ang pagkahugno sa gasto sa karon nga estado sa Terraform. Sa kini nga kaso, kini nagpasabut nga nagpadagan ka na sa Terraform apply
, nagpasabot nga walay cloud credentials o --terraform-plan-flags
gikinahanglan.
Unsa nga mga Cloud ug mga Kapanguhaan ang Gisuportahan?
Infracost nagsuporta labaw pa sa 200 Mga kahinguhaan sa Terraform sa tibuok AWS, Google, ug Azure, samtang ang ubang mga gamit sa IaC sama Pulumi ug Cloudform nalakip sa roadmap. Ang suporta alang sa bag-ong mga kahinguhaan kanunay nga gidugang, busa hinungdanon nga susihon ang repo alang sa mga pagpagawas.
Panapos
Ang infracost kay makatabang himan alang sa mga developers, DevOps, SRE, ug uban pa nga nangita aron dali nga makita ang pagkahugno sa gasto ug itandi ang lainlaing mga kapilian sa unahan. Usa usab kini ka maayong pagpili kung nangita ka nga i-integrate kini sa CI ug/o nanginahanglan suporta alang sa AWS ug Google Cloud. Kung gusto nimo nga maghimo mas maayo nga kolaborasyon tali sa imong team, makatabang usab ang Infracost bahin niana. Ang tanan niini nga mga bahin naghimo niini nga usa ka himan nga kinahanglan nimo nga hugot nga ikonsiderar ang pagpatuman alang sa mga banabana sa gasto sa panganod alang sa Terraform.
Leave sa usa ka Reply