Kazalo[Skrij][Pokaži]
Infracost je pomemben za DevOps, SRE in razvijalce, ki želijo oceniti stroške oblaka za projekte infrastrukture kot kode, kot je Terraform. Z Infracostom lahko hitro vidite razčlenitev stroškov, medtem ko primerjate različne možnosti, kar pomaga pripeljati do boljših vpogledov pred veliko odločitvijo.
Kako deluje Infracost?
Infracost lahko preveri več kot 3 milijone cen s skeniranjem vaše kode Terraform in ustvari preprosto in lahko berljivo oceno stroškov, preden zaženete vire.
Infracost lahko uporabite tudi, če želite vedeti, katere vrstice kode imajo največji vpliv na stroške, saj preslika stroške na vire v vaših zahtevah za vleko. Z integracijo Infracost v vaš CI/CD lahko sodelujete s svojo ekipo in omogočite razprave o vplivu sprememb v vašem obstoječem delovnem toku.
Infracost deluje prek svoje zaledne storitve API za cene v oblaku, z orodjem CLI pa lahko razčlenite načrt Terraform v formatu JSON. API navzkrižno sklicuje posamezne stroške vsakega vira v oblaku, ki se uporablja, kot tudi njihove povezane stroškovne parametre na podlagi ponudnika oblaka.
Program za delovanje ne zahteva nobenih poverilnic in ne spreminja Terraforma ali analiziranih virov v oblaku. Z uporabo štetja vrst virov Terraform API zagotavlja upoštevanje novih virov.
Infracost prikazuje razčlenitev stroškov na dva glavna načina:
A) Popolna razčlenitev stroškov
B) Razlika v mesečnih stroških med trenutnim in načrtovanim stanjem
Kako začeti z Infracostom (korak za korakom)
Sledite tem navodilom po korakih, da namestite in začnete uporabljati Infracost:
1. Namestite Infracost
Prvi korak do začetka je namestitev Infracosta, vendar ga morate najprej že imeti Terraform nameščen.
Tukaj je pogled na različne različice Infracost:
macOS Homebrew:
brew install infracost
infracost – različica # Naj bo prikazana v0.9.7
priročnik za macOS:
# Prenese CLI na podlagi vašega OS/arch in ga vstavi v /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Prenese CLI na podlagi vašega OS/arch in ga vstavi v /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=glej_naslednji_korak_kako_dobiti_to \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/razčlenitev infracost –pot /code/
# Dodajte druge zahtevane zastave/envs za Infracost ali Terraform
# To so na primer morda potrebni, če uporabljate prevzeto vlogo AWS:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Prenesite in razpakirajte datoteko zadnja izdaja. Zaženite ga iz ukaznega poziva ali Powershell z uporabo .\infracost.exe --no-color
poleg drugih zahtevanih ukazov/zastavic (barvni izhod ima napako, ki jo moramo odpraviti v sistemu Windows). Prav tako morate premakniti datoteko exe v mapo, ki je v vašem PATH
spremenljivka okoljanpr C:\Windows
.
2. Pridobite ključ API
Naslednji korak je registracija za brezplačen ključ API-ja, ki ga CLI uporablja za poizvedbo v API-ju za cene v oblaku za opravila, kot je pridobivanje cen za vrste primerkov.
Vsi operacijski sistemi:
infrastroškovni register
Ključ je shranjen ~/.config/infracost/credentials.yml
.
3. Zaženite Infracost
Zdaj ste pripravljeni zagnati Infracost, ki ne spreminja vaših Terraform stanja ali virov v oblaku. Lahko ga zaženete s priloženim projektom Terraform, da ga preizkusite.
Vsi operacijski sistemi:
git klon https://github.com/infracost/example-terraform.git
cd primer-terraform/sample1
# Igrajte z main.tf in znova zaženite, da primerjate stroške
infracost razčlenitev – pot .
# Prikaži razliko mesečnih stroškov, uredite datoteko yml in jo znova zaženite za primerjavo stroškov
infracost diff –path. –sync-usage-file –usage-file infracost-usage.yml
4. Dodaj v CI/CD
Zdaj lahko uporabite Infracost CI/CD integracije za samodejno dodajanje komentarjev zahteve za vleko, ki vam pokažejo razlike v oceni stroškov. To vam bo zagotovilo tudi varnostno mrežo, ki bo skupinam omogočila, da razpravljajo o vplivu sprememb na stroške kot del njihovega delovnega toka.
Uporaba
O infracost
CLI ima naslednje glavne ukaze:
breakdown
: prikaži celotno razčlenitev stroškovdiff
: prikaz razlike med mesečnimi stroški med trenutnim in načrtovanim stanjem
Uporabite konfiguracijsko datoteko Infracost, če ima vaš repo več projektov ali delovnih prostorov Terraform. Njihovi rezultati bodo združeni v isti izhod razčlenitve ali razlike.
Napredna uporaba
Infracost ima tudi različne napredne metode uporabe, ki se lahko uporabljajo poleg običajnih načinov uporabe. Te napredne metode je mogoče uporabiti tudi prek konfiguracijske datoteke Infracost.
Datoteka načrta Terraform
Infracost je mogoče zagnati v datoteki načrta Terraform, kar pomeni, da ste že zagnali Terraform init.
Infracost samo poganja Terraformshow
v tem primeru, kar pomeni, da ne zahteva poverilnic v oblaku oz --terraform-plan-flags
nastaviti.
CD pot/do/kodo
terraform init
terraform načrt -out tfplan.binary
razčlenitev infracost –pot tfplan.binary
infracost diff –pot tfplan.binary
Terraformna država
Če želite videti razčlenitev stroškov trenutnega stanja Terraform, morate vedeti infracost breakdown
ukaz ima a --terraform-use-state
zastavo, ki bi se v tem primeru izkazala za uporabno. Terraform morate že zagnati apply
, zato Infracost samo poganja Terraform show
, ki ne zahteva poverilnic v oblaku oz --terraform-plan-flags
nastaviti.
infracost razčlenitev –primeri poti/terraform –terraform-use-state
Terraform State JSON datoteka
Lahko zaženete infracost breakdown
proti datoteki JSON stanja Terraform. To bi bil [izhodni format JSON] stanja namesto notranje predstavitve JSON. Ustvariti ga je treba s tekom terraform show -json
znotraj projekta Terraform in je še posebej uporaben, če želite videti razčlenitev stroškov trenutnega stanja Terraform. V tem primeru to pomeni, da že uporabljate Terraform apply
, kar pomeni brez poverilnic v oblaku oz --terraform-plan-flags
so obvezna.
Kateri oblaki in viri so podprti?
Infracost podpira več kot 200 Terraformnih virov v AWS, Google in Azure, medtem ko druga orodja IaC, kot so Pulumi in Oblikovanje oblakov so vključeni v načrt. Podpora za nove vire se nenehno dodaja, zato je pomembno, da preverite repo za izdaje.
zaključek
Infracost je v pomoč orodje za razvijalce, DevOps, SRE in drugi, ki želijo hitro videti razčlenitev stroškov in vnaprej primerjati različne možnosti. Prav tako je dobra izbira, če ga želite integrirati s CI in/ali potrebujete podporo za AWS in Google Cloud. Če želite ustvariti boljše sodelovanje med svojo ekipo, vam lahko pri tem pomaga tudi Infracost. Zaradi vseh teh funkcij je orodje, o katerem bi morali razmisliti o uvedbi za ocene stroškov v oblaku za Terraform.
Pustite Odgovori