> Navigation: ← Tool Selection Guide | All Service Guides | Power Overview
What is AWS Compute?
Why Cost Optimization Matters
---
Primary Cost Drivers:
Cost Allocation Tags:
Get EC2 costs by instance type:
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_explorer", {
"operation": "getCostAndUsage",
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"granularity": "MONTHLY",
"group_by": "[{\"Type\": \"DIMENSION\", \"Key\": \"INSTANCE_TYPE\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
Analyze compute usage patterns:
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_explorer", {
"operation": "getCostAndUsage",
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"granularity": "DAILY",
"group_by": "[{\"Type\": \"DIMENSION\", \"Key\": \"USAGE_TYPE\"}]",
"metrics": "[\"UsageQuantity\", \"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
Get EC2 pricing information:
usePower("aws-cost-optimization", "awslabs.aws-pricing-mcp-server", "get_pricing", {
"service_code": "AmazonEC2",
"region": ["us-east-1", "us-west-2"],
"filters": [
{"Field": "instanceType", "Value": "m5.large", "Type": "EQUALS"},
{"Field": "tenancy", "Value": "Shared", "Type": "EQUALS"},
{"Field": "operating-system", "Value": "Linux", "Type": "EQUALS"}
]
})
Monitor EC2 utilization for cost correlation:
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/EC2",
"metric_name": "CPUUtilization",
"dimensions": [{"Name": "InstanceId", "Value": "i-1234567890abcdef0"}],
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z",
"period": 3600,
"statistics": ["Average", "Maximum"]
})
Create compute efficiency metrics:
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_data", {
"metric_data_queries": [
{
"id": "cpu_utilization",
"metric_stat": {
"metric": {
"namespace": "AWS/EC2",
"metric_name": "CPUUtilization",
"dimensions": [{"Name": "InstanceId", "Value": "i-1234567890abcdef0"}]
},
"period": 3600,
"stat": "Average"
}
},
{
"id": "cost_efficiency",
"expression": "cpu_utilization / 100"
}
],
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z"
})
---
Strategy Overview:
Implementation Steps:
1. Analyze current utilization:
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "compute_optimizer", {
"operation": "get_ec2_instance_recommendations"
})
2. Review recommendations:
3. Monitor post-optimization:
When to Upgrade Generations:
Analysis Commands:
// Check current instance generations in use
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_explorer", {
"operation": "getCostAndUsage",
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"granularity": "MONTHLY",
"group_by": "[{\"Type\": \"DIMENSION\", \"Key\": \"INSTANCE_TYPE\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
// Compare pricing between generations
usePower("aws-cost-optimization", "awslabs.aws-pricing-mcp-server", "get_pricing", {
"service_code": "AmazonEC2",
"region": ["us-east-1"],
"filters": [
{"Field": "instanceFamily", "Value": "General purpose", "Type": "EQUALS"}
]
})
Cost-Efficient Instance Families:
Family Selection Guidelines:
When to Use Reserved Capacity:
Analysis Commands:
// Check current Reserved Instance utilization
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "ri_performance", {
"operation": "get_reservation_utilization",
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"granularity": "MONTHLY",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
// Check Compute Savings Plans coverage
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "sp_performance", {
"operation": "get_savings_plans_coverage",
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"granularity": "MONTHLY",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
Automated Cost Controls:
Implementation Examples:
Cost-Effective Spot Usage:
Implementation Strategy:
// Monitor Spot price history for planning
usePower("aws-cost-optimization", "awslabs.aws-pricing-mcp-server", "get_pricing", {
"service_code": "AmazonEC2",
"region": ["us-east-1"],
"filters": [
{"Field": "marketoption", "Value": "Spot", "Type": "EQUALS"}
]
})
---
Problem Description:
Detection:
// Identify underutilized instances
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/EC2",
"metric_name": "CPUUtilization",
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z",
"period": 3600,
"statistics": ["Average"]
})
Solution:
Problem Description:
Detection & Solution:
Problem Description:
Detection & Solution:
---
Situation:
Analysis Approach:
// Step 1: Analyze current compute costs by instance type
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_explorer", {
"operation": "getCostAndUsage",
"start_date": "2024-10-01",
"end_date": "2024-11-01",
"granularity": "MONTHLY",
"group_by": "[{\"Type\": \"DIMENSION\", \"Key\": \"INSTANCE_TYPE\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
// Step 2: Get right-sizing recommendations
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "compute_optimizer", {
"operation": "get_ec2_instance_recommendations"
})
// Step 3: Analyze utilization patterns
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/EC2",
"metric_name": "CPUUtilization",
"start_time": "2024-10-01T00:00:00Z",
"end_time": "2024-11-01T00:00:00Z",
"period": 3600,
"statistics": ["Average", "Maximum"]
})
Solution Implementation:
Results:
Situation:
Analysis Approach:
// Analyze development environment usage patterns
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_explorer", {
"operation": "getCostAndUsage",
"start_date": "2024-10-01",
"end_date": "2024-11-01",
"granularity": "DAILY",
"group_by": "[{\"Type\": \"TAG\", \"Key\": \"Environment\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Tags\": {\"Key\": \"Environment\", \"Values\": [\"development\", \"staging\"]}}"
})
Solution Implementation:
Results:
---
Common Integration Patterns:
Cross-Service Optimization:
Analysis Commands:
// Analyze compute-related costs across services
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_explorer", {
"operation": "getCostAndUsage",
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"granularity": "MONTHLY",
"group_by": "[{\"Type\": \"DIMENSION\", \"Key\": \"SERVICE\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\", \"Amazon Elastic Block Store\", \"Amazon Elastic Load Balancing\"]}}"
})
---
Cost Metrics:
Usage Metrics:
Operational Metrics (via CloudWatch):
Budget Alerts:
// Monitor compute budget performance
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "budgets", {
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
Anomaly Detection:
// Set up anomaly monitoring for compute costs
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "cost_anomaly", {
"start_date": "2024-11-01",
"end_date": "2024-12-01",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Elastic Compute Cloud - Compute\"]}}"
})
Utilization Alerts:
// Monitor low utilization instances
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "describe_alarms", {
"alarm_name_prefix": "LowCPUUtilization",
"state_value": "ALARM"
})
Key Visualizations:
Implementation:
// Get existing compute dashboards
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "list_dashboards", {})
// Create custom compute cost dashboard
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_dashboard", {
"dashboard_name": "ComputeCostOptimization"
})
---
---
---
Service Code: AmazonEC2
Last Updated: January 6, 2026
Review Cycle: Quarterly