Saturs[Paslēpt][Rādīt]
Infracost ir svarīga DevOps, SRE un izstrādātājiem, kuri vēlas novērtēt mākoņdatošanas izmaksas infrastruktūras kā koda projektiem, piemēram, Terraform. Izmantojot Infracost, varat ātri redzēt izmaksu sadalījumu, vienlaikus salīdzinot dažādas iespējas, kas palīdz gūt labāku ieskatu pirms liela lēmuma pieņemšanas.
Kā darbojas Infracost?
Infracost var pārbaudīt vairāk nekā 3 miljonus cenu, skenējot jūsu Terraform kodu, un tas sagatavo vienkāršu un viegli lasāmu izmaksu aprēķinu pirms resursu palaišanas.
Varat arī izmantot Infracost, lai uzzinātu, kurām koda rindām ir vislielākā izmaksu ietekme, jo tā piesaista izmaksas resursiem jūsu piesaistes pieprasījumos. Integrējot Infracost savā CI/CD, varat sadarboties ar savu komandu un iespējot diskusijas par izmaiņu ietekmi esošajā darbplūsmā.
Infracost darbojas, izmantojot Cloud Pricing API aizmugures pakalpojumu, un ar CLI rīku varat parsēt Terraform plānu JSON formātā. API sniedz savstarpējas atsauces uz katra izmantotā mākoņa resursa individuālajām izmaksām, kā arī ar tiem saistītajiem izmaksu parametriem, pamatojoties uz mākoņa pakalpojumu sniedzēju.
Programmas darbībai nav nepieciešami nekādi akreditācijas dati, un tā neveic nekādas izmaiņas Terraform vai analizētajos mākoņa resursos. Izmantojot Terraform resursu tipu skaitu, API nodrošina jaunu resursu uzskaiti.
Ir divi galvenie veidi, kā Infracost parāda izmaksu sadalījumu:
A) Pilns izmaksu sadalījums
B) Mēneša izmaksu atšķirība starp pašreizējo un plānoto stāvokli
Darba sākšana ar Infracost (soli pa solim)
Izpildiet šo soli pa solim sniegto rokasgrāmatu, lai instalētu un sāktu lietot Infracost:
1. Instalējiet Infracost
Pirmais solis, lai sāktu darbu, ir Infracost instalēšana, taču vispirms jums jau ir jābūt Terraform uzstādīta.
Šeit ir apskatītas dažādas Infracost versijas:
macOS Homebrew:
brew install infracost
infracost – versija # Jārāda v0.9.7
macOS rokasgrāmata:
# Lejupielādē CLI, pamatojoties uz jūsu OS/arch, un ievieto to mapē /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Lejupielādē CLI, pamatojoties uz jūsu OS/arch, un ievieto to mapē /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=skatiet_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/kods/ infraizmaksas/infraizmaksu sadalījums – ceļš /kods/
# Pievienojiet citus nepieciešamos karodziņus/envs Infracost vai Terraform
# Piemēram, tie var būt nepieciešami, ja izmantojat AWS uzņemšanās lomu:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Logi:
Lejupielādējiet un izpakojiet jaunākā versija. Palaidiet to no komandu uzvednes vai Powershell, izmantojot .\infracost.exe --no-color
līdzās citām nepieciešamajām komandām/karogiem (krāsu izvadē ir kļūda, kas mums ir jānovērš operētājsistēmā Windows). Jums vajadzētu arī pārvietot exe failu uz mapi, kas atrodas jūsu mapē PATH
vides mainīgais, piem C:\Windows
.
2. Iegūstiet API atslēgu
Nākamais solis ir reģistrēties bezmaksas API atslēgai, ko CLI izmanto, lai veiktu vaicājumu Cloud Pricing API tādiem uzdevumiem kā gadījumu tipu cenu iegūšana.
Visas operētājsistēmas:
infraizmaksu reģistrs
Atslēga ir saglabāta ~/.config/infracost/credentials.yml
.
3. Palaidiet Infracost
Tagad esat gatavs palaist Infracost, kas neveic nekādas izmaiņas jūsu Terraform stāvoklī vai mākoņa resursos. Varat to palaist ar sniegto Terraform projektu, lai to pārbaudītu.
Visas operētājsistēmas:
git klons https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# Spēlējiet ar main.tf un palaidiet vēlreiz, lai salīdzinātu izmaksas
infraizmaksu sadalījums – ceļš .
# Rādīt ikmēneša izmaksu starpību, rediģēt yml failu un atkārtoti palaist, lai salīdzinātu izmaksas
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Pievienot CI/CD
Tagad varat izmantot Infracost CI/CD integrācijas lai automātiski pievienotu izvilkšanas pieprasījuma komentārus, kas parāda izmaksu tāmes atšķirības. Tas arī nodrošinās jums drošības tīklu, kas ļaus komandām savā darbplūsmā apspriest izmaiņu ietekmi uz izmaksām.
Lietošana
Jūsu darbs IR Klientu apkalpošana infracost
CLI ir šādas galvenās komandas:
breakdown
: parādīt pilnu izmaksu sadalījumudiff
: parāda ikmēneša izmaksu starpību starp pašreizējo un plānoto stāvokli
Izmantojiet Infracost konfigurācijas failu, ja jūsu repo ir vairāki Terraform projekti vai darbvietas. To rezultāti tiks apvienoti vienā sadalījumā vai diferenciālā izvadē.
Papildu lietošana
Infracost ir arī dažādas uzlabotas lietošanas metodes, kuras var izmantot papildus parastajām lietošanas metodēm. Šīs uzlabotās metodes var izmantot arī, izmantojot Infracost konfigurācijas failu.
Terraforma plāna fails
Infracost var palaist, izmantojot Terraform plāna failu, kas nozīmē, ka jūs jau esat palaidis Terraform init.
Infracost tikai palaiž Terraformshow
šajā gadījumā tas nozīmē, ka nav nepieciešami mākoņa akreditācijas dati vai --terraform-plan-flags
jāiestata.
CD ceļš/uz/kodu
terraforma init
terraform plan -out tfplan.binary
infraizmaksu sadalījums – ceļš tfplan.binary
infracost diff – ceļš tfplan.binary
Terraform valsts
Ja vēlaties redzēt pašreizējā Terraform stāvokļa izmaksu sadalījumu, jums jāzina infracost breakdown
komandai ir a --terraform-use-state
karogu, kas šajā gadījumā būtu noderīgs. Jums jau ir jāpalaiž Terraform apply
, tāpēc Infracost vienkārši darbojas Terraform show
, kam nav nepieciešami mākoņa akreditācijas dati vai --terraform-plan-flags
jāiestata.
infraizmaksu sadalījums – ceļu piemēri/terraforma – terraformas lietošanas stāvoklis
Terraform State JSON fails
Jūs varat palaist infracost breakdown
pret Terraform valsts JSON failu. Tas būtu stāvokļa [JSON izvades formāts], nevis iekšējais JSON attēlojums. Tas jāģenerē, palaižot terraform show -json
Terraform projektā, un tas ir īpaši noderīgi, ja vēlaties redzēt pašreizējā Terraform stāvokļa izmaksu sadalījumu. Šajā gadījumā tas nozīmē, ka jūs jau palaižat Terraform apply
, kas nozīmē, ka nav mākoņa akreditācijas datu vai --terraform-plan-flags
ir nepieciešami.
Kuri mākoņi un resursi tiek atbalstīti?
Infracost atbalsta vairāk nekā 200 Terraform resursi AWS, Google un Azure, savukārt citi IaC rīki, piemēram Pulumi un Mākoņu veidošanās ir iekļauti ceļvedī. Atbalsts jauniem resursiem tiek pastāvīgi pievienots, tāpēc ir svarīgi pārbaudīt laidienu repo.
Secinājumi
Infracost ir noderīgs rīks izstrādātājiem, DevOps, SRE un citi, kas vēlas ātri redzēt izmaksu sadalījumu un iepriekš salīdzināt dažādas iespējas. Tā ir arī laba izvēle, ja vēlaties to integrēt ar CI un/vai nepieciešams atbalsts AWS un Google Cloud. Ja vēlaties izveidot labāku sadarbību starp savu komandu, Infracost var arī palīdzēt šajā ziņā. Visas šīs funkcijas padara to par rīku, kura ieviešanu Terraform mākoņdatošanas izmaksu aprēķinos ir ļoti svarīgi apsvērt.
Atstāj atbildi