Índice del contenido[Esconder][Espectáculo]
Infracost es importante para DevOps, SRE y desarrolladores que buscan estimar los costos de la nube para proyectos de infraestructura como código como Terraform. Con Infracost, puede ver rápidamente un desglose de costos mientras compara diferentes opciones, lo que ayuda a obtener mejores conocimientos antes de tomar una decisión importante.
¿Cómo funciona Infracosto?
Infracost puede verificar más de 3 millones de precios escaneando su código Terraform y produce una estimación de costos simple y fácil de leer antes de lanzar los recursos.
También puede usar Infracost para saber qué líneas de código tienen el mayor impacto en el costo, ya que asigna el costo a los recursos en sus solicitudes de incorporación de cambios. Al integrar Infracost en su CI/CD, puede colaborar con su equipo y permitir debates sobre el impacto de los cambios en su flujo de trabajo existente.
Infracost funciona a través de su servicio de back-end API de precios en la nube y, con la herramienta CLI, puede analizar un plan de Terraform en formato JSON. La API hace una referencia cruzada del costo individual de cada recurso de la nube en uso, así como de sus parámetros de costos relacionados según el proveedor de la nube.
El programa no requiere ninguna credencial para operar, y no realiza ninguna alteración a Terraform oa los recursos de la nube analizados. Al utilizar el recuento de tipos de recursos de Terraform, la API garantiza que se tengan en cuenta los nuevos recursos.
Hay dos formas principales en que Infracost muestra el desglose de los costos:
A) Desglose completo de costos
B) Diferencia de costos mensuales entre el estado actual y el planificado
Primeros pasos con Infracost (paso a paso)
Siga esta guía paso a paso para instalar y comenzar a usar Infracost:
1. Instalar Infracosto
El primer paso para comenzar es instalar Infracost, pero primero debe tener Terraform instalado.
Aquí hay un vistazo a las diferentes versiones de Infracost:
Cerveza casera de macOS:
infracosto de instalación de cerveza
infracost –version # Debe mostrar v0.9.7
manual de macOS:
# Descarga la CLI basada en su OS/arch y la coloca en /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Descarga la CLI basada en su OS/arch y la coloca en /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Estibador:
docker pull infracosto/infracosto
ventana acoplable ejecutar –rm \
-e INFRACOST_API_KEY=ver_siguiente_paso_sobre_cómo_obtener_esto \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY\
-v $PWD/:/código/infracosto/desglose de infracosto –ruta /código/
# Agregue otras banderas/envs requeridos para Infracost o Terraform
# Por ejemplo, estos pueden ser necesarios si está utilizando el rol asumido de AWS:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN\
# -e AWS_REGION=$AWS_REGION \
ventanas:
Descargue y descomprima el último lanzamiento. Ejecútelo desde el Símbolo del sistema o Powershell usando .\infracost.exe --no-color
junto con otros comandos/indicadores requeridos (la salida de color tiene un error que debemos corregir en Windows). También debe mover el archivo exe a una carpeta que esté en su PATH
Variable ambiental, p.ej C:\Windows
.
2. Obtenga una clave API
El siguiente paso es registrarse para obtener una clave de API gratuita, que la CLI usa para consultar la API de precios de la nube para tareas como obtener precios para tipos de instancias.
Todos los sistemas operativos:
registro de infraestructura
La clave se guarda en ~/.config/infracost/credentials.yml
.
3. Ejecute Infracosto
Ahora está listo para ejecutar Infracost, que no realiza ningún cambio en el estado de Terraform ni en los recursos de la nube. Puede ejecutarlo con el proyecto Terraform provisto para probarlo.
Todos los sistemas operativos:
clon de git https://github.com/infracost/example-terraform.git
cd ejemplo-terraform/sample1
# Juega con main.tf y vuelve a ejecutar para comparar costos
desglose de infraestructura –ruta .
# Muestre la diferencia de costos mensuales, edite el archivo yml y vuelva a ejecutar para comparar costos
diferencia de infracosto –ruta . –sincronizar-archivo-de-uso –archivo-de-uso infracost-usage.yml
4. Añadir a CI/CD
Ahora puede utilizar Infracost Integraciones CI/CD para agregar automáticamente comentarios de solicitud de extracción, que muestran las diferencias de estimación de costos. Esto también le proporcionará una red de seguridad, lo que permitirá a los equipos analizar el impacto de los cambios en los costos como parte de su flujo de trabajo.
Uso
El infracost
CLI tiene los siguientes comandos principales:
breakdown
: mostrar el desglose completo de los costosdiff
: muestra la diferencia de los costos mensuales entre el estado actual y el planificado
Utilice un archivo de configuración de Infracost si su repositorio tiene varios proyectos o espacios de trabajo de Terraform. Sus resultados se combinarán en el mismo desglose o resultado diferencial.
Uso avanzado
Infracost también tiene varios métodos de uso avanzados que se pueden usar además de los métodos de uso regulares. Estos métodos avanzados también se pueden utilizar a través de un archivo de configuración de Infracost.
Archivo de plano de Terraform
Infracost se puede ejecutar en un archivo de plan de Terraform, lo que implica que ya ha ejecutado Terraform init.
Infracost solo ejecuta Terraformshow
en este caso, lo que significa que no requiere credenciales de nube o --terraform-plan-flags
para ajustar.
cd ruta/a/código
inicio de terraformación
plan de terraformación -out tfplan.binary
desglose de infraestructura –ruta tfplan.binary
diferencia de infracosto –ruta tfplan.binary
Estado de terraformación
Si desea ver el desglose de costos del estado actual de Terraform, debe conocer el infracost breakdown
el comando tiene un --terraform-use-state
flag, que resultaría útil en este caso. Ya debe ejecutar Terraform apply
, por lo que Infracost solo ejecuta Terraform show
, que no requiere credenciales de nube ni --terraform-plan-flags
para ajustar.
desglose de infraestructura –ejemplos de rutas/terraformar –terraformar-usar-estado
Archivo JSON de estado de Terraform
Puede ejecutar el infracost breakdown
contra un archivo JSON de estado de Terraform. Este sería el [formato de salida JSON] del estado en lugar de la representación JSON interna. Debe generarse ejecutando terraform show -json
dentro de un proyecto de Terraform, y es especialmente útil si desea ver el desglose de costos del estado actual de Terraform. En este caso, implica que ya ejecuta Terraform apply
, lo que significa que no hay credenciales de nube o --terraform-plan-flags
son requeridos.
¿Qué nubes y recursos son compatibles?
Infracost admite más de 200 recursos de Terraformar en AWS, Google y Azure, mientras que otras herramientas de IaC como Pulumi y formación de nubes están incluidos en la hoja de ruta. Constantemente se agrega soporte para nuevos recursos, por lo que es importante consultar el repositorio para conocer las versiones.
Conclusión
Infracost es útil herramienta para desarrolladores, DevOps, SRE y otros que buscan ver rápidamente el desglose de costos y comparar diferentes opciones por adelantado. También es una buena opción si busca integrarlo con CI y/o necesita soporte para AWS y Google Cloud. Si desea crear una mejor colaboración entre su equipo, Infracost también puede ayudarlo en ese sentido. Todas estas características la convierten en una herramienta que debe considerar seriamente implementar para las estimaciones de costos de la nube para Terraform.
Deje un comentario