Infracost huwa importanti għal DevOps, SRE, u żviluppaturi li qed ifittxu li jistmaw l-ispejjeż tal-cloud għal proġetti ta 'infrastruttura bħala kodiċi bħal Terraform. B'Infracost, tista' tara malajr tqassim tal-ispejjeż filwaqt li tqabbel għażliet differenti, li jgħin biex iwassal għal għarfien aħjar qabel deċiżjoni kbira.
Kif jaħdem Infracost?
Infracost jista 'jiċċekkja aktar minn 3 miljun prezz billi jiskenja l-kodiċi Terraform tiegħek, u jipproduċi stima tal-ispiża sempliċi u faċli biex tinqara qabel ma tniedi r-riżorsi.
Tista 'wkoll tuża Infracost biex tkun taf liema linji ta' kodiċi għandhom l-akbar impatt fuq l-ispiża peress li jimmappa l-ispiża għar-riżorsi fit-talbiet tal-ġibda tiegħek. Billi tintegra Infracost fis-CI/CD tiegħek, tista' tikkollabora mat-tim tiegħek u tippermetti diskussjonijiet dwar l-impatt tal-bidliet fil-fluss tax-xogħol eżistenti tiegħek.
Infracost jaħdem permezz tas-servizz backend tal-API Cloud Pricing, u bl-għodda CLI, tista 'tanaliża pjan Terraform fil-format JSON. L-API jirreferi inkroċjat għall-ispiża individwali ta 'kull riżorsa tal-cloud li qed tintuża, kif ukoll il-parametri tal-ispiża relatati tagħhom ibbażati fuq il-fornitur tal-cloud.
Il-programm ma jeħtieġ l-ebda kredenzjali biex jopera, u ma jagħmel l-ebda tibdil lil Terraform jew lir-riżorsi analizzati tas-sħab. Bl-użu tal-għadd ta 'tipi ta' riżorsi Terraform, l-API jiżgura li riżorsi ġodda jiġu kkunsidrati.
Hemm żewġ modi ewlenin kif Infracost juri t-tqassim tal-ispejjeż:
A) Tqassim Sħiħ tal-Ispejjeż
B) Differenza ta 'Spejjeż ta' Kull Xahar Bejn Stat Kurrenti u Ppjanat
Nibdew bl-Infracost (Pass Pass)
Segwi din il-gwida pass pass biex tinstalla u tibda tuża Infracost:
1. Installa Infracost
L-ewwel pass biex tibda huwa li tinstalla Infracost, iżda l-ewwel irid ikollok diġà Terraform Installat.
Hawn ħarsa lejn il-verżjonijiet differenti ta 'Infracost:
macOS Homebrew:
brew tinstalla infracost
infracost –version # Għandu juri v0.9.7
Manwal macOS:
# Niżżel is-CLI ibbażat fuq l-OS/arch tiegħek u poġġih f'/usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Niżżel is-CLI ibbażat fuq l-OS/arch tiegħek u poġġih f'/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=ara_following_step_on_how_to_get_dan \
-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/
# Żid bnadar/envs oħra meħtieġa għal Infracost jew Terraform
# Pereżempju, dawn jistgħu jkunu meħtieġa jekk qed tuża AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Niżżel u unzip il- l-aħħar rilaxx. Mexxiha mill-Prompt tal-Kmand jew Powershell bl-użu .\infracost.exe --no-color
flimkien ma' kmandi/bnadar meħtieġa oħra (l-output tal-kulur għandu bug li rridu nirranġaw fuq il-Windows). Għandek ukoll iċċaqlaq il-fajl exe għal fowlder li huwa tiegħek PATH
varjabbli tal-ambjent, eż C:\Windows
.
2. Ikseb Ċavetta API
Il-pass li jmiss huwa li tirreġistra għal ċavetta API b'xejn, li s-CLI tuża biex titlob lill-API tal-Ipprezzar tal-Cloud għal kompiti bħall-ksib tal-prezzijiet per eżempju tipi.
Is-Sistemi Operattivi kollha:
reġistru tal-infracost
Iċ-ċavetta tiġi salvata fi ~/.config/infracost/credentials.yml
.
3. Mexxi Infracost
Issa inti lest biex tħaddem Infracost, li ma jagħmel l-ebda tibdil fl-istat Terraform jew ir-riżorsi tal-cloud tiegħek. Tista 'taħdem mal-proġett Terraform ipprovdut biex tittestjah.
Is-Sistemi Operattivi kollha:
git clone https://github.com/infracost/example-terraform.git
cd eżempju-terraform/kampjun1
# Ilgħab ma 'main.tf u erġa' ħaddem biex tqabbel l-ispejjeż
infracost breakdown –path .
# Uri d-differenza ta 'l-ispejjeż ta' kull xahar, editja l-fajl yml u erġa' ħaddem biex tqabbel l-ispejjeż
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Żid ma' CI/CD
Issa tista 'tuża Infracost's Integrazzjonijiet CI/CD biex iżżid awtomatikament kummenti dwar it-talba tal-ġibda, li juruk diffs tal-istima tal-ispiża. Dan jagħtik ukoll xibka ta' sigurtà, li tippermetti lit-timijiet jiddiskutu l-impatt tal-ispejjeż tal-bidliet bħala parti mill-fluss tax-xogħol tagħhom.
Usage
il infracost
CLI għandha l-kmandi ewlenin li ġejjin:
breakdown
: uri tqassim sħiħ tal-ispejjeżdiff
: turi differenza ta' spejjeż ta' kull xahar bejn l-istat attwali u dak ippjanat
Uża fajl ta 'konfigurazzjoni Infracost jekk ir-repo tiegħek ikollu diversi proġetti jew spazji tax-xogħol Terraform. Ir-riżultati tagħhom se jiġu kkombinati fl-istess tqassim jew output diff.
Użu Avvanzat
Infracost għandu wkoll diversi metodi ta 'użu avvanzati li jistgħu jintużaw flimkien mal-metodi ta' użu regolari. Dawn il-metodi avvanzati jistgħu jintużaw permezz ta 'fajl ta' konfigurazzjoni Infracost ukoll.
Fajl tal-Pjan Terraform
Infracost jista' jitmexxa kontra fajl tal-pjan Terraform, li jimplika li diġà ħadt Terraform init.
Infracost biss imexxi Terraformshow
f'dan il-każ, li jfisser li ma teħtieġx kredenzjali sħaba jew --terraform-plan-flags
li għandu jkun issettjat.
mogħdija tas-cd/sa/kodiċi
terraform init
terraform pjan -out tfplan.binary
infracost breakdown –path tfplan.binary
infracost diff –path tfplan.binary
Stat Terraform
Jekk trid tara t-tqassim tal-ispiża tal-istat attwali tat-Terraform, għandek tkun taf il- infracost breakdown
kmand għandu a --terraform-use-state
bandiera, li tkun utli f'dan il-każ. Int trid diġà tħaddem Terraform apply
, għalhekk Infracost biss imexxi Terraform show
, li ma teħtieġx kredenzjali tas-sħab jew --terraform-plan-flags
li għandu jkun issettjat.
infracost breakdown –mogħdija eżempji/terraform –terraform-use-state
Fajl JSON tal-Istat Terraform
Tista 'tmexxi l- infracost breakdown
kontra fajl JSON tal-istat Terraform. Dan ikun il-[format tal-output JSON] tal-istat minflok ir-rappreżentazzjoni interna JSON. Għandu jiġi ġġenerat billi taħdem terraform show -json
ġewwa proġett Terraform, u huwa speċjalment utli jekk trid tara t-tqassim tal-ispiża tal-istat attwali tat-Terraform. F'dan il-każ, jimplika li diġà tmexxi Terraform apply
, li jfisser l-ebda kredenzjali sħaba jew --terraform-plan-flags
huma meħtieġa.
Liema Sħab u Riżorsi huma Appoġġjati?
Infracost jappoġġja aktar minn 200 riżorsi Terraform madwar AWS, Google, u Azure, filwaqt li għodod oħra IaC bħal Pulumi u, Formazzjoni tas-sħab huma inklużi fil-pjan direzzjonali. L-appoġġ għal riżorsi ġodda qiegħed dejjem jiżdied, għalhekk huwa importanti li tivverifika r-repo għal rilaxxi.
konklużjoni
Infracost huwa utli għodda għall-iżviluppaturi, DevOps, SRE, u oħrajn li qed ifittxu malajr jaraw it-tqassim tal-ispejjeż u jqabblu għażliet differenti bil-quddiem. Hija wkoll għażla tajba jekk qed tfittex li tintegraha ma 'CI u/jew teħtieġ appoġġ għal AWS u Google Cloud. Jekk trid toħloq kollaborazzjoni aħjar bejn it-tim tiegħek, Infracost jista 'jgħin ukoll f'dak ir-rigward. Dawn il-karatteristiċi kollha jagħmluha għodda li għandek tikkunsidra bil-qawwa li timplimenta għall-istimi tal-ispejjeż tal-cloud għal Terraform.
Ħalli Irrispondi