Cuprins[Ascunde][Spectacol]
Infracost este important pentru DevOps, SRE și dezvoltatorii care doresc să estimeze costurile cloud pentru proiecte de infrastructură ca cod, cum ar fi Terraform. Cu Infracost, puteți vedea rapid o defalcare a costurilor în timp ce comparați diferite opțiuni, ceea ce ajută la obținerea unor informații mai bune înainte de o decizie importantă.
Cum funcționează Infracost?
Infracost poate verifica peste 3 milioane de prețuri prin scanarea codului dvs. Terraform și produce o estimare a costurilor simplă și ușor de citit înainte de a lansa resurse.
De asemenea, puteți utiliza Infracost pentru a ști ce linii de cod au cel mai mare impact asupra costurilor, deoarece mapează costul la resurse în cererile dvs. de extragere. Prin integrarea Infracost în CI/CD-ul dvs., puteți colabora cu echipa dvs. și puteți activa discuții despre impactul schimbărilor în fluxul dvs. de lucru existent.
Infracost funcționează prin serviciul său de backend API Cloud Pricing și, cu instrumentul CLI, puteți analiza un plan Terraform în format JSON. API-ul face referințe încrucișate la costul individual al fiecărei resurse cloud în uz, precum și la parametrii de cost aferenti acestora, în funcție de furnizorul de cloud.
Programul nu necesită acreditări pentru a funcționa și nu aduce modificări Terraform sau resurselor cloud analizate. Prin utilizarea numărului de tipuri de resurse Terraform, API-ul asigură că noile resurse sunt luate în considerare.
Există două moduri principale prin care Infracost arată defalcarea costurilor:
A) Defalcarea completă a costurilor
B) Diferența de costuri lunare între starea curentă și cea planificată
Noțiuni introductive despre Infracost (pas cu pas)
Urmați acest ghid pas cu pas pentru a instala și a începe să utilizați Infracost:
1. Instalați Infracost
Primul pas pentru a începe este să instalați Infracost, dar mai întâi trebuie să aveți deja Terraform instalat.
Iată o privire asupra diferitelor versiuni ale Infracost:
macOS Homebrew:
brew install infracost
infracost –versiunea # Ar trebui să arate v0.9.7
manual macOS:
# Descarcă CLI pe baza sistemului de operare/arch și îl pune în /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | SH
Linux:
# Descarcă CLI pe baza sistemului de operare/arch și îl pune în /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | SH
Docher:
docker pull infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=vedeți_următorul_pas_despre_cum_se_obține_acest_acest\
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/defalcare infracost –cale /cod/
# Adăugați alte steaguri/envs necesare pentru Infracost sau Terraform
# De exemplu, acestea ar putea fi necesare dacă utilizați AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Descărcați și dezarhivați fișierul ultima lansare. Rulați-l din promptul de comandă sau Powershell folosind .\infracost.exe --no-color
alături de alte comenzi/steaguri necesare (ieșirea de culoare are o eroare pe care trebuie să o reparăm pe Windows). De asemenea, ar trebui să mutați fișierul exe într-un folder care se află în dvs PATH
variabilă de mediu, de exemplu C:\Windows
.
2. Obțineți o cheie API
Următorul pas este să vă înregistrați pentru o cheie API gratuită, pe care CLI o folosește pentru a interoga API-ul Cloud Pricing pentru sarcini precum obținerea de prețuri pentru tipurile de instanțe.
Toate sistemele de operare:
registrul infracosturilor
Cheia este salvată în ~/.config/infracost/credentials.yml
.
3. Rulați Infracost
Acum sunteți gata să rulați Infracost, care nu aduce nicio modificare stării dvs. Terraform sau resurselor cloud. Îl puteți rula cu proiectul Terraform furnizat pentru a-l testa.
Toate sistemele de operare:
git clone https://github.com/infracost/example-terraform.git
cd exemplu-terraform/sample1
# Joacă cu main.tf și rulează din nou pentru a compara costurile
infracost breakdown –path .
# Afișați diferența de costuri lunare, editați fișierul yml și rulați din nou pentru a compara costurile
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Adăugați la CI/CD
Acum puteți folosi Infracost integrări CI/CD pentru a adăuga automat comentarii de solicitare de tragere, care vă arată diferențele de estimare a costurilor. Acest lucru vă va oferi, de asemenea, o rețea de siguranță, permițând echipelor să discute despre impactul schimbărilor asupra costurilor ca parte a fluxului lor de lucru.
Folosire
infracost
CLI are următoarele comenzi principale:
breakdown
: arată defalcarea completă a costurilordiff
: arată diferența costurilor lunare între starea actuală și cea planificată
Utilizați un fișier de configurare Infracost dacă depozitul dvs. are mai multe proiecte sau spații de lucru Terraform. Rezultatele lor vor fi combinate în aceeași defalcare sau ieșire diferită.
Utilizare avansată
Infracost are, de asemenea, diverse metode avansate de utilizare care pot fi utilizate în plus față de metodele obișnuite de utilizare. Aceste metode avansate pot fi utilizate și prin intermediul unui fișier de configurare Infracost.
Fișier Plan Terraform
Infracost poate fi rulat pe un fișier de plan Terraform, ceea ce înseamnă că ați rulat deja Terraform init.
Infracost doar rulează Terraformshow
în acest caz, ceea ce înseamnă că nu necesită acreditări cloud sau --terraform-plan-flags
a fi setat.
calea cd/la/cod
terraform init
terraform plan -out tfplan.binary
infracost breakdown –cale tfplan.binary
infracost diff –cale tfplan.binar
Stare Terraformă
Dacă doriți să vedeți defalcarea costurilor stării actuale Terraform, ar trebui să cunoașteți infracost breakdown
comanda are o --terraform-use-state
steag, care s-ar dovedi util în acest caz. Trebuie să rulați deja Terraform apply
, așa că Infracost rulează doar Terraform show
, care nu necesită acreditări cloud sau --terraform-plan-flags
a fi setat.
infracost breakdown –exemple de cale/terraform –terraform-use-state
Fișier JSON Terraform State
Puteți rula infracost breakdown
împotriva unui fișier JSON de stare Terraform. Acesta ar fi [formatul de ieșire JSON] al stării în loc de reprezentarea JSON internă. Trebuie generat prin rulare terraform show -json
în interiorul unui proiect Terraform și este util mai ales dacă doriți să vedeți defalcarea costurilor stării curente Terraform. În acest caz, înseamnă că rulați deja Terraform apply
, adică fără acreditări cloud sau --terraform-plan-flags
sunt necesare.
Ce nori și resurse sunt acceptate?
Infracost suportă mai mult decât 200 de resurse Terraform în AWS, Google și Azure, în timp ce alte instrumente IaC precum Pulumi și Formarea norilor sunt incluse în foaia de parcurs. Suportul pentru noi resurse este adăugat în mod constant, așa că este important să verificați depozitul pentru versiuni.
Concluzie
Infracost este de ajutor instrument pentru dezvoltatori, DevOps, SRE și alții care doresc să vadă rapid defalcarea costurilor și să compare diferite opțiuni în avans. Este, de asemenea, o alegere bună dacă doriți să o integrați cu CI și/sau aveți nevoie de asistență pentru AWS și Google Cloud. Dacă doriți să creați o colaborare mai bună între echipa dvs., Infracost vă poate ajuta și în acest sens. Toate aceste caracteristici îl fac un instrument pe care ar trebui să-l iei în considerare cu tărie implementarea pentru estimările costurilor cloud pentru Terraform.
Lasă un comentariu