Infracost的VS Code扩展显示在编辑器中对Terraform的成本估算!在投入生产之前防止代价高昂的基础设施变更。 这有助于一些用例: 比较配置、实例类型、区域等:复制/粘贴代码块,进行更改并比较它们。 快速成本估算:编写代码块并获得成本估算,而无需使用AWS、Azure或谷歌成本计算器,也无需阅读冗长/复杂的定价网页。 捕捉代价高昂的拼写错误:如果不小心键入22而不是2作为实例计数,或者输入1000GB而不是100卷大小,成本估算将立即发现并通知。
背景
Infracost VS Code Extension是一个基于IaC(Infrastructure as Code)的成本估算工具,用于计算云端基础设施的成本。这个扩展程序可以与Visual Studio Code集成,提供即时的成本评估功能。
通过Infracost VS Code Extension,开发人员可以在编写基础设施代码时获得即时的成本估算信息。该扩展程序支持多个云服务提供商,包括AWS、Azure和Google Cloud等,能够分析代码中定义的资源配置,并根据当前云服务提供商的定价模型计算出相应的成本。这有助于开发人员在设计和部署基础设施时考虑成本因素,并在早期阶段就能够了解潜在的成本风险。
Infracost VS Code Extension具有用户友好的界面,可以显示每个资源的成本估算结果,并提供总体成本摘要。此外,它还支持生成成本报告,以便与团队成员或利益相关方共享。
特性
请参阅Terraform定义上方的成本估算。Infracost的输出更新文件保存。
前置条件
Infracost VS Code扩展需要你有:
- VS Code v1.67.0或更高版本。
- 在VS Code中安装并启用了Terraform VS Code扩展。
资源和模块集成在一起
支持资源块和模块块。第三方模块块也支持!
查看成本明细
如果简单的每月费用对来说还不够,请单击概述查看费用明细。
根据成本对项目进行导航
查看基础设施成本的树状概述。看看哪些项目、文件和块对你的预算影响最大。
实验
安装VS Code扩展
打开VS Code并安装Infracost extension.。 这也将安装Hashicorp Terraform extension扩展,如果你还没有它。
将VS Code连接到Infracost
一旦你安装了扩展,你需要将你的编辑器连接到你的Infracost帐户。点击Infracost侧边栏中的"连接到Infracost"按钮。
这将打开一个浏览器窗口,将能够登录到Infracost Cloud并验证的编辑器。如果这不起作用,请参阅故障排除部分。
使用扩展
如果正确地完成了前面的步骤,现在应该会看到Infracost边栏,其中显示了工作区中自动检测到的Terraform项目的成本。
创建Infracost配置文件
虽然Infracost VS Code扩展支持自动检测项目,但通常只建议启动和运行。为了让Infracost显示准确的项目成本,需要在工作区的根目录下添加一个Infracost配置文件。这定义了工作空间中的Terraform项目,以及Infracost应该如何处理它们。例如:
shell
version: 0.1
projects:
- path: dev
name: development
usage_file: dev/infracost-usage.yml
terraform_var_files:
- dev.tfvars
- path: prod
name: production
usage_file: prod/infracost-usage.yml
terraform_vars:
instance_count: 5
artifact_version: foobar
可以通过阅读专用文档来了解更多关于配置文件如何工作以及它支持哪些字段的信息。 在向工作空间添加配置文件时,必须将其放置在工作空间的根目录中,并将其命名为infracost。yml用于静态配置文件,infracost.yml.tmpl用于动态配置文件。
拉取请求的成本估算
Use our CI/CD integrations来为拉取请求添加成本估算。这为团队提供了一个安全网,因为人们可以提前了解云成本,并将其作为工作流程的一部分进行讨论。
总结
Infracost VS Code Extension是一个方便集成于Visual Studio Code的IaC成本估算工具。它能够实时计算云端基础设施的成本,并支持多个云服务提供商。开发人员可以通过该工具在代码编写阶段获得成本估算信息,帮助他们更好地考虑成本因素并及早发现潜在的成本风险。Infracost VS Code Extension提供用户友好的界面,显示每个资源的成本估算结果,并生成成本报告,方便团队成员或利益相关方共享。通过使用这个工具,开发人员能够更好地管理和优化云端基础设施的成本。