ce-get_cost_and_usage
Retrieve and analyze AWS cost and usage data across services, accounts, and custom dimensions for cost optimization, budgeting, and financial reporting.
Instructions
Retrieve comprehensive AWS cost and usage data with advanced filtering, grouping, and time-based analysis.
This tool provides detailed cost analysis across AWS services, accounts, and custom dimensions.
Essential for cost optimization, budgeting, chargeback reporting, and financial governance.
Supports multiple granularities, cost metrics, and complex filtering for precise analysis.
**Required Parameters:**
- profile_name (str): AWS profile name from ~/.aws/credentials
- region (str): AWS region (e.g., 'us-east-1') - Cost Explorer is global but requires region
- start (str): Start date in YYYY-MM-DD format (e.g., '2024-01-01')
- end (str): End date in YYYY-MM-DD format (e.g., '2024-01-31')
* Maximum 12 months range for daily data
* Maximum 12 months range for monthly data
* Maximum 1 week range for hourly data
**Optional Parameters:**
- granularity (str): Time granularity for cost breakdown. Default: 'MONTHLY'
* 'DAILY': Day-by-day cost breakdown (max 12 months)
* 'MONTHLY': Month-by-month cost breakdown (max 12 months)
* 'HOURLY': Hour-by-hour cost breakdown (max 1 week)
- group_by (List[Dict[str, str]]): Grouping dimensions for cost analysis
**Service Grouping:**
[{'Type': 'DIMENSION', 'Key': 'SERVICE'}] - Group by AWS service
**Account Grouping:**
[{'Type': 'DIMENSION', 'Key': 'LINKED_ACCOUNT'}] - Group by AWS account
**Geographic Grouping:**
[{'Type': 'DIMENSION', 'Key': 'REGION'}] - Group by AWS region
[{'Type': 'DIMENSION', 'Key': 'AVAILABILITY_ZONE'}] - Group by AZ
**Resource Grouping:**
[{'Type': 'DIMENSION', 'Key': 'INSTANCE_TYPE'}] - Group by EC2 instance type
[{'Type': 'DIMENSION', 'Key': 'USAGE_TYPE'}] - Group by usage type
[{'Type': 'DIMENSION', 'Key': 'OPERATION'}] - Group by operation
**Tag-based Grouping:**
[{'Type': 'TAG', 'Key': 'Environment'}] - Group by Environment tag
[{'Type': 'TAG', 'Key': 'Project'}] - Group by Project tag
[{'Type': 'TAG', 'Key': 'Owner'}] - Group by Owner tag
**Multiple Grouping:**
[{'Type': 'DIMENSION', 'Key': 'SERVICE'}, {'Type': 'TAG', 'Key': 'Environment'}]
- metrics (List[str]): Cost metrics to retrieve. Default: ['BlendedCost']
* 'BlendedCost': Cost after applying Reserved Instance and Savings Plans discounts
* 'UnblendedCost': On-demand cost without discounts
* 'NetBlendedCost': BlendedCost minus credits and refunds
* 'NetUnblendedCost': UnblendedCost minus credits and refunds
* 'UsageQuantity': Usage amount (hours, GB, requests, etc.)
* 'NormalizedUsageAmount': Usage normalized to equivalent units
- filter_expression (Dict[str, Any]): Advanced filtering for targeted analysis
**Service Filters:**
{'Dimensions': {'Key': 'SERVICE', 'Values': ['Amazon Elastic Compute Cloud - Compute']}}
**Account Filters:**
{'Dimensions': {'Key': 'LINKED_ACCOUNT', 'Values': ['123456789012']}}
**Region Filters:**
{'Dimensions': {'Key': 'REGION', 'Values': ['us-east-1', 'us-west-2']}}
**Tag Filters:**
{'Tags': {'Key': 'Environment', 'Values': ['production', 'staging']}}
**Complex Filters (AND/OR/NOT):**
{'And': [{'Dimensions': {'Key': 'SERVICE', 'Values': ['EC2']}}, {'Tags': {'Key': 'Environment', 'Values': ['production']}}]}
- next_page_token (str): Pagination token from previous response
* Use NextPageToken from previous call for large datasets
**Common Use Cases:**
1. **Monthly service breakdown:** granularity='MONTHLY', group_by=[{'Type': 'DIMENSION', 'Key': 'SERVICE'}]
2. **Daily cost trends:** granularity='DAILY', metrics=['BlendedCost']
3. **Environment cost analysis:** group_by=[{'Type': 'TAG', 'Key': 'Environment'}]
4. **EC2 cost optimization:** filter_expression={'Dimensions': {'Key': 'SERVICE', 'Values': ['Amazon Elastic Compute Cloud - Compute']}}
5. **Multi-account analysis:** group_by=[{'Type': 'DIMENSION', 'Key': 'LINKED_ACCOUNT'}]
6. **Regional cost comparison:** group_by=[{'Type': 'DIMENSION', 'Key': 'REGION'}]
**Response includes:** Time periods, cost amounts by specified metrics, grouping dimensions,
and metadata for comprehensive cost analysis and reporting.
**Best Practices:**
- Use monthly granularity for trend analysis
- Apply service filters to focus on specific cost areas
- Combine dimension and tag grouping for detailed insights
- Use pagination for large datasets
- Consider NetBlendedCost for accurate cost reporting
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile_name | Yes | ||
| region | Yes | ||
| start | Yes | ||
| end | Yes | ||
| granularity | No | MONTHLY | |
| group_by | No | ||
| metrics | No | ||
| filter_expression | No | ||
| next_page_token | No |