AWSのOSSリポジトリのコストを簡単に概算!Cost Analysis MCP Serverの活用方法
はじめに
Fusicのレオナです。AWSが公開しているOSSの一部として「AWS MCP Servers」があります。このリポジトリでは、AWSの開発ワークフローに沿ったベストプラクティスを直接取り入れるために設計された、専用のMCP(Model Context Protocol)サーバー群が紹介されています。これらのMCPサーバーは、AWSドキュメントの検索、CDKにおけるベストプラクティスの実装、コスト分析、画像生成など、さまざまなタスクに対応します。
今回は、コスト分析が可能なCost Analysis MCP Serverを使ってみます。
(2025年4月21日時点の情報になります。)
MCP: Model Context Protocol とは
Anthropicが公開したIntroducing the Model Context Protocolから引用すると、MCPは複数のシステムに散在するデータを統一的に管理するためのオープンスタンダードです。コンテンツリポジトリ、業務用ツール、開発環境など、さまざまなデータソース間で、安全かつ効率的に情報をやりとりする手法となります。
MCPのGeneral architectureについて
- Host:
- Claude Desktop や VS Code, Cursor,Windsurf,ClineなどのLLMを搭載した全体のアプリケーションを指す
- MCP Client:
- サーバーと1:1の接続部分であり、サーバーとの通信を維持するクライアント
- MCP Server:
- 標準化されたModel Context Protocolを通じて特定の機能を提供するプログラム
- Local Data Sources:
- MCP サーバーが安全にアクセスできるローカルのファイルやサービス
- Remote Services
- MCPサーバーが接続できる、インターネット上で利用可能な外部システム(例:API経由でアクセスできるものなど)
今回のCost Analysis MCP Serverは、この仕組みの中で Remote Servicesに該当します。
Cost Analysis MCP Serverの概要
Cost Analysis MCP Server は、APIを通じてAWS利用料金の内訳を自動で見積もり、グラフなどで可視化してくれるMCPサーバーです。
主な機能
- AWSコストの分析・可視化:
- サービス、リージョン、課金階層ごとにAWS利用料金の詳細内訳を取得
- 各サービス間でコストがどのように分散しているかを可視化
- 自然言語によるコスト照会:
- 複雑なクエリ言語不要で、自然言語でAWSコストを質問可能
- AWS公式価格ページやPricingAPIからコストを取得
- コストレポートとインサイトの生成
- IaC実装に基づいたコストレポートを自動生成
- コスト最適化のための具体的な提案
https://github.com/awslabs/mcp/blob/main/src/cost-analysis-mcp-server/README.md#featuresより
実際に使ってみる
AWSがOSSとして公開しているGenerative AI Use Casesを例にコスト分析を行います。
Generative AI Use Casesは、AWS上で動くオープンソースの生成AI機能が使えるWebアプリケーションです。また本Webアプリをすぐにデプロイすることができ、LLMを使ったチャット、RAGや文章要約、校正などの機能が試せます。
導入
今回は、Macの環境になります。MCP Host に Claude Desktop を、Cost Analysis MCP Serverには Python パッケージ兼プロジェクト管理ツール「uv」を、ローカルフォルダ読み取り用の Filesystem MCP Server には 「Node.js」をそれぞれ使用して設定を行います。各ツールのインストール方法やダウンロード先はリンク先の公式ページをご参照ください。
- ターミナルで
brew install uv
でuvをインストール - ターミナルで
uv python install 3.10
でPython 3.10版をインストール -
npm install -g @modelcontextprotocol/server-filesystem
でfilesystemをインストール - ターミナルで
git clone https://github.com/aws-samples/generative-ai-use-cases.git
を実行しGenerative AI Use Casesをクローンする - Claude Desktopを開き、メニューバーのClaude → 設定を開く
- 左サイドバーから「開発者」→「構成を編集」をクリック
- 表示された
claude_desktop_config.json
をクリックして開く - 以下の設定をペーストし、
"your-aws-profile"
と"own-generative-ai-use-cases-path"
を各自の環境に合わせて置き換え、保存する{ "mcpServers": { "awslabs.cost-analysis-mcp-server": { "command": "uvx", "args": ["awslabs.cost-analysis-mcp-server@latest"], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_PROFILE": "your-aws-profile" }, "disabled": false, "autoApprove": [] }, "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "own-generative-ai-use-cases-path" ], "env": {} } } }
- Claude Desktop を再起動し、画面上部の赤枠アイコンが表示されていれば設定完了
結果
待機時間を含め30分ほどでコスト分析のレポートと可視化データが生成されました。
質問文①
{Generative AI Use Casesのクローン先のパス}をCost Analysis MCP Serverを使って概算を教えてください。その際に、現在のcdk.jsonを参照してサービスをデプロイした時の全てのサービスの概算を教えて欲しいです。cdk.jsonでAmazon Bedrock KnowledgeBasesを有効にした場合と東京リージョンのときの概算を教えてください。
出力結果は 背景も含んで以下の通りにして
<背景の記載>
S3 : $4
Amazon Bedrock KnowledgeBases : $10
回答文①
〜MCPサーバーを使用するログ〜
AWS CDKプロジェクトの費用分析を行います。まず、プロジェクトの構造を確認し、デプロイされるサービスとその設定を分析しましょう。
まずはプロジェクトの構造を確認します:
CDK関連のファイルを探しましょう:
CDKのディレクトリ構造を確認します:
cdk.jsonの内容を確認します:
次にCDKプロジェクトの構造をさらに詳しく見ていきます:
RAG Knowledge Baseのスタックを確認します:
次にメインスタックの構成を確認します:
CDKプロジェクトの分析結果をもとに、AWS Cost Analysis MCPを使ってコスト概算を作成します。まず、東京リージョン(ap-northeast-1)のAmazon Bedrock KnowledgeBasesの価格情報を取得します:
次に、Amazon OpenSearch Serverlessの価格を取得します:
Amazon ESを試してみます:
次にS3の価格情報を取得します:
S3だけを抽出します。Standard tierの価格を確認します:
次に、Knowledge Basesのパターンと価格情報を取得します:
Amazon Bedrock Knowledge Basesの価格情報を取得します:
より具体的なコスト情報を取得します:
Amazon Bedrockの料金情報を取得します:
次にS3のコスト情報を取得します:
パターンを取得して、それを基に総合的なコスト概算を作成します:
これらの情報をもとに、Amazon Bedrock Knowledge Basesのコスト概算を計算します:
〜回答〜
上記の情報をもとに、総合的なコスト概算レポートを作成します:
AWS Generative AI Use Casesのコスト概算をお伝えします。generative-ai-use-casesプロジェクトをCDKを使ってデプロイした場合の月間コストについて、Amazon Bedrock KnowledgeBases有効化時と東京リージョンを前提に分析しました。
まず、背景情報をご確認ください:
S3 : $4
Amazon Bedrock KnowledgeBases : $10
詳細な分析を作成しました。以下のポイントが重要です:
主要コスト要素:
Amazon S3: 約$4/月
Amazon Bedrock KnowledgeBases: 約$482/月(OpenSearch Serverlessのコストが大部分)
Amazon Bedrock Foundation Models: 約$4/月
全体の月額コスト: 約$500/月
最適化ポイント:
OpenSearch ServerlessのOCU使用量の最適化(全体コストの96%以上)
効率的なドキュメント管理戦略
プロンプトエンジニアリングによるトークン使用量の削減
詳細な分析とコスト最適化の推奨事項については、添付のレポートをご確認ください。
14:55
AWS Generative AI Use Cases コスト概算レポート
背景の記載
S3 : 4$
Amazon Bedrock KnowledgeBases : 10$
詳細分析
このレポートでは、generative-ai-use-casesプロジェクトをCDK経由でデプロイした場合の月間コスト概算を提供します。分析は、Amazon Bedrock KnowledgeBasesを有効にした場合と東京リージョン(ap-northeast-1)での利用を前提としています。
使用されるサービス
CDK構成の分析により、以下のAWSサービスが使用されることが確認されました:
Amazon S3
Amazon Bedrock
Amazon OpenSearch Serverless
AWS Lambda
Amazon API Gateway
Amazon Cognito
Amazon CloudFront
その他のサポートサービス
主要コスト要素
1. Amazon S3
想定使用量:
月間ストレージ: 150 GB
月間リクエスト: PUT/POST 10,000件、GET 100,000件
概算月額:
ストレージ: $0.025/GB × 150GB = $3.75
PUT/POSTリクエスト: $0.0047/1,000リクエスト × 10 = $0.047
GETリクエスト: $0.0037/10,000リクエスト × 10 = $0.037
合計: $3.83/月
2. Amazon Bedrock KnowledgeBases
構成:
OpenSearch Serverless: 最低2 OCUs (検索用1、インデックス用1)
ドキュメント: 1,000件 (平均50KB)
日次クエリ: 100件
概算月額:
OCUコスト: $0.334/OCU時間 × 2 OCUs × 24時間 × 30日 = $481.00
S3ストレージ (ドキュメント): $0.025/GB × 50GB = $1.25
Titan Embeddings: $0.000029/1Kトークン × 1,000K = $0.029
合計: $482.28/月
注意: 実際の使用パターンによっては、このコストは大幅に削減できる可能性があります。例えば:
使用頻度が低い時間帯にOCUの数を減らす
ドキュメントの効率的なチャンキング戦略の実装
必要最小限のドキュメントのみをKnowledge Baseに保存
3. Amazon Bedrock Foundation Models
想定使用量:
日次リクエスト: 1,000件
平均入力: 1,000トークン/リクエスト
平均出力: 500トークン/リクエスト
概算月額:
入力トークン: $0.000042/1Kトークン × 30,000K = $1.26
出力トークン: $0.000168/1Kトークン × 15,000K = $2.52
合計: $3.78/月
4. その他のサービス
典型的なデプロイメントでの他のサービスのおおよその月額コスト:
AWS Lambda: $0.50 - $5.00
Amazon API Gateway: $1.00 - $5.00
Amazon Cognito: $0.00 - $2.00(ユーザー数による)
Amazon CloudFront: $1.00 - $5.00
CloudWatch Logs/Metrics: $1.00 - $3.00
その他合計: $3.50 - $20.00/月
合計コスト概算
標準使用パターンの合計月額コスト:
サービス 月額コスト Amazon S3 $3.83 Amazon Bedrock KnowledgeBases $482.28 Amazon Bedrock Foundation Models $3.78 その他サービス $10.00(平均) 合計 $499.89/月 コスト最適化の推奨事項
Amazon Bedrock KnowledgeBases
Knowledge Basesのコストが全体の96%以上を占めています。以下の最適化を検討することで、大幅なコスト削減が可能です:
OCU使用量の最適化:
使用率の低い時間帯のOCU数削減
スタンドバイレプリカの無効化(可用性とのトレードオフ)
使用パターンに基づいたインデックス作成とクエリOCUの調整
データ管理:
効率的なドキュメントのチャンキング戦略
古いドキュメントのライフサイクル管理
不要なデータのフィルタリング
検索効率:
ベクトル検索パターンの効率化
共通クエリの結果キャッシング
コンテキストサイズの縮小
Amazon Bedrock Foundation Models
プロンプトエンジニアリング:
トークン使用量を削減するプロンプト最適化
共通クエリのレスポンスキャッシング
モデル選択の最適化(コストと性能のバランス)
Amazon S3
ストレージ最適化:
古いデータのライフサイクルポリシー
非アクティブデータの低コストストレージクラスへの移行
データ圧縮技術の実装
結論
generative-ai-use-casesプロジェクトの主要コスト要因はAmazon Bedrock KnowledgeBasesで、特にOpenSearch Serverlessの継続的なOCU使用量がコストの大部分を占めています。標準デプロイメントでの月額コスト概算は約$500ですが、推奨される最適化戦略を実装することで、このコストは大幅に削減できる可能性があります。
実際のユースケースの要件と使用パターンに基づいてリソースを適切にサイジングし、定期的にコスト分析を行うことで、パフォーマンスを維持しながらコスト効率を向上させることができます。
質問文②
日次リクエスト: 1,000件
平均入力: 1,000トークン/リクエスト
平均出力: 500トークン/リクエスト でAmazon BedrockのClaude 3 Haiku
とClaude 3.5 Sonnetの計算を教えて
回答文②
Amazon Bedrock上でClaude 3 HaikuとClaude 3.5 Sonnetを使用した場合のコスト計算を行います。
## 前提条件
- 日次リクエスト: 1,000件
- 平均入力: 1,000トークン/リクエスト
- 平均出力: 500トークン/リクエスト
## 月間使用量の計算
- 月間リクエスト数: 1,000 × 30日 = 30,000リクエスト/月
- 月間入力トークン数: 30,000リクエスト × 1,000トークン = 30,000,000トークン = 30,000K トークン
- 月間出力トークン数: 30,000リクエスト × 500トークン = 15,000,000トークン = 15,000K トークン
## Claude 3 Haiku のコスト計算
東京リージョン(ap-northeast-1)での料金:
- 入力トークン: $0.00025 per 1K tokens
- 出力トークン: $0.00125 per 1K tokens
計算:
- 入力トークンコスト: $0.00025 × 30,000K = $7.50
- 出力トークンコスト: $0.00125 × 15,000K = $18.75
- **月間合計コスト: $26.25**
## Claude 3.5 Sonnet のコスト計算
東京リージョン(ap-northeast-1)での料金:
- 入力トークン: $0.0008 per 1K tokens
- 出力トークン: $0.0024 per 1K tokens
計算:
- 入力トークンコスト: $0.0008 × 30,000K = $24.00
- 出力トークンコスト: $0.0024 × 15,000K = $36.00
- **月間合計コスト: $60.00**
## 比較表
| モデル | 入力コスト | 出力コスト | 月間合計 |
|--------|-----------|-----------|----------|
| Claude 3 Haiku | $7.50 | $18.75 | **$26.25** |
| Claude 3.5 Sonnet | $24.00 | $36.00 | **$60.00** |
Claude 3.5 SonnetはClaude 3 Haikuに比べて約2.3倍のコストとなります。ただし、Claude 3.5 Sonnetの方が高度な推論能力を持っており、複雑なタスクではより良いパフォーマンスを発揮します。用途や品質要件に応じて適切なモデルを選択することをお勧めします。
質問文③
Claude 3 HaikuとClaude 3.5 Sonnetのコスト比較を可視化をしてください。
回答文③
コストの可視化を行います。Claude 3 HaikuとClaude 3.5 Sonnetのコスト比較を視覚的に表現します。
Claude 3 HaikuとClaude 3.5 Sonnetのコスト比較を視覚的に表示しました。このビジュアライゼーションでは、以下の情報を確認できます:
1. **月間合計コスト比較**:
- Claude 3 Haiku:$26.25/月
- Claude 3.5 Sonnet:$60.00/月
2. **入力・出力コストの内訳**:
- 両モデルとも出力トークンのコストが入力トークンより高い
- Claude 3.5 Sonnetは全体的にコストが高い
3. **使用パラメータと月間使用量**:
- 日次リクエスト数:1,000件
- 入力トークン:1,000トークン/リクエスト
- 出力トークン:500トークン/リクエスト
4. **単価情報**:
- 各モデルの入力・出力トークンの単価詳細
このビジュアライゼーションを通じて、コスト構造を把握し、使用目的に応じて適切なモデルを選択する際の参考にしていただけます。
最後に
本ブログでは、質問文を投げて約30分ほどで、Generative AI Use Casesプロジェクトの月間コスト概算レポートとインタラクティブな可視化データを自動生成できることが確認できました。具体的には、S3ストレージやAmazon Bedrock KnowledgeBases、などサービスごとの内訳を自然言語で照会し、詳細な金額を素早く取得できる点が大きな成果でした。さらに、Claude 3 HaikuとClaude 3.5 Sonnetのコスト比較では、それぞれの入力・出力トークンコストをグラフ化し、2つのLLMのコスト差異を視覚的に把握できたため、モデル選定の意思決定にも役立つと感じました。これらの結果を踏まえ、AWSの利用料を定量的に把握したい開発者やコスト管理担当者はもちろん、初めてAWSを触る方でも、手軽に料金見積もりと可視化を行い、そのままレポート資料や最適化施策につなげられるツールだと感じました。
Discussion