Infracostとはどんなツールか
Infracostは、Terraformプロジェクトのクラウドインフラコストをデプロイ前に見積もるCLIツールだ。AWS、Azure、GCPの1,100以上のリソースタイプに対応し、terraform planの出力からコスト計算を行う。
CI/CDパイプラインに組み込めば、プルリクエスト上にコスト差分が自動コメントされる。「このPRをマージすると月額コストが+$200になる」といった情報がレビュー段階で確認できる。
主な機能とFinOpsでの活用
- コストブレークダウン:
infracost breakdownで現在のインフラ全体のコスト内訳を表示 - コスト差分表示:
infracost diffで変更前後のコスト差分を計算 - CI/CD連携:GitHub、GitLab、BitbucketのPRにコストコメントを自動投稿
- 使用量ベース見積もり:S3のストレージ量やLambdaの実行回数など、使用量を指定した見積もりが可能
- FinOpsポリシーチェック:gp2→gp3の推奨など、コスト最適化のベストプラクティスを提案
- Infracost Cloud:チーム向けのダッシュボード、タグポリシー、ガードレール機能
インストールとAWSコストの見積もり方法
# macOS
brew install infracost
# Linux
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
# Docker
docker pull infracost/infracost
初回セットアップ:
infracost auth login
Terraformプロジェクトのコスト確認:
# 全体のコスト内訳
infracost breakdown --path /path/to/terraform
# 変更によるコスト差分
infracost diff --path /path/to/terraform
出力例:
Project: my-terraform-project
Name Monthly Qty Unit Monthly Cost
aws_instance.web
├─ Instance usage (t3.large) 730 hours $60.74
├─ root_block_device
│ └─ Storage (gp3) 50 GB $4.00
└─ ebs_block_device[0]
└─ Storage (gp3) 100 GB $8.00
OVERALL TOTAL $72.74
GitHub ActionsでのPRコスト表示
- name: Setup Infracost
uses: infracost/actions/setup@v3
with:
api-key: $
- name: Generate cost diff
run: |
infracost diff --path=. \
--format=json \
--out-file=/tmp/infracost.json
- name: Post PR comment
uses: infracost/actions/comment@v3
with:
path: /tmp/infracost.json
これにより、PRごとにコスト変動が自動で可視化される。
競合ツールとの比較
| ツール | 分析タイミング | 対象 | アプローチ | 料金 |
|---|---|---|---|---|
| Infracost | デプロイ前 | Terraform | CLI + CI/CD | 無料OSS + Cloud有料 |
| AWS Cost Explorer | デプロイ後 | AWS | コンソール | AWS利用料に含む |
| Env0 | デプロイ前後 | Terraform/Pulumi | プラットフォーム | 有料 |
| Spacelift | デプロイ前後 | Terraform/Pulumi | プラットフォーム | 有料 |
差別化ポイント:Infracostはデプロイ「前」にコストを把握できる点が最大の強み。AWS Cost Explorerはデプロイ後の分析ツールであり、予防的なコスト管理には向かない。Env0やSpaceliftはIaC自動化プラットフォームとしてコスト機能を含むが、既存のCI/CDに追加するだけで使えるInfracostの方が導入障壁が低い。
AWSインフラ管理ワークフローでの位置づけ
PulumiやTerraformでインフラを定義し、Infracostでコストを検証し、Steampipeでリソースを監査するという3段階のワークフローが構築できる。AI/MLワークロードではGPUインスタンスのコストが大きくなりがちなため、デプロイ前のコスト確認は特に重要だ。
まとめ:Infracostが向いているケース
Infracostは「Terraformを使っていて、コスト管理をシフトレフトしたい」チームに最適だ。導入はbrew installと数行のCI設定だけで完了し、既存のワークフローを壊さずにFinOpsを始められる。