はじめに
前回の記事ではGitHub MCPサーバを使ってみるについてまとめた。
今回はAWSが提供している「Cost Analysis MCPサーバ
」を使ってみる。
このMCPサーバーを使うことで、AWSの利用コストを自然言語で分析・可視化できるようになる。
環境
Windows 11 Professional
WSL2 Ubuntu 24.04 LTS
Amazon Q Developer CLI
AWS CLI
Cost Analysis MCPサーバとは
Cost Analysis MCPサーバ
は、AWSのサービス利用コストを分析・可視化するためのMCPサーバである。主な機能は以下の通り。
機能
AWSコストの分析と可視化
- サービス、リージョン、階層ごとにAWSコストの詳細な内訳を表示
- 様々なサービス間でのコスト配分を理解
自然言語でのコストデータのクエリ
- 複雑なクエリ言語を必要とせず、平易な英語でAWSコストについて質問可能
- AWS PricingページやAWS Pricing APIからデータを取得して即座に回答
コストレポートと分析の生成
- IaC実装に基づいた包括的なコストレポートの生成
- コスト最適化の推奨事項提示
前提条件
- Astralから
uv
をインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.10
でPython 3.10をインストールAWSサービスにアクセスするためのAWS認証情報を設定
AWS Pricing APIにアクセスするための適切な権限を持つIAMロール/ユーザー
インストール方法
Amazon Q Developer CLIでのMCP設定
Amazon Q Developer CLIでMCPを設定するには、~/.aws/amazonq/mcp.json
ファイルに以下の設定を追加する。
{
"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": []
}
}
}
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
- "AWS_PROFILE": "your-aws-profile"
},
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
+ "AWS_PROFILE": "[AWS プロファイル]"
},
AWS認証について
Cost Analysis MCPサーバ
はAWS_PROFILE
環境変数で指定されたAWSプロファイルを使用する。指定がない場合、AWS設定ファイルの「default」プロファイルがデフォルトとして使用される。
指定したAWSプロファイルには、AWS Pricing APIにアクセスするための権限が必要となる。
MCPサーバは指定されたプロファイルを使用してboto3セッションを作成し、AWSサービスへの認証を行う。AWS IAM認証情報はローカルマシン上に保持され、厳密にAWSサービスへのアクセスにのみ使用される。
実際に使ってみる
Cost Analysis MCPサーバを設定したら、以下のような質問を試してみる。
「先月のEC2の使用コストを教えて」
Use AWS CLI
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Running aws cli command:
Service name: ce
Operation name: get-cost-and-usage
Parameters:
- Filter: {"Dimensions":{"Key":"SERVICE","Values":["Amazon Elastic Compute Cloud - Compute"]}}
- GroupBy: [{"Key":"SERVICE","Type":"DIMENSION"}]
- TimePeriod: {"End":"2025-04-01","Start":"2025-03-01"}
- Metrics: ["UnblendedCost"]
- Granularity: "MONTHLY"
Profile name: Billing-[アカウントID]
Region: us-east-1
Label: Get EC2 cost for last month
Using AWS CLI...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
🟢 Completed in 1.960s
2025年3月の EC2 使用コストは以下の通りです:
• サービス: Amazon Elastic Compute Cloud - Compute
• コスト: 0.0184590036 USD (約 0.02 USD)
• 通貨単位: USD
このコストは確定値であり、見積もりではありません。先月の EC2 インスタンスの使用コストは非常に少額だったよう
です。
「コスト最適化のためのおすすめを教えて」
コスト最適化のためのおすすめを提供します。「Billing-[アカウントID]」プロファイルで取得したコスト情報に基づいて
、以下の最適化案を検討してください:
## コスト分析結果
2025年3月のサービス別コスト内訳を確認したところ、以下のことがわかりました:
1. 最も高いコスト: Amazon S3 (約2.62 USD)
2. その他の主なコスト:
• EC2関連 (EC2-Other): 0.13 USD
• Elastic Load Balancing: 0.05 USD
• EC2 Compute: 0.02 USD
• Amazon VPC: 0.02 USD
• AWS WAF: 0.01 USD
## コスト最適化のおすすめ
1. S3ストレージの最適化:
• S3が最大のコスト要因なので、不要なデータの削除やライフサイクルポリシーの設定を検討
• アクセス頻度の低いデータをS3 Glacier/Deep Archiveに移行
• S3 Intelligent-Tieringの活用でアクセスパターンに基づいた自動最適化
2. EC2リソースの見直し:
• 使用率の低いインスタンスのサイズダウンまたは停止
• 開発/テスト環境の自動停止スケジュールの設定
• Savings PlansまたはReserved Instancesの検討
3. ロードバランサーの最適化:
• 不要なロードバランサーの削除
• Application Load Balancerを使用している場合、トラフィックが少なければNetwork Load Balancerへの変更を検
討
4. 全般的な推奨事項:
• AWS Budgetsを設定して予算アラートを作成
• タグ付けを徹底し、コスト配分を明確化
• AWS Cost Explorerで定期的なコスト分析を実施
現在のコスト構造では、S3ストレージの最適化が最も効果的な節約につながる可能性が高いです。詳細な分析と具体的な
アクションプランを作成するには、S3バケットの詳細情報やEC2インスタンスの使用状況などの追加情報が必要ですが、
現在のBillingプロファイルではそれらのリソースへのアクセス権限がないようです。
より詳細な最適化提案が必要な場合は、EC2やS3などのリソースへのアクセス権限を持つプロファイルでの分析をお勧め
します。
参考
AWSのOSSリポジトリのコストを簡単に概算!Cost Analysis MCP Serverの活用方法
https://zenn.dev/fusic/articles/4300dd35615f89AWS MCPサーバーでTerraformコードを分析しコスト見積もりと構成図を自動生成してみた
https://dev.classmethod.jp/articles/aws-mcp-server-terraform-cost-analysis-diagram/AWS MCP Servers - Cost Analysis MCP Server
https://awslabs.github.io/mcp/servers/cost-analysis-mcp-server/Model Context Protocol Documentation
https://modelcontextprotocol.info/docs/quickstart/user/AWS Pricing API Documentation
https://docs.aws.amazon.com/pricing/Amazon Q Developer
https://aws.amazon.com/jp/q/developer/awslabs/mcp GitHub Repository
https://github.com/awslabs/mcp
おわりに
Cost Analysis MCPサーバ
を使用することで、AWSのコスト分析を自然言語で簡単に行うことができる。
Slackとかと連携させてコストがどれくらいかかっているかをメンバーが把握できるようになると面白そうか?
今後もAWSはMCPサーバの種類を増やしていく予定のようなので、引き続き注目していきたい。