Pregled sadržaja[Sakriti][Pokazati]
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 uspoređujući različite opcije, što pomaže dovesti do boljih uvida prije velike odluke.
Kako Infracost radi?
Infracost može provjeriti više od 3 milijuna 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 saznali koji retki koda imaju najveći utjecaj na troškove budući da preslikava troškove na resurse u vašim zahtjevima za povlačenjem. Integracijom Infracost-a u vaš CI/CD, možete surađivati sa svojim timom i omogućiti rasprave o utjecaju promjena u vašem postojećem tijeku rada.
Infracost radi putem svoje pozadinske usluge API-ja za Cloud Pricing, a pomoću CLI alata možete analizirati Terraform plan u JSON formatu. API unakrsno uspoređuje pojedinačnu cijenu svakog resursa u oblaku koji se koristi, kao i njihove povezane parametre troškova na temelju pružatelja usluga oblaka.
Program ne zahtijeva nikakve vjerodajnice za rad i ne vrši nikakve izmjene na Terraformu ili analiziranim resursima u oblaku. Korištenjem broja vrsta Terraform resursa, API osigurava da se novi resursi uračunavaju.
Postoje dva glavna načina na koja Infracost prikazuje raščlambu troškova:
A) Potpuna raščlamba 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 biste instalirali i počeli 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 Infracosta:
macOS Homebrew:
brew instalirati infracost
infracost – verzija # Trebala bi prikazati v0.9.7
priručnik za macOS:
# Preuzima CLI na temelju 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 temelju vašeg OS/arch i stavlja ga u /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Lučki radnik:
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/raščlamba infracost –put /code/
# Dodajte ostale potrebne zastavice/envs za Infracost ili Terraform
# Na primjer, ovo bi moglo biti potrebno ako koristite AWS pretpostavku uloge:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Preuzmite i raspakirajte najnovije izdanje. Pokrenite ga iz naredbenog retka ili Powershell-a pomoću .\infracost.exe --no-color
uz ostale potrebne naredbe/zastavice (izlaz u boji ima bug koji moramo popraviti na Windowsima). 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 upit API-ja za cijene u oblaku za zadatke poput dobivanja cijena za vrste instanci.
Svi operativni sustavi:
infracost registar
Ključ je spremljen ~/.config/infracost/credentials.yml
.
3. Pokrenite Infracost
Sada ste spremni za pokretanje Infracosta, koji ne mijenja vaše stanje Terraforma ili resurse u oblaku. Možete ga pokrenuti s priloženim projektom Terraform kako biste ga testirali.
Svi operativni sustavi:
git klon https://github.com/infracost/example-terraform.git
cd primjer-terraform/sample1
# Igrajte se s main.tf-om i ponovno pokrenite za usporedbu troškova
infracost breakdown –path .
# Prikažite razliku mjesečnih troškova, uredite yml datoteku i ponovno pokrenite za usporedbu troškova
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Dodajte u CI/CD
Sada možete koristiti Infracost CI/CD integracije za automatsko dodavanje komentara zahtjeva za povlačenjem, koji vam pokazuju razlike u procjeni troškova. To će vam također pružiti sigurnosnu mrežu, omogućujući timovima da raspravljaju o učinku promjena na troškove kao dio svog radnog tijeka.
Upotreba
Korištenje električnih romobila ističe infracost
CLI ima sljedeće glavne naredbe:
breakdown
: prikazati potpunu analizu 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 se kombinirati u istu raščlambu ili diff output.
Napredna upotreba
Infracost također ima razne napredne metode korištenja koje se mogu koristiti uz uobičajene metode korištenja. Ove napredne metode mogu se koristiti i putem Infracost konfiguracijske datoteke.
Datoteka plana teraforme
Infracost se može pokrenuti prema datoteci Terraform plana, što znači da ste već pokrenuli Terraform init.
Infracost samo pokreće Terraformshow
u ovom slučaju, što znači da ne zahtijeva vjerodajnice u oblaku ili --terraform-plan-flags
biti postavljeno.
CD put/do/kod
terraform init
terraform plan -out tfplan.binarni
infracost breakdown –put tfplan.binarni
infracost diff –put tfplan.binarni
Terraformna država
Ako želite vidjeti raščlambu troškova trenutnog stanja Terraforma, trebali biste znati infracost breakdown
naredba 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 vjerodajnice u oblaku ili --terraform-plan-flags
biti postavljeno.
infracost breakdown –put primjeri/terraform –terraform-use-state
JSON datoteka Terraform State
Možete pokrenuti infracost breakdown
protiv Terraform State JSON datoteke. Ovo bi bio [JSON izlazni format] stanja umjesto internog JSON prikaza. Mora se generirati trčanjem terraform show -json
unutar Terraform projekta, a posebno je korisno ako želite vidjeti raščlambu troškova trenutnog stanja Terraforma. U ovom slučaju, to implicira da već pokrećete Terraform apply
, što znači da nema vjerodajnica u oblaku ili --terraform-plan-flags
su obvezne.
Koji su oblaci i resursi podržani?
Infracost podržava više od 200 Terraformni resursi na AWS, Google i Azure, dok drugi IaC alati poput Pulumi i Formiranje oblaka uključeni su u plan puta. Podrška za nove resurse se stalno dodaje, stoga 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 raščlambu troškova i unaprijed usporediti različite opcije. Također je dobar izbor ako ga želite integrirati s CI-jem i/ili trebate podršku za AWS i Google Cloud. Ako želite stvoriti bolju suradnju između svog tima, Infracost također može pomoći u tom pogledu. Sve te značajke čine ga alatom koji biste trebali ozbiljno razmotriti implementaciju za procjene troškova oblaka za Terraform.
Ostavi odgovor