Infracost er mikilvægt fyrir DevOps, SRE og forritara sem vilja áætla skýkostnað fyrir innviða-sem-kóða verkefni eins og Terraform. Með Infracost geturðu fljótt séð sundurliðun kostnaðar á meðan þú berð saman mismunandi valkosti, sem hjálpar til við að leiða til betri innsýnar áður en stór ákvörðun er tekin.
Hvernig virkar Infracost?
Infracost getur athugað yfir 3 milljónir verð með því að skanna Terraform kóðann þinn, og það framleiðir einfalt og auðlesið kostnaðaráætlun áður en þú setur úrræði í notkun.
Þú getur líka notað Infracost til að vita hvaða kóðalínur hafa mest kostnaðaráhrif þar sem það kortleggur kostnað við tilföng í dráttarbeiðnum þínum. Með því að samþætta Infracost inn í CI/CD þinn geturðu unnið með teyminu þínu og virkjað umræður um áhrif breytinga á núverandi vinnuflæði þínu.
Infracost vinnur í gegnum Cloud Pricing API bakendaþjónustuna sína og með CLI tólinu geturðu flokkað Terraform áætlun á JSON sniði. Forritaskilin vísar til einstaks kostnaðar fyrir hverja skýjaauðlind sem er í notkun, sem og tengdar kostnaðarbreytur þeirra byggðar á skýjaveitunni.
Forritið krefst ekki neinna skilríkja til að starfa og það gerir engar breytingar á Terraform eða greindum skýjaauðlindum. Með því að nota fjölda Terraform tilfangategunda tryggir API að ný tilföng séu tekin fyrir.
Það eru tvær megin leiðir sem Infracost sýnir sundurliðun kostnaðar:
A) Heildar sundurliðun kostnaðar
B) Mismunur á mánaðarlegum kostnaði milli núverandi og fyrirhugaðs ástands
Að byrja með Infracost (skref fyrir skref)
Fylgdu þessum skref-fyrir-skref leiðbeiningum til að setja upp og byrja að nota Infracost:
1. Settu upp Infracost
Fyrsta skrefið til að byrja er að setja upp Infracost, en þú verður fyrst að hafa það þegar Terraform uppsett.
Hér er að líta á mismunandi útgáfur af Infracost:
macOS Homebrew:
brew install infracost
infracost – útgáfa # Ætti að sýna v0.9.7
macOS handbók:
# Hleður niður CLI byggt á stýrikerfinu/archinu þínu og setur það í /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Hleður niður CLI byggt á stýrikerfinu/archinu þínu og setur það í /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Hafnarmaður:
docker pull infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=sjá_fylgja_skref_um_hvernig_á_fá_þetta \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost sundurliðun –slóð /kóði/
# Bættu við öðrum nauðsynlegum fánum / envs fyrir Infracost eða Terraform
# Til dæmis gæti þetta verið krafist ef þú ert að nota AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Hlaða niður og renna niður nýjasta útgáfan. Keyrðu það frá skipanalínunni eða Powershell með því að nota .\infracost.exe --no-color
ásamt öðrum nauðsynlegum skipunum/fánum (litafleiðsla er með villu sem við þurfum að laga á Windows). Þú ættir líka að færa exe skrána í möppu sem er í þínu PATH
umhverfisbreytanleg, td C:\Windows
.
2. Fáðu API lykil
Næsta skref er að skrá sig fyrir ókeypis API lykil, sem CLI notar til að spyrjast fyrir um Cloud Pricing API fyrir verkefni eins og að fá verð til dæmis tegundir.
Öll stýrikerfi:
infracost skrá
Lykillinn er vistaður í ~/.config/infracost/credentials.yml
.
3. Keyra Infracost
Nú ertu tilbúinn til að keyra Infracost, sem gerir engar breytingar á Terraform ástandinu þínu eða skýjaauðlindum. Þú getur keyrt það með meðfylgjandi Terraform verkefni til að prófa það.
Öll stýrikerfi:
git klón https://github.com/infracost/example-terraform.git
cd dæmi-terraform/sýnishorn1
# Spilaðu með main.tf og keyrðu aftur til að bera saman kostnað
infracost sundurliðun –leið .
# Sýndu mismunandi mánaðarlegan kostnað, breyttu yml skránni og keyrðu aftur til að bera saman kostnað
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Bæta við CI/CD
Þú getur nú notað Infracost's CI/CD samþættingar til að bæta sjálfkrafa við athugasemdum um dráttarbeiðni, sem sýna þér mun á kostnaðaráætlun. Þetta mun einnig veita þér öryggisnet, sem gerir teymum kleift að ræða kostnaðaráhrif breytinga sem hluta af vinnuflæði sínu.
Notkun
The infracost
CLI hefur eftirfarandi aðalskipanir:
breakdown
: sýna heildar sundurliðun kostnaðardiff
: sýna mun á mánaðarlegum kostnaði milli núverandi og áætlaðs ástands
Notaðu Infracost stillingarskrá ef endurhverfan þín hefur mörg Terraform verkefni eða vinnusvæði. Niðurstöður þeirra verða sameinaðar í sömu sundurliðun eða mismunandi framleiðslu.
Ítarlegri notkun
Infracost hefur einnig ýmsar háþróaðar notkunaraðferðir sem hægt er að nota til viðbótar við venjulegar notkunaraðferðir. Þessar háþróuðu aðferðir er einnig hægt að nota í gegnum Infracost stillingarskrá.
Terraform áætlunarskrá
Hægt er að keyra Infracost á móti Terraform áætlunarskrá, sem gefur til kynna að þú hafir þegar keyrt Terraform init.
Infracost keyrir bara Terraformshow
í þessu tilviki, sem þýðir að það þarf ekki skýjaskilríki eða --terraform-plan-flags
að vera sett.
cd slóð/til/kóði
terraform init
terraform plan -out tfplan.binary
infracost sundurliðun –path tfplan.binary
infracost diff –path tfplan.binary
Terraform ríki
Ef þú vilt sjá sundurliðun kostnaðar á núverandi Terraform ástandi, ættir þú að vita infracost breakdown
skipun hefur a --terraform-use-state
fána, sem kæmi sér vel í þessu máli. Þú verður nú þegar að keyra Terraform apply
, svo Infracost keyrir bara Terraform show
, sem krefst ekki skýjaskilríkja eða --terraform-plan-flags
að vera sett.
infracost sundurliðun – stígadæmi/terraform –terraform-use-state
Terraform State JSON skrá
Þú getur keyrt infracost breakdown
gegn Terraform ástand JSON skrá. Þetta væri [JSON úttakssnið] ríkisins í stað innri JSON framsetningar. Það verður að búa til með því að keyra terraform show -json
inni í Terraform verkefni, og það er sérstaklega gagnlegt ef þú vilt sjá sundurliðun kostnaðar á núverandi Terraform ástandi. Í þessu tilviki gefur það til kynna að þú hafir þegar keyrt Terraform apply
, sem þýðir engin skýjaskilríki eða --terraform-plan-flags
er krafist.
Hvaða ský og auðlindir eru studdar?
Infracost styður meira en 200 Terraform tilföng yfir AWS, Google og Azure, á meðan önnur IaC verkfæri eins og Pulumi og Skýjamyndun eru innifalin í vegáætlun. Stöðugt er verið að bæta við stuðningi við nýjar auðlindir, svo það er mikilvægt að athuga endurhverfan fyrir útgáfur.
Niðurstaða
Infracost er gagnlegt tól fyrir forritara, DevOps, SRE og aðrir sem vilja sjá kostnaðarsundrunina fljótt og bera saman mismunandi valkosti fyrirfram. Það er líka góður kostur ef þú ert að leita að því að samþætta það við CI og/eða þarft stuðning fyrir AWS og Google Cloud. Ef þú vilt skapa betra samstarf milli teymisins þíns getur Infracost einnig aðstoðað í þeim efnum. Allir þessir eiginleikar gera það að verkfæri sem þú ættir eindregið að íhuga að útfæra fyrir skýjakostnaðaráætlanir fyrir Terraform.
Skildu eftir skilaboð