Infracost enpòtan pou DevOps, SRE, ak devlopè kap estime depans nwaj pou pwojè enfrastrikti kòm kòd tankou Terraform. Avèk Infracost, ou ka byen vit wè yon dekonpozisyon pri pandan y ap konpare opsyon diferan, ki ede mennen nan pi bon konprann anvan yon gwo desizyon.
Ki jan Infracost travay?
Infracost ka tcheke plis pase 3 milyon pri lè w tcheke kòd Terraform ou a, epi li pwodui yon estimasyon pri ki senp epi fasil pou li anvan ou lanse resous yo.
Ou ka sèvi ak Infracost tou pou konnen ki liy kòd ki gen pi gwo enpak sou pri depi li mete pri pou resous nan demann rale ou yo. Lè w entegre Infracost nan CI/CD ou a, ou ka kolabore ak ekip ou a epi pèmèt diskisyon sou enpak chanjman nan workflow ou ki egziste deja.
Infracost travay atravè sèvis backend API Cloud Pricing li yo, epi ak zouti CLI a, ou ka analize yon plan Terraform nan fòma JSON. API a fè referans kwaze pri endividyèl chak resous nwaj yo itilize, ansanm ak paramèt pri ki gen rapò ak yo ki baze sou founisè nwaj la.
Pwogram nan pa mande okenn kalifikasyon pou opere, epi li pa fè okenn chanjman nan Terraform oswa nan resous nwaj yo analize. Lè w itilize konte kalite resous Terraform, API asire ke nouvo resous yo konte.
Gen de fason prensipal Infracost montre dekonpozisyon depans yo:
A) Depann konplè nan depans yo
B) Diferans Depans Mansyèl Ant Eta Aktyèl ak Eta Planifye
Kòmanse ak Infracost (etap-pa-etap)
Swiv etap pa etap gid sa a pou enstale epi kòmanse itilize Infracost:
1. Enstale Infracost
Premye etap la pou kòmanse se enstale Infracost, men ou dwe deja genyen Terraform enstale.
Men yon gade nan diferan vèsyon Infracost yo:
macOS Homebrew:
brew enstale infracost
infracost –version # Ta dwe montre v0.9.7
manyèl macOS:
# Telechaje CLI ki baze sou OS/arch ou epi mete l nan /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Telechaje CLI ki baze sou OS/arch ou epi mete l nan /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
docker rale infracost/infracost
docker kouri –rm \
-e INFRACOST_API_KEY=wè_swiv_etap_sou_fason_pou_jwenn_sa \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost pann –chemen /kòd/
# Ajoute lòt drapo/env obligatwa pou Infracost oswa Terraform
# Pou egzanp, sa yo ka obligatwa si w ap itilize AWS asime-wòl:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Fenèt:
Telechaje epi dekonprime dènye lage. Kouri li nan èd memwa a oswa Powershell lè l sèvi avèk .\infracost.exe --no-color
ansanm ak lòt kòmandman / drapo obligatwa (pwodiksyon koulè gen yon ensèk nou bezwen ranje sou Windows). Ou ta dwe tou deplase dosye a ègzekutabl nan yon katab ki nan ou PATH
anviwònman varyab, eg C:\Windows
.
2. Jwenn yon kle API
Pwochen etap la se enskri pou yon kle API gratis, ke CLI a itilize pou mande API Cloud Pricing pou travay tankou jwenn pri pou kalite egzanp.
Tout sistèm operasyon:
enskripsyon enfrakoût
Se kle a sove nan ~/.config/infracost/credentials.yml
.
3. Kouri Infracost
Koulye a, ou pare pou kouri Infracost, ki pa fè okenn chanjman nan eta Terraform ou a oswa resous nwaj yo. Ou ka kouri li ak pwojè Terraform yo bay la pou teste li.
Tout sistèm operasyon:
git klonaj https://github.com/infracost/example-terraform.git
cd egzanp-terraform/echantiyon1
# Jwe ak main.tf epi re-kouri pou konpare depans yo
infracost breakdown –path .
# Montre diferans nan depans chak mwa, edite fichye yml la epi re-kouri pou konpare depans yo
infracost diff –chemen . –sync-usage-file –usage-file infracost-usage.yml
4. Ajoute CI/CD
Ou kapab kounye a itilize Infracost la Entegrasyon CI/CD pou ajoute otomatikman kòmantè demann rale, ki montre ou diferans estimasyon pri. Sa a pral ba ou tou yon rezo sekirite, ki pèmèt ekip yo diskite sou enpak sou pri chanjman yo kòm yon pati nan workflow yo.
Itilizasyon
Jounal infracost
CLI gen kòmandman prensipal sa yo:
breakdown
: montre pann konplè nan depans yodiff
: montre diferans depans chak mwa ant eta aktyèl ak eta ki te planifye
Sèvi ak yon fichye konfigirasyon Infracost si repo ou a gen plizyè pwojè Terraform oswa espas travay. Rezilta yo pral konbine nan menm pann oswa pwodiksyon diff.
Itilizasyon avanse
Infracost tou gen plizyè metòd itilizasyon avanse ki ka itilize anplis metòd itilizasyon regilye yo. Metòd avanse sa yo ka itilize atravè yon dosye konfigirasyon Infracost tou.
Terraform Plan File
Infracost ka kouri kont yon dosye plan Terraform, ki vle di ou te deja kouri Terraform init.
Infracost jis kouri Terraformshow
nan ka sa a, sa vle di li pa mande pou kalifikasyon nwaj oswa --terraform-plan-flags
yo dwe mete.
CD chemen/pou/kòd
terraform init
terraform plan -out tfplan.binary
infracost breakdown –chemen tfplan.binary
infracost diff –chemen tfplan.binary
Eta Terraform
Si ou vle wè dekonpozisyon pri nan eta Terraform aktyèl la, ou ta dwe konnen la infracost breakdown
kòmand gen yon --terraform-use-state
drapo, ki ta itil nan ka sa a. Ou dwe deja kouri Terraform apply
, Se konsa, Infracost jis kouri Terraform show
, ki pa mande pou nwaj kalifikasyon oswa --terraform-plan-flags
yo dwe mete.
infracost breakdown –chemen egzanp/terraform –terraform-use-state
Fichye JSON Eta Terraform
Ou ka kouri a infracost breakdown
kont yon dosye JSON eta Terraform. Sa a ta dwe [Fòma pwodiksyon JSON] nan eta a olye de reprezantasyon JSON entèn la. Li dwe pwodwi pa kouri terraform show -json
andedan yon pwojè Terraform, epi li itil espesyalman si ou vle wè dekonpozisyon pri nan eta Terraform aktyèl la. Nan ka sa a, sa vle di ou deja kouri Terraform apply
, sa vle di pa gen okenn kalifikasyon nwaj oswa --terraform-plan-flags
ki pral nesesè.
Ki nyaj ak resous ki sipòte?
Infracost sipòte plis pase 200 resous Terraform atravè AWS, Google, ak Azure, pandan ke lòt zouti IaC tankou Pulumi ak Cloudformation yo enkli nan plan wout la. Sipò pou nouvo resous yo toujou ap ajoute, kidonk li enpòtan pou tcheke repo a pou degaje yo.
konklizyon
Infracost se yon itil zouti pou devlopè yo, DevOps, SRE, ak lòt moun kap wè byen vit dekonpozisyon pri a epi konpare opsyon diferan davans. Li se tou yon bon chwa si w ap chèche entegre li ak CI ak / oswa bezwen sipò pou AWS ak Google Cloud. Si ou vle kreye pi bon kolaborasyon ant ekip ou a, Infracost ka ede tou nan sans sa a. Tout karakteristik sa yo fè li yon zouti ke ou ta dwe fòtman konsidere aplike pou estimasyon pri nwaj pou Terraform.
Kite yon Reply