💰

AWS MCPサーバでクラウドのコスト分析を劇的に効率化する方法

に公開

はじめに

https://qiita.com/advent-calendar/2025/genda

株式会社GENDA Platform Engineering部 SRE/インフラエンジニアの大澤です。
全組織横断で、各プロダクトに伴奏しながら、日々クラウド環境の最適化・管理、開発者の生産性向上につながる取り組みをしています。

皆さんは、AWS環境のコスト分析をどのように行っていますか? 今回は、AWSから提供されているMCP(Model Context Protocol)サーバを使用し、AIエージェントと連携して効率良くコスト分析する方法をご紹介します。

背景と課題

従来、AWSのコスト分析は、マネジメントコンソールにログインして Cost Explorer を操作したり、AWS Pricing Calculator で手動で計算したりする必要がありました。
しかし、以下のような場面で手間がかかることが課題でした。

  • コストの現状把握: 「今月なぜ高いのか?」を分析する際、Cost Explorer の操作に習熟が必要。

  • 新規構築時の試算: IaC(Terraform/CDK)で構築する前に、構成案から迅速にコストを知りたい。

これらの作業を、自然言語でAIと対話しながら完結させるのが今回の狙いです。

使用するMCPサーバについて

MCP(Model Context Protocol)は、AIエージェントが外部ツールやデータと安全にやり取りするための共通規格です。今回はAWS公式から提供されている2つのMCPサーバを活用します。

Billing and Cost Management MCP サーバについて

AWSのコスト管理と最適化を支援するためのMCPサーバ

■ 主なユースケース

  • AWSコストと使用状況の分析
  • 任意の期間のコスト比較
  • 将来のコスト予測
  • 新しいワークロードのコスト推定

→ AWSコンソールにアクセスすることなく、自然言語でコスト分析・比較・予測が可能

https://awslabs.github.io/mcp/servers/billing-cost-management-mcp-server/

AWS Pricing MCP サーバについて

AWSの AWS Price List API を実行し、料金情報を確認するためのMCPサーバ

■ 主なユースケース

  • CDKやTerraformなどのIaCのコードを元に、構築した場合のコストを予測
  • 特定のAWSリソースの見直しをする際の試算
  • 公式の料金を参照することができるので、より精度高く、見積もることができる

https://awslabs.github.io/mcp/servers/aws-pricing-mcp-server

→ AWS の AWS Pricing Calculator を使うことなく、自然言語でコスト分析・比較・予測が可能で、手元にあるIaCのコードの情報も考慮したコスト分析も可能

準備

以下の手順で環境を整えます。

  1. uvコマンドをインストール

  2. Pythonをインストール

  3. AWSクレデンシャルの設定( aws configure や aws sso login を完了させておく)

  4. mcp.json に設定を記述

※1 Billing and Cost Management MCP Server を利用する場合、使用する認証プロファイルに Cost Explorer へのアクセス権限が必要です。
※2 AWS_PROFILE と AWS_REGION はご自身の環境に合わせて書き換えてください。

mcp.json に記載する設定例 ① - Billing and Cost Management MCP Server -

{
  "mcpServers": {
    "awslabs.billing-cost-management-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.billing-cost-management-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile", 
        "AWS_REGION": "your-region"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

mcp.json に記載する設定例 ② - AWS Pricing MCP Server -

{
  "mcpServers": {
    "awslabs.aws-pricing-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.aws-pricing-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "your-region"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

実践:AIエージェントによるコスト分析

AWS からリリースされているAIエージェント「Kiro」を使用し、MCPサーバを有効化した状態で2つのパターンを試しました。

  • 特定のAWSアカウントの1ヶ月先のコスト予測

  • 新しくリソースを構築するときのコストの概算

今回は、2パターンの結果をMarkdownファイルに出力させてみました。
(内容は一部の抜粋となることをご了承ください)

特定のAWSアカウントの1ヶ月先のコスト予測

とあるアカウントに対して、1ヶ月先のコストを予測させるという例です。

Kiro に以下の指示を出しました。
今回は、コスト予測と削減や最適化の余地も分析するようにしてみました。

<対象のAWSアカウント名> のAWSアカウントの2025/12 月末のコスト予測をしてほしいです。

進めるにあたり下記を遵守してください

■ 遵守事項

- aws-pricing-mcp-server と billing-cost-management-mcp-server のMCPサーバを利用してください。

- ローカルの認証プロファイルは、xxxxxxxx を利用してください

- 利用している各AWSサービスごとの利用量を算出してください。

- コスト削減もしくは最適化の余地がある場合は、その箇所を提示してください。

- 結果は、ワークスペース内の/logs にmdファイルとしてまとめてください

■ 総コストの予測

## 📊 総コスト予測

### 予測コスト (USD)
- **予測値**: $******
- **予測範囲**: $****** - $******
- **信頼区間**: 80%

### 予測コスト (JPY) ※1USD=150円換算
- **予測値**: ¥******
- **予測範囲**: ¥****** - ¥******

■ サービス別コストの内訳
具体的に指示しなくても、消費の多いTop 10サービスを一覧化してくれました。

## 💰 サービス別コスト内訳 (2025年11月実績ベース)

### Top 10 コストサービス

| 順位 | サービス名 | 月額コスト (USD) | 月額コスト (JPY) | 構成比 |
|------|-----------|-----------------|-----------------|--------|
| 1 | Amazon RDS | $****** | ¥****** | 49.0% |
| 2 | Amazon ECS | $****** | ¥****** | 11.0% |


### その他のサービス

| サービス名 | 月額コスト (USD) | 月額コスト (JPY) |
|-----------|-----------------|-----------------|
| Amazon Cognito | $****** | ¥****** |
| Amazon ELB | $****** | ¥****** |
| AWS WAF | $****** | ¥****** |

■ コスト最適化の提案
RI(予約済みインスタンス)の検討や、開発環境のSingle-AZ化、gp3への変更など、具体的なアクションプランまで提示されました。これにより、コスト最適化に対する意思決定スピードが格段に向上します。

**現在のコスト**: $******/月 (¥******)

**最適化施策**:
- **Reserved Instances (RI) の検討**: 1年または3年のRIを購入することで、最大72%のコスト削減が可能
- **インスタンスサイズの見直し**: CloudWatchメトリクスでCPU/メモリ使用率を確認し、過剰なスペックがあれば適正サイズに変更
- **ストレージタイプの最適化**: 
  - 高IOPSが不要なDBはgp3に変更
  - 古いスナップショットの削除
- **Multi-AZ構成の見直し**: 開発/ステージング環境でMulti-AZが不要な場合はSingle-AZに変更

**期待効果**: 月額 $******-****** (¥******-******) の削減可能性

■ コスト削減の優先順位
コスト削減の方法に続いて、どの施策を優先するべきかも考慮の上、整理されました。

## 📈 コスト削減の優先順位

### 即座に実施可能 (1-2週間)
1. CloudWatch/CloudTrailのログ保持期間最適化
2. 不要なリソース(古いスナップショット、未使用EBS等)の削除
3. ECSタスクサイズの見直し

**期待削減額**: 月額 $******-****** (¥******-******)

### 短期施策 (1-2ヶ月)
1. RDS Reserved Instancesの購入検討
2. ECS Fargate Spotの導入
3. Compute Savings Plansの検討

**期待削減額**: 月額 $******-****** (¥******-******)

### 中長期施策 (3-6ヶ月)
1. サポートプランの見直し
2. アーキテクチャ全体の見直し

**期待削減額**: 月額 $******-****** (¥******-******)

新しくリソースを構築するときのコストの概算

Amazon RDS for SQL Server を新規構築する際のコストを試算させます。

Kiroに以下の指示を出しました。

<AWSアカウント名> のAWSアカウントにおいて、Amazon RDS for SQL Server を構築します。

その際の1ヶ月のコストについて、分析・試算してください。

また、このアカウントにおける、構築後のコスト予測もお願いします。

進めるにあたり下記を遵守してください

■ 条件

- 用途は開発環境

- インスタンスクラスは db.m5.large

- Performance Insights と 拡張モニタリングを有効化

- ストレージタイプは、汎用 SSD (gp3)

- プロビジョンド IOPSは、12000

- ストレージスループットは、750 MiBps

■ 遵守事項

- aws-pricing-mcp-server と billing-cost-management-mcp-server のMCPサーバを利用してください。

- ローカルの認証プロファイルは、xxxxxxxx を利用してください

- コストは日本円での算出としてください、

- Cost Optimization Hub と Compute Optimizer は使用せず、取得可能なコスト情報から分析してください。

- アカウント名に対応するローカルの認証プロファイルを確認し、mcp.json に記述されているプロファイル名を修正してください。

- AWSプロファイルを確認するときは、~/.aws/config から使用できるプロファイ情報を参照してください。

- 結果は、ワークスペース内の/logs にmdファイルとしてまとめてください

結果は以下の通りになりました。

■ コスト内訳
AWS Pricing API を参照しているため、時間単価まで正確に反映されています。

## コスト内訳 (USD)

### 1. データベースインスタンス料金

**db.m5.large Multi-AZ (License Included)**
- 時間単価: $2.114/時間
- 月額 (730時間): **$1,543.22**

> **注**: License Includedモデルを選択しているため、SQL Serverライセンス料金が含まれています。

### 2. ストレージ料金 (GP3)

**Multi-AZ GP3ストレージ**
- 単価: $0.276/GB-月
- 想定容量: 100GB (開発環境の一般的な初期容量)
- 月額: **$27.60**

> **注**: Multi-AZ構成のため、ストレージは2倍の料金となります(プライマリとスタンバイ)。

### 3. バックアップストレージ料金

**自動バックアップ**
- 単価: $0.095/GB-月 (無料枠超過分)
- 無料枠: プロビジョニングされたストレージと同容量まで無料
- 想定: 無料枠内で運用 (100GB以下)
- 月額: **$0.00**

> **注**: 自動バックアップは、プロビジョニングされたデータベースストレージと同じ容量まで無料です。

■ 月額コスト総計
実際に掛かることになるコストの総計が整理されました。
この情報を元に事前にコスト計画を立てやすくなりました。

| 項目 | 月額 (USD) | 月額 (JPY) |
|------|------------|------------|
| DBインスタンス (db.m5.large Multi-AZ) | $1,543.22 | ¥231,483 |
| ストレージ (GP3 100GB Multi-AZ) | $27.60 | ¥4,140 |
| バックアップストレージ | $0.00 | ¥0 |
| Performance Insights | $0.00 | ¥0 |
| 拡張モニタリング | $3.00 | ¥450 |
| **合計** | **$1,573.82** | **¥236,073** |

> **為替レート**: 1 USD = 150 JPY で計算

■ 検討事項の補足
追加で検討する可能性のある項目についても整理されました。
ライセンスモデルの選択、開発環境におけるAZの検討、RIやデータ転送料金の考慮などが提示されました。

```markdown
## コスト最適化の検討事項

### 1. ライセンスモデルの選択
現在の構成では **License Included** を使用していますが、既存のSQL Serverライセンスがある場合は **BYOL (Bring Your Own License)** を検討できます。

- **BYOL (customer-provided media)**: $0.738/時間 (Multi-AZ)
- **月額差額**: 約 $1,003/月の削減可能

### 2. 開発環境での Single-AZ 検討
開発環境で高可用性が必須でない場合、Single-AZ構成を検討できます。

- **Single-AZ (License Included)**: $1.057/時間
- **月額**: 約 $771.61
- **削減額**: 約 $771/月

### 3. ストレージ容量の最適化
実際の使用量に応じてストレージ容量を調整してください。
- 50GB: $13.80/月 (Multi-AZ)
- 200GB: $55.20/月 (Multi-AZ)

### 4. Reserved Instances (RI)
長期利用が確定している場合、Reserved Instancesの購入で最大40-60%のコスト削減が可能です。

---

## 追加で発生する可能性のあるコスト

### データ転送料金
- 同一リージョン内のAZ間転送: $0.01/GB
- インターネットへのアウトバウンド: $0.114/GB (最初の10TB)

### スナップショットのエクスポート
- S3へのエクスポート: 別途S3料金が発生

### IOPSの追加
- GP3のベースライン (3,000 IOPS) を超える場合: 追加料金

まとめ

AWS環境のコスト分析は、従来はCost ExplorerやAWS Pricing Calculatorを使う必要がありましたが、
MCPサーバを活用することで、より効率的に実施できるようになりました。

本記事では、以下の2つのMCPサーバを活用したコスト分析の実践例を紹介しました。

  1. Billing and Cost Management MCP Server

    • 既存のAWS環境のコスト分析
    • コスト予測
    • コスト最適化の提案
  2. AWS Pricing MCP Server

    • 新規構築時のコスト試算
    • 公式の料金情報を参照した精度の高い見積もり

実践例で得られた成果

1. コスト予測と最適化提案

  • 1ヶ月先のコスト予測を自動で実施
  • サービス別のコスト内訳を自動で整理
  • コスト削減の優先順位を自動で提案

2. 新規構築時のコスト試算

  • 構築前にコストを事前に把握
  • ライセンスモデルや構成の選択肢を考慮した試算
  • 追加で発生する可能性のあるコストも提示

MCPサーバを活用するメリット

  • 効率性: AWSコンソールにアクセスすることなく、自然言語でコスト分析が可能
  • 精度: AWS Pricing APIを直接参照することで、公式の料金情報を基にした試算が可能
  • 自動化: コスト分析から最適化提案まで、一連の流れを自動化できる
  • 再現性: 同じ手順で繰り返し分析できるため、定期的なコストレビューが容易

今後の展開

MCPサーバの活用によりコスト分析のハードルが下がることで、より多くのエンジニアが「コスト」という指標を武器に、最適なインフラ構築・運用に取り組めるようになると期待しています。

また、定期的なコストレビューを自動化することで、
継続的なコスト最適化につながることも期待できます。

GENDA

Discussion