Infracost gravas por DevOps, SRE kaj programistoj, kiuj serĉas taksi nubajn kostojn por infrastrukturaj kiel kodaj projektoj kiel Terraform. Kun Infracost, vi povas rapide vidi kosto-rompon dum komparado de malsamaj opcioj, kio helpas konduki al pli bonaj komprenoj antaŭ granda decido.
Kiel Funkcias Infracost?
Infracost povas kontroli pli ol 3 milionojn da prezoj skanante vian Terraform-kodon, kaj ĝi produktas simplan kaj facile legeblan kostotakson antaŭ ol vi lanĉas rimedojn.
Vi ankaŭ povas uzi Infracost por scii, kiuj linioj de kodo havas la plej grandan kostan efikon, ĉar ĝi mapas koston al rimedoj en viaj tirpetoj. Integrante Infracost en vian CI/KD, vi povas kunlabori kun via teamo kaj ebligi diskutojn pri la efiko de ŝanĝoj en via ekzistanta laborfluo.
Infracost funkcias per sia backend-servo de Cloud Pricing API, kaj per la CLI-ilo, vi povas analizi Terraform-planon en JSON-formato. La API krucreferencas la individuan koston de ĉiu nuba rimedo uzata, same kiel iliajn rilatajn kostajn parametrojn bazitajn sur la nuba provizanto.
La programo ne postulas ajnajn akreditaĵojn por funkcii, kaj ĝi ne faras ajnajn ŝanĝojn al Terraform aŭ al la analizitaj nubaj rimedoj. Uzante la nombron de tipoj de rimedoj de Terraform, la API certigas, ke novaj rimedoj estas kalkulitaj.
Estas du ĉefaj manieroj kiel Infracost montras la disrompon de kostoj:
A) Plena Diskonigo de Kostoj
B) Diferenco de Monataj Kostoj Inter Nuna kaj Planita Ŝtato
Komencu Kun Infracost (Paŝo post Paŝo)
Sekvu ĉi tiun paŝon post paŝo por instali kaj komenci uzi Infracost:
1. Instalu Infracost
La unua paŝo por komenci estas instali Infracost, sed vi devas unue jam havi Terraform instalita.
Jen rigardo al la malsamaj versioj de Infracost:
macOS Homebrew:
brew instali infrakosto
infrakosto –versio # Devus montri v0.9.7
manlibro de macOS:
# Elŝutas la CLI bazitan sur via OS/arch kaj metas ĝin en /usr/local/bin
buklo -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ŝ
Linukso:
# Elŝutas la CLI bazitan sur via OS/arch kaj metas ĝin en /usr/local/bin
buklo -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ŝ
Docker:
docker tiri infrakosto/infrakosto
docker run –rm \
-e INFRACOST_API_KEY=vidu_sekvantan_paŝon_pri_kiel_akiri_ĉi tion \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/kodo/ infrakosto/infrakosto paneo –vojo /kodo/
# Aldonu aliajn postulatajn flagojn/envs por Infracost aŭ Terraform
# Ekzemple, ĉi tiuj povus esti bezonataj se vi uzas AWS-assun-rolon:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Vindozo:
Elŝutu kaj malfermu la lasta ĵeto. Rulu ĝin de la Komando Prompto aŭ Powershell uzante .\infracost.exe --no-color
kune kun aliaj postulataj komandoj/flagoj (kolora eligo havas cimon, kiun ni devas ripari en Vindozo). Vi ankaŭ devus movi la exe dosieron al dosierujo kiu estas en via PATH
medio variablo, ekz C:\Windows
.
2. Akiru API-Ŝlosilon
La sekva paŝo estas registriĝi por senpaga API-ŝlosilo, kiun la CLI uzas por pridemandi la Cloud Pricing API por taskoj kiel akiri prezojn por ekzemplaj tipoj.
Ĉiuj Operaciumoj:
infrakosto registro
La ŝlosilo estas konservita en ~/.config/infracost/credentials.yml
.
3. Rulu Infracost
Nun vi pretas ruli Infracost, kiu ne faras ajnajn ŝanĝojn al via Terraform-stato aŭ nubaj rimedoj. Vi povas ruli ĝin per la provizita Terraform-projekto por provi ĝin.
Ĉiuj Operaciumoj:
git-klono https://github.com/infracost/example-terraform.git
cd ekzemplo-terraform/sample1
# Ludu kun main.tf kaj rekuru por kompari kostojn
infrakosto breakdown –vojo .
# Montru diferencojn de monataj kostoj, redaktu la yml-dosieron kaj rerulu por kompari kostojn
infrakosto diff –vojo . –sync-usage-file –usage-dosiero infracost-usage.yml
4. Aldonu al CI/KD
Vi nun povas uzi Infracost CI/KD-integriĝoj por aŭtomate aldoni tirpetajn komentojn, kiuj montras al vi kosttaksajn diferencojn. Ĉi tio ankaŭ provizos al vi sekurreton, ebligante al teamoj diskuti la kostefikon de ŝanĝoj kiel parto de sia laborfluo.
uzado
la infracost
CLI havas la sekvajn ĉefajn komandojn:
breakdown
: montri plenan disrompon de kostojdiff
: montru diferencon de monataj kostoj inter aktuala kaj planita stato
Uzu Infracost-agordan dosieron se via deponejo havas plurajn Terraform-projektojn aŭ laborspacojn. Iliaj rezultoj estos kombinitaj en la saman malfunkcion aŭ difproduktaĵon.
Altnivela Uzado
Infracost ankaŭ havas diversajn altnivelajn uzmetodojn, kiuj povas esti uzataj aldone al la regulaj uzmetodoj. Ĉi tiuj altnivelaj metodoj povas esti uzataj ankaŭ per Infracost agordosiero.
Terraform Plandosiero
Infracost povas ruliĝi kontraŭ Terraform-plandosiero, kio implicas, ke vi jam rulis Terraform init.
Infracost nur funkcias Terraformshow
en ĉi tiu kazo, tio signifas, ke ĝi ne postulas nubajn akreditaĵojn aŭ --terraform-plan-flags
agordi.
cd vojo/al/kodo
terraform init
terraform plano -out tfplan.binary
infrakosto rompo – vojo tfplan.binary
infrakosto diff – vojo tfplan.binary
Terforma ŝtato
Se vi volas vidi la kostan rompon de la nuna Terraform-stato, vi devus scii la infracost breakdown
komando havas --terraform-use-state
flago, kiu montriĝus utila ĉi-kaze. Vi devas jam ruli Terraform apply
, do Infracost nur kuras Terraform show
, kiu ne postulas nubajn akreditaĵojn aŭ --terraform-plan-flags
agordi.
infrakosto breakdown –vojekzemploj/terraform –terraform-use-state
Terraform Ŝtata JSON-dosiero
Vi povas kuri la infracost breakdown
kontraŭ Terraform-ŝtata JSON-dosiero. Ĉi tio estus la [JSON-eligformato] de la ŝtato anstataŭ la interna JSON-reprezento. Ĝi devas esti generita per kurado terraform show -json
ene de Terraform-projekto, kaj ĝi estas precipe utila se vi volas vidi la kosto-rompon de la nuna Terraform-stato. En ĉi tiu kazo, ĝi implicas ke vi jam rulas Terraform apply
, kio signifas neniujn nubajn akreditaĵojn aŭ --terraform-plan-flags
estas postulitaj.
Kiuj Nuboj kaj Rimedoj estas Subtenataj?
Infracost subtenas pli ol 200 Terraform-resursoj trans AWS, Google kaj Azure, dum aliaj IaC-iloj ŝatas Pulumi kaj Nuboformado estas inkluzivitaj en la vojmapo. Subteno por novaj rimedoj estas konstante aldonita, do gravas kontroli la repo por eldonoj.
konkludo
Infracost estas helpema ilo por programistoj, DevOps, SRE, kaj aliaj serĉantaj rapide vidi la kosto-rompon kaj kompari malsamajn opciojn antaŭe. Ĝi ankaŭ estas bona elekto se vi serĉas integri ĝin kun CI kaj/aŭ bezonas subtenon por AWS kaj Google Cloud. Se vi volas krei pli bonan kunlaboron inter via teamo, Infracost ankaŭ povas helpi tiurilate. Ĉiuj ĉi tiuj funkcioj faras ĝin ilo, kiun vi forte pripensu efektivigi por nubaj kostaj taksoj por Terraform.
Lasi Respondon