> Navigation: ← Tool Selection Guide | All Service Guides | Power Overview
What are AI Workloads on AWS?
Why Cost Optimization Matters
---
Primary Cost Drivers:
Cost Allocation Tags:
Get AI service costs by dimension:
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 SageMaker\", \"Amazon Bedrock\", \"Amazon Comprehend\", \"Amazon Textract\", \"Amazon Rekognition\"]}}"
})
Analyze SageMaker 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 SageMaker\"]}}"
})
Get AI service pricing information:
usePower("aws-cost-optimization", "awslabs.aws-pricing-mcp-server", "get_pricing", {
"service_code": "AmazonSageMaker",
"region": ["us-east-1", "us-west-2"],
"filters": [
{"Field": "instanceType", "Value": "ml.p3.2xlarge", "Type": "EQUALS"},
{"Field": "productFamily", "Value": "ML Instance", "Type": "EQUALS"}
]
})
Monitor GPU utilization for cost correlation:
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/SageMaker",
"metric_name": "GPUUtilization",
"dimensions": [{"Name": "EndpointName", "Value": "my-model-endpoint"}],
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z",
"period": 3600,
"statistics": ["Average", "Maximum"]
})
Create AI cost efficiency metrics:
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_data", {
"metric_data_queries": [
{
"id": "gpu_utilization",
"metric_stat": {
"metric": {
"namespace": "AWS/SageMaker",
"metric_name": "GPUUtilization",
"dimensions": [{"Name": "EndpointName", "Value": "my-model-endpoint"}]
},
"period": 3600,
"stat": "Average"
}
},
{
"id": "cost_per_inference",
"expression": "gpu_utilization / invocations"
}
],
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z"
})
---
Strategy Overview:
Implementation Steps:
1. Analyze training costs:
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": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"USAGE_TYPE\", \"Values\": [\"ML.Training\"]}}"
})
2. Implement Spot training:
3. Optimize instance selection:
When to Use Different Inference Options:
Analysis Commands:
// Check inference endpoint utilization
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/SageMaker",
"metric_name": "InvocationsPerInstance",
"dimensions": [{"Name": "EndpointName", "Value": "my-model-endpoint"}],
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z",
"period": 3600,
"statistics": ["Average", "Maximum"]
})
// Compare inference pricing options
usePower("aws-cost-optimization", "awslabs.aws-pricing-mcp-server", "get_pricing", {
"service_code": "AmazonSageMaker",
"region": ["us-east-1"],
"filters": [
{"Field": "productFamily", "Value": "ML Inference", "Type": "EQUALS"}
]
})
Cost-Efficient Model Strategies:
Implementation Examples:
Automated Cost Controls:
Implementation Examples:
// Monitor data transfer costs
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\": \"USAGE_TYPE\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"USAGE_TYPE\", \"Values\": [\"DataTransfer-Out-Bytes\", \"DataTransfer-In-Bytes\"]}}"
})
Token and Request Optimization:
Implementation Examples:
// Monitor Bedrock usage and costs
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": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon Bedrock\"]}}"
})
---
Problem Description:
Detection:
// Identify long-running training jobs
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/SageMaker",
"metric_name": "TrainingJobDuration",
"start_time": "2024-11-01T00:00:00Z",
"end_time": "2024-12-01T00:00:00Z",
"period": 3600,
"statistics": ["Average", "Maximum"]
})
Solution:
Problem Description:
Detection & Solution:
Problem Description:
Detection & Solution:
---
Situation:
Analysis Approach:
// Step 1: Analyze current training costs
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\": \"DIMENSION\", \"Key\": \"INSTANCE_TYPE\"}]",
"metrics": "[\"UnblendedCost\"]",
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon SageMaker\"]}}"
})
// Step 2: Check Spot pricing availability
usePower("aws-cost-optimization", "awslabs.aws-pricing-mcp-server", "get_pricing", {
"service_code": "AmazonSageMaker",
"region": ["us-east-1"],
"filters": [
{"Field": "instanceType", "Value": "ml.p3.8xlarge", "Type": "EQUALS"},
{"Field": "productFamily", "Value": "ML Instance", "Type": "EQUALS"}
]
})
// Step 3: Monitor training job efficiency
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/SageMaker",
"metric_name": "GPUUtilization",
"start_time": "2024-10-01T00:00:00Z",
"end_time": "2024-11-01T00:00:00Z",
"period": 3600,
"statistics": ["Average"]
})
Solution Implementation:
Results:
Situation:
Analysis Approach:
// Analyze endpoint utilization patterns
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_metric_statistics", {
"namespace": "AWS/SageMaker",
"metric_name": "InvocationsPerInstance",
"start_time": "2024-10-01T00:00:00Z",
"end_time": "2024-11-01T00:00:00Z",
"period": 3600,
"statistics": ["Average", "Sum"]
})
Solution Implementation:
Results:
---
Common Integration Patterns:
Cross-Service Optimization:
Analysis Commands:
// Analyze AI-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 SageMaker\", \"Amazon Bedrock\", \"Amazon S3\", \"Amazon EC2-Instance\"]}}"
})
---
Cost Metrics:
Usage Metrics:
Operational Metrics (via CloudWatch):
Budget Alerts:
// Monitor AI workload budget performance
usePower("aws-cost-optimization", "awslabs.billing-cost-management-mcp-server", "budgets", {
"filters": "{\"Dimensions\": {\"Key\": \"SERVICE\", \"Values\": [\"Amazon SageMaker\", \"Amazon Bedrock\"]}}"
})
Anomaly Detection:
// Set up anomaly monitoring for AI 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 SageMaker\", \"Amazon Bedrock\"]}}"
})
Utilization Alerts:
// Monitor low GPU utilization
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "describe_alarms", {
"alarm_name_prefix": "LowGPUUtilization",
"state_value": "ALARM"
})
Key Visualizations:
Implementation:
// Get existing AI dashboards
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "list_dashboards", {})
// Create custom AI cost dashboard
usePower("aws-cost-optimization", "awslabs.cloudwatch-mcp-server", "get_dashboard", {
"dashboard_name": "AICostOptimization"
})
---
---
---
Service Code: AmazonSageMaker, AmazonBedrock
Last Updated: January 6, 2026
Review Cycle: Quarterly