コンテンツにスキップ

Claude Code に AWS コストを PR 上で試算させる

チェック

  • [ ] 本文を確認した
  • [ ] 概要を確認した
  • [ ] タグを確認した
  • [ ] inbox/ 直下へ移行した

概要

TerraformやECSタスク定義の変更に対して、Claude CodeでAWS月額コスト影響をPRコメントとして自動算出するMNTSQの取り組み。 既存のClaude Codeレビューとは別ワークフローに分け、対象パス、concurrency、プロンプト、GitHub CLI、Reusable Workflowを組み合わせている。 リポジトリ固有の文脈を自然言語で渡すことで、共通ワークフローを複数リポジトリへ展開している点が実務的。

本文

背景

AWS上のマルチテナント構成をTerraformで管理しており、インフラリソースやECSタスク定義のCPU・メモリ変更がPRとして上がる。 これまでは、料金表を手で見て試算するか、試算せずにマージするかになりがちだった。

Claude CodeによるPRレビューを既に導入していたため、コスト試算もPR上で自動化する流れになった。

実装方針

  • 既存のコードレビューワークフローとは別に、コスト試算用ワークフローを作る
  • Terraformに触れるPRだけで発火するように paths を絞る
  • レビューコメントとコスト試算コメントを混ぜない
  • concurrency groupを分け、レビューとコスト試算が互いにブロックしないようにする
  • Claude Code CLIを直接インストールし、プロンプトをファイル経由で渡す

プロンプトの骨子

  • gh pr diff でPR差分を取得する
  • 追加、変更、削除されるAWSリソースを特定する
  • 必要に応じて変更ファイルを読み、リソース設定値を確認する
  • リージョン別の料金を前提に月額コストを試算する
  • 結果をPRコメントとして投稿する

対象リソースとして、ECS Fargate、Lambda、EC2、RDS、ElastiCache、DynamoDB、S3、EBS、EFS、NAT Gateway、ALB/NLB、VPC Endpoint、OpenSearch、CloudWatch、CloudFront、WAFなどを列挙している。

横展開

Reusable Workflowを使い、共通の試算ロジックはテンプレートリポジトリに寄せる。 各リポジトリ側はCallerとして、タスク定義やTerraformの置き場所などの repo_context を自然言語で渡す。 これにより、構造解析ロジックをリポジトリごとに実装せず、プロンプト文脈で差分解釈を補助できる。

要点

  • LLMは「差分から影響リソースを読み取り、料金体系に照らして概算する」作業と相性がよい。
  • レビューとコスト試算は目的が違うため、ワークフローを分けるのが運用上きれい。
  • Reusable Workflowと自然言語のリポジトリ文脈を組み合わせると、全社展開しやすい。
  • PR上でコスト影響を見える化すると、マージ前にコスト判断ができる。

タグ

claude-code #aws #terraform #github-actions #cost-management #infrastructure