Índice analítico[Ocultar][Mostrar]
Infracost é importante para DevOps, SRE e desenvolvedores que buscan estimar os custos na nube para proxectos de infraestrutura como código como Terraform. Con Infracost, podes ver rapidamente un desglose de custos mentres comparas diferentes opcións, o que axuda a obter mellores coñecementos antes dunha gran decisión.
Como funciona Infracost?
Infracost pode comprobar máis de 3 millóns de prezos escaneando o seu código Terraform e produce unha estimación de custos sinxela e fácil de ler antes de lanzar recursos.
Tamén podes usar Infracost para saber cales son as liñas de código que teñen o maior impacto no custo, xa que mapea o custo dos recursos nas túas solicitudes de extracción. Ao integrar Infracost no teu CI/CD, podes colaborar co teu equipo e permitir debates sobre o impacto dos cambios no teu fluxo de traballo existente.
Infracost funciona a través do seu servizo de backend da API de prezos da nube e, coa ferramenta CLI, pode analizar un plan Terraform en formato JSON. A API fai referencias cruzadas ao custo individual de cada recurso na nube en uso, así como aos seus parámetros de custo relacionados segundo o provedor da nube.
O programa non require ningunha credencial para funcionar, e non fai ningunha modificación en Terraform nin nos recursos analizados na nube. Ao utilizar o reconto de tipos de recursos de Terraform, a API garante que se contabilizan os novos recursos.
Existen dúas formas principais nas que Infracost mostra o desglose dos custos:
A) Desglose total de custos
B) Diferenza de custos mensuais entre o estado actual e o previsto
Iniciación a Infracost (paso a paso)
Siga esta guía paso a paso para instalar e comezar a usar Infracost:
1. Instala Infracost
O primeiro paso para comezar é instalar Infracost, pero primeiro xa debes ter Terraform instalado.
Aquí tes unha ollada ás diferentes versións de Infracost:
macOS Homebrew:
infracosto de instalación de brew
infracost –versión # Debería mostrar v0.9.7
manual de macOS:
# Descarga a CLI baseada no teu sistema operativo/arch e colócaa en /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Descarga a CLI baseada no teu sistema operativo/arch e colócaa en /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=ver_se_seguinte_paso_de_como_obter_isto \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/código/ infracosto/descomposición infracosto –ruta /código/
# Engade outras bandeiras/envs necesarios para Infracost ou Terraform
# Por exemplo, estes poden ser necesarios se está a usar AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Descarga e descomprime o ficheiro última versión. Execútao desde o símbolo do sistema ou Powershell usando .\infracost.exe --no-color
xunto con outros comandos/marcadores necesarios (a saída en cor ten un erro que debemos corrixir en Windows). Tamén debes mover o ficheiro exe a un cartafol que estea no teu PATH
variable de contorno, por exemplo C:\Windows
.
2. Obter unha clave API
O seguinte paso é rexistrarse para obter unha clave de API gratuíta, que a CLI usa para consultar a API de prezos da nube para tarefas como obter prezos para tipos de instancias.
Todos os sistemas operativos:
rexistro de infracostos
A chave está gardada en ~/.config/infracost/credentials.yml
.
3. Executa Infracost
Agora estás preparado para executar Infracost, que non fai ningún cambio no teu estado de Terraform nin nos recursos da nube. Podes executalo co proxecto Terraform proporcionado para probalo.
Todos os sistemas operativos:
git clone https://github.com/infracost/example-terraform.git
cd exemplo-terraform/mostra1
# Xoga con main.tf e volve executar para comparar custos
desglose de infracostos –ruta .
# Mostra a diferenza dos custos mensuais, edita o ficheiro yml e volve executalo para comparar os custos
infracosto diff –ruta . –sync-usage-file –usage-file infracost-usage.yml
4. Engadir a CI/CD
Agora podes usar o de Infracost Integracións CI/CD para engadir automaticamente comentarios de solicitude de extracción, que mostran as diferenzas de estimación de custos. Isto tamén che proporcionará unha rede de seguridade, que permitirá aos equipos discutir o impacto dos cambios no custo como parte do seu fluxo de traballo.
Uso
o infracost
A CLI ten os seguintes comandos principais:
breakdown
: mostra o desglose completo dos custosdiff
: mostra a diferenza dos custos mensuais entre o estado actual e o previsto
Use un ficheiro de configuración de Infracost se o seu repositorio ten varios proxectos ou espazos de traballo de Terraform. Os seus resultados combinaranse na mesma avaría ou saída diferencial.
Uso avanzado
Infracost tamén ten varios métodos de uso avanzados que se poden usar ademais dos métodos de uso habituais. Estes métodos avanzados tamén se poden usar a través dun ficheiro de configuración de Infracost.
Ficha de plano Terraform
Infracost pódese executar nun ficheiro de plan de Terraform, o que implica que xa executou Terraform init.
Infracost só executa Terraformshow
neste caso, o que significa que non require credenciais na nube ou --terraform-plan-flags
para definir.
ruta/a/código de cd
terraform init
terraform plan -out tfplan.binary
avaría de infracostos –ruta tfplan.binary
infracost diff –ruta tfplan.binary
Estado Terraform
Se queres ver o desglose dos custos do estado actual de Terraform, debes coñecer o infracost breakdown
o comando ten un --terraform-use-state
bandeira, que resultaría útil neste caso. Xa debes executar Terraform apply
, polo que Infracost só executa Terraform show
, que non require credenciais de nube ou --terraform-plan-flags
para definir.
desglose de infracostos –exemplos de camiños/terraform –terraform-use-state
Ficheiro JSON de estado de Terraform
Pode executar o infracost breakdown
contra un ficheiro JSON de estado de Terraform. Este sería o [formato de saída JSON] do estado en lugar da representación JSON interna. Debe xerarse executando terraform show -json
dentro dun proxecto de Terraform, e é especialmente útil se quere ver o desglose dos custos do estado actual de Terraform. Neste caso, implica que xa executas Terraform apply
, é dicir, sen credenciais na nube ou --terraform-plan-flags
son necesarios.
Que nubes e recursos son compatibles?
Infracost admite máis de 200 recursos Terraform en AWS, Google e Azure, mentres que outras ferramentas de IaC como Pulumi Formación de nubes están incluídos na folla de ruta. A compatibilidade con novos recursos engádese constantemente, polo que é importante comprobar as versións do repositorio.
Conclusión
Infracost é útil ferramenta para desenvolvedores, DevOps, SRE e outros que buscan ver rapidamente o desglose dos custos e comparar as diferentes opcións por adiantado. Tamén é unha boa opción se estás buscando integralo con CI e/ou necesitas soporte para AWS e Google Cloud. Se queres crear unha mellor colaboración entre o teu equipo, Infracost tamén pode axudar nese sentido. Todas estas características convértena nunha ferramenta que deberías considerar a implementación para estimacións de custos na nube para Terraform.
Deixe unha resposta