Sadržaj[Sakrij][Prikaži]
Infracost je važan za DevOps, SRE i programere koji žele procijeniti troškove oblaka za projekte infrastrukture kao koda kao što je Terraform. Uz Infracost, možete brzo vidjeti raščlambu troškova dok upoređujete različite opcije, što pomaže do boljeg uvida prije velike odluke.
Kako Infracost radi?
Infracost može provjeriti preko 3 miliona cijena skeniranjem vašeg Terraform koda i proizvodi jednostavnu i lako čitljivu procjenu troškova prije nego što pokrenete resurse.
Također možete koristiti Infracost da biste znali koje linije koda imaju najveći utjecaj na troškove jer mapira troškove resursima u vašim zahtjevima za povlačenjem. Integracijom Infracost-a u vaš CI/CD, možete sarađivati sa svojim timom i omogućiti diskusije o uticaju promjena u vašem postojećem toku rada.
Infracost radi preko svog Cloud Pricing API backend servisa, a pomoću CLI alata možete analizirati Terraform plan u JSON formatu. API unakrsno upućuje na pojedinačne troškove svakog resursa u oblaku koji se koristi, kao i na njihove povezane parametre troškova na osnovu dobavljača oblaka.
Program ne zahteva nikakve akreditive za rad, i ne pravi nikakve izmene na Terraformu ili analiziranim resursima u oblaku. Koristeći broj tipova Terraform resursa, API osigurava da se novi resursi računaju.
Postoje dva glavna načina na koja Infracost prikazuje raščlambu troškova:
A) Potpuna analiza troškova
B) Razlika mjesečnih troškova između trenutnog i planiranog stanja
Početak rada s Infracostom (korak po korak)
Slijedite ovaj vodič korak po korak da instalirate i počnete koristiti Infracost:
1. Instalirajte Infracost
Prvi korak za početak je instaliranje Infracost-a, ali prvo morate već imati Terraform instaliran.
Evo pogleda na različite verzije Infracost-a:
macOS Homebrew:
brew install infracost
infracost –verzija # Trebalo bi prikazati v0.9.7
macOS priručnik:
# Preuzima CLI na osnovu vašeg OS/arch i stavlja ga u /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Preuzima CLI na osnovu vašeg OS/arch i stavlja ga u /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=pogledajte_sljedeći_korak_kako_dobiti_ovo \
-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/
# Dodajte ostale potrebne zastavice/envs za Infracost ili Terraform
# Na primjer, ovo bi moglo biti potrebno ako koristite AWS preuzetu ulogu:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Preuzmite i raspakujte najnovije izdanje. Pokrenite ga iz komandne linije ili Powershell-a koristeći .\infracost.exe --no-color
uz ostale potrebne komande/zastavice (izlaz u boji ima grešku koju moramo popraviti na Windows-u). Također biste trebali premjestiti exe datoteku u mapu koja se nalazi u vašem PATH
varijabla okoline, npr C:\Windows
.
2. Nabavite API ključ
Sljedeći korak je registracija za besplatni API ključ, koji CLI koristi za ispitivanje Cloud Pricing API-ja za zadatke poput dobivanja cijena za tipove instance.
Svi operativni sistemi:
infracost registar
Ključ je sačuvan ~/.config/infracost/credentials.yml
.
3. Pokrenite Infracost
Sada ste spremni da pokrenete Infracost, koji ne pravi nikakve promene u vašem Terraform stanju ili resursima u oblaku. Možete ga pokrenuti s priloženim projektom Terraform da ga testirate.
Svi operativni sistemi:
git klon https://github.com/infracost/example-terraform.git
cd primjer-terraform/sample1
# Igrajte sa main.tf i ponovo pokrenite da uporedite troškove
infracost breakdown –path .
# Prikažite razliku mjesečnih troškova, uredite yml datoteku i pokrenite ponovo da uporedite troškove
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Dodajte u CI/CD
Sada možete koristiti Infracost CI/CD integracije da automatski dodate komentare zahtjeva za povlačenjem, koji vam pokazuju razlike u procjenama troškova. Ovo će vam također pružiti sigurnosnu mrežu, omogućavajući timovima da razgovaraju o utjecaju promjena na troškove kao dio svog toka posla.
upotreba
The infracost
CLI ima sljedeće glavne komande:
breakdown
: prikazati potpuni pregled troškovadiff
: prikazuje razliku mjesečnih troškova između trenutnog i planiranog stanja
Koristite konfiguracijsku datoteku Infracost ako vaš repo ima više Terraform projekata ili radnih prostora. Njihovi rezultati će biti kombinovani u istu raščlambu ili diff output.
Napredna upotreba
Infracost također ima razne napredne metode korištenja koje se mogu koristiti kao dodatak redovnim metodama korištenja. Ove napredne metode mogu se koristiti i putem Infracost konfiguracijske datoteke.
Terraform Plan File
Infracost se može pokrenuti prema datoteci Terraform plana, što implicira da ste već pokrenuli Terraform init.
Infracost upravo pokreće Terraformshow
u ovom slučaju, što znači da ne zahtijeva akreditive u oblaku ili --terraform-plan-flags
koje treba postaviti.
cd putanja/do/kod
terraform init
terraform plan -out tfplan.binary
infracost breakdown –path tfplan.binary
infracost diff –put tfplan.binary
Terraform State
Ako želite vidjeti analizu troškova trenutnog stanja Terraforma, trebali biste znati infracost breakdown
komanda ima a --terraform-use-state
zastavu, što bi se pokazalo korisnim u ovom slučaju. Već morate pokrenuti Terraform apply
, tako da Infracost samo pokreće Terraform show
, koji ne zahtijeva akreditive u oblaku ili --terraform-plan-flags
koje treba postaviti.
infracost breakdown –path examples/terraform –terraform-use-state
Terraform State JSON datoteka
Možete pokrenuti infracost breakdown
protiv Terraform State JSON fajla. Ovo bi bio [JSON izlazni format] stanja umjesto interne JSON reprezentacije. Mora se generirati pokretanjem terraform show -json
unutar Terraform projekta, a posebno je korisno ako želite vidjeti raščlanjivanje troškova trenutnog stanja Terraforma. U ovom slučaju, to implicira da već koristite Terraform apply
, što znači da nema akreditiva za oblak ili --terraform-plan-flags
su obavezni.
Koji su oblaci i resursi podržani?
Infracost podržava više od 200 Terraform resursa preko AWS-a, Google-a i Azure-a, dok drugi IaC alati poput Pulumi i Cloudformation uključeni su u mapu puta. Podrška za nove resurse se stalno dodaje, tako da je važno provjeriti repo za izdanja.
zaključak
Infracost je od pomoći alat za programere, DevOps, SRE i drugi koji žele brzo vidjeti analizu troškova i unaprijed uporediti različite opcije. Takođe je dobar izbor ako želite da ga integrišete sa CI i/ili vam je potrebna podrška za AWS i Google Cloud. Ako želite da stvorite bolju saradnju između vašeg tima, Infracost takođe može pomoći u tom pogledu. Sve ove karakteristike čine ga alatom za koji biste trebali ozbiljno razmisliti o implementaciji za procjene troškova oblaka za Terraform.
Ostavite odgovor