Taula de continguts[Amaga][Espectacle]
Infracost és important per a DevOps, SRE i desenvolupadors que busquen estimar els costos del núvol per a projectes d'infraestructura com a codi com Terraform. Amb Infracost, podeu veure ràpidament un desglossament de costos mentre compareu diferents opcions, cosa que ajuda a obtenir millors coneixements abans d'una gran decisió.
Com funciona Infracost?
Infracost pot comprovar més de 3 milions de preus escanejant el vostre codi Terraform i produeix una estimació de costos senzilla i fàcil de llegir abans de llançar recursos.
També podeu utilitzar Infracost per saber quines línies de codi tenen el major impacte en els costos, ja que mapeja el cost als recursos a les vostres sol·licituds d'extracció. En integrar Infracost al vostre CI/CD, podeu col·laborar amb el vostre equip i permetre debats sobre l'impacte dels canvis en el vostre flux de treball existent.
Infracost funciona a través del seu servei de backend de l'API Cloud Pricing i, amb l'eina CLI, podeu analitzar un pla de Terraform en format JSON. L'API fa referència creuada al cost individual de cada recurs del núvol en ús, així com als seus paràmetres de cost relacionats en funció del proveïdor del núvol.
El programa no requereix cap credencial per funcionar, i no fa cap alteració a Terraform ni als recursos analitzats del núvol. Mitjançant el recompte de tipus de recursos de Terraform, l'API garanteix que es tinguin en compte els nous recursos.
Hi ha dues maneres principals en què Infracost mostra el desglossament dels costos:
A) Desglossament total de costos
B) Diferència de costos mensuals entre l'estat actual i l'estat previst
Com començar amb Infracost (pas a pas)
Seguiu aquesta guia pas a pas per instal·lar i començar a utilitzar Infracost:
1. Instal·leu Infracost
El primer pas per començar és instal·lar Infracost, però primer ja ho heu de tenir Terraform instal·lat.
Aquí teniu una ullada a les diferents versions d'Infracost:
macOS Homebrew:
infracost d'instal·lació de cervesa
infracost –versió # Hauria de mostrar la v0.9.7
manual de macOS:
# Baixa la CLI basada en el vostre sistema operatiu/arch i la posa a /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Baixa la CLI basada en el vostre sistema operatiu/arch i la posa a /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=vegeu_el_següent_pas_de_com_aconseguir_això \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/codi/ infracost/desglossament infracost –camí /codi/
# Afegiu altres banderes/envs necessaris per a Infracost o Terraform
# Per exemple, aquests poden ser necessaris si utilitzeu AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Descarrega i descomprimeix el última versió. Executeu-lo des del símbol del sistema o Powershell utilitzant .\infracost.exe --no-color
juntament amb altres ordres/marques necessàries (la sortida de color té un error que hem de solucionar a Windows). També hauríeu de moure el fitxer exe a una carpeta que hi ha al vostre PATH
variable d'entorn, per exemple C:\Windows
.
2. Obteniu una clau d'API
El següent pas és registrar-se per obtenir una clau d'API gratuïta, que la CLI utilitza per consultar l'API de preus del núvol per a tasques com obtenir preus per a tipus d'instàncies.
Tots els sistemes operatius:
registre d'infracostos
La clau està desada a ~/.config/infracost/credentials.yml
.
3. Executeu Infracost
Ara ja esteu preparat per executar Infracost, que no fa cap canvi a l'estat de Terraform ni als recursos del núvol. Podeu executar-lo amb el projecte Terraform proporcionat per provar-lo.
Tots els sistemes operatius:
git clone https://github.com/infracost/example-terraform.git
cd exemple-terraform/mostra1
# Juga amb main.tf i torna a executar per comparar costos
desglossament d'infracosts –ruta .
# Mostra la diferència de costos mensuals, edita el fitxer yml i torna a executar per comparar els costos
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Afegeix a CI/CD
Ara podeu utilitzar Infracost Integracions CI/CD per afegir automàticament comentaris de sol·licitud d'extracció, que us mostren les diferències d'estimació de costos. Això també us proporcionarà una xarxa de seguretat, que permetrà als equips discutir l'impacte dels canvis en els costos com a part del seu flux de treball.
Ús
El infracost
CLI té les ordres principals següents:
breakdown
: mostra el desglossament complet dels costosdiff
: mostra la diferència de costos mensuals entre l'estat actual i el previst
Utilitzeu un fitxer de configuració d'Infracost si el vostre dipòsit té diversos projectes o espais de treball de Terraform. Els seus resultats es combinaran en el mateix desglossament o sortida de diferència.
Ús avançat
Infracost també té diversos mètodes d'ús avançats que es poden utilitzar a més dels mètodes d'ús habituals. Aquests mètodes avançats també es poden utilitzar mitjançant un fitxer de configuració d'Infracost.
Fitxa de plànol Terraform
Infracost es pot executar amb un fitxer de pla de Terraform, la qual cosa implica que ja heu executat Terraform init.
Infracost només executa Terraformshow
en aquest cas, és a dir, no requereix credencials al núvol o --terraform-plan-flags
per definir.
ruta/a/codi del cd
terraform init
terraform pla -out tfplan.binary
desglossament de l'infracost –ruta tfplan.binary
infracost diff –camí tfplan.binary
Estat Terraform
Si voleu veure el desglossament de costos de l'estat actual de Terraform, hauríeu de conèixer el infracost breakdown
l'ordre té a --terraform-use-state
bandera, que seria útil en aquest cas. Ja heu d'executar Terraform apply
, de manera que Infracost només executa Terraform show
, que no requereix credencials al núvol o --terraform-plan-flags
per definir.
desglossament d'infracost –exemples de ruta/terraform –terraform-use-state
Fitxer JSON d'estat de Terraform
Podeu executar el programa infracost breakdown
contra un fitxer JSON d'estat de Terraform. Aquest seria el [format de sortida JSON] de l'estat en lloc de la representació JSON interna. S'ha de generar executant terraform show -json
dins d'un projecte de Terraform, i és especialment útil si voleu veure el desglossament de costos de l'estat actual de Terraform. En aquest cas, implica que ja executeu Terraform apply
, és a dir, sense credencials al núvol o --terraform-plan-flags
són obligatoris.
Quins núvols i recursos són compatibles?
Infracost suporta més de 200 recursos Terraform a AWS, Google i Azure, mentre que altres eines IaC com Pulumi i Formació de núvols estan inclosos en el full de ruta. El suport per a recursos nous s'afegeix constantment, per la qual cosa és important comprovar les versions del repo.
Conclusió
Infracost és útil eina per a desenvolupadors, DevOps, SRE i altres que busquen veure ràpidament el desglossament dels costos i comparar diferents opcions per endavant. També és una bona opció si voleu integrar-lo amb CI i/o necessiteu suport per a AWS i Google Cloud. Si voleu crear una millor col·laboració entre el vostre equip, Infracost també us pot ajudar en aquest sentit. Totes aquestes característiques la converteixen en una eina que hauríeu de considerar fermament implementar per a les estimacions de costos del núvol per a Terraform.
Deixa un comentari