Skip to content

Instantly share code, notes, and snippets.

@r33drichards
Created January 20, 2026 08:19
Show Gist options
  • Select an option

  • Save r33drichards/e5dfa171cba6f1f07df0cd7e6bd0394d to your computer and use it in GitHub Desktop.

Select an option

Save r33drichards/e5dfa171cba6f1f07df0cd7e6bd0394d to your computer and use it in GitHub Desktop.
AWS Cost Analysis Report - January 2026

AWS Cost Analysis Report

Account: 2960-6259-3712 | Region: us-west-2 | Report Date: January 20, 2026


Executive Summary

Metric Value Change
Month-to-Date Cost $19,723.62 ↑ 26% vs same period last month
Forecasted Monthly Cost $29,517.71 ↑ 7% vs last month total
Last Month Total $27,547.09
Cost Anomalies (90 days) 20 detected $9,124.74 impact
Active Anomalies (MTD) 6 detected ⚠️ Requires attention

Cost Trend (Aug 2025 - Jan 2026)

Cost (USD)
    │
40K │
    │
    │                                    ┌────────┐
30K │                                    │████████│
    │                                    │████████│
    │                           ┌────────┤████████│
20K │                           │████████│████████│
    │                           │████████│████████│
    │                  ┌────────┤████████│████████│
10K │                  │▒▒▒▒▒▒▒▒│████████│████████│
    │  ┌──────┬──────┬─┤▒▒▒▒▒▒▒▒│████████│████████│
    │  │░░░░░░│░░░░░░│░│▒▒▒▒▒▒▒▒│████████│████████│
 0  └──┴──────┴──────┴─┴────────┴────────┴────────┴────
       Aug    Sep    Oct   Nov     Dec     Jan
       2025   2025   2025  2025    2025    2026

Legend: ░ Low spend  ▒ Medium spend  █ High spend

Key Observation: Costs increased dramatically starting November 2025, nearly tripling from October levels.


Cost Breakdown by Service

Primary Cost Drivers

Rank Service Estimated Monthly Cost % of Total
1 EC2 - Compute ~$18,000 - $22,000 ~65-70%
2 EC2 - Other (EBS, Transfer, IPs) ~$3,000 - $5,000 ~12-15%
3 Claude Sonnet 4.5 (Bedrock) ~$2,000 - $3,000 ~8-10%
4 Amazon VPC ~$500 - $1,000 ~3-4%
5 Claude Haiku 4.5 (Bedrock) ~$300 - $500 ~1-2%
6 Others ~$500 - $1,000 ~3-4%

Service Distribution

┌─────────────────────────────────────────────────────────────────────┐
│ EC2 Compute                                              ████████████████████████████████████  65%
│ EC2 Other (EBS/Transfer)                                 ██████████  15%
│ Bedrock (Claude Sonnet 4.5)                              █████  8%
│ VPC                                                      ██  4%
│ Bedrock (Claude Haiku 4.5)                               █  2%
│ Others                                                   ███  6%
└─────────────────────────────────────────────────────────────────────┘

EC2 Cost Deep Dive

What's in "EC2 - Compute"?

  • Running instance hours (On-Demand, Reserved, Spot)
  • Instance compute capacity

What's in "EC2 - Other"?

Component Typical Cost Driver
EBS Volumes Storage attached to instances
EBS Snapshots Backups of volumes
Data Transfer Outbound internet traffic, cross-region/AZ
Elastic IPs Unused EIPs ($3.65/month each if not attached)
NAT Gateway Data processing charges

Cost Anomalies Timeline

                     Anomaly Detection Timeline

Nov 2025  ──●────●────●────●────●────●────  6 anomalies
Dec 2025  ──●────●────●────●────●────●────●────●────  8 anomalies
Jan 2026  ──●────●────●────●────●────●────  6 anomalies (MTD)
              │
              └── Total Impact: $9,124.74

Likely Root Causes

🔴 High Priority Investigation

graph TD
    A[Cost Spike Nov 2025] --> B{What Changed?}
    B --> C[New EC2 Instances?]
    B --> D[Larger Instance Types?]
    B --> E[24/7 Running Instances?]
    B --> F[Data Transfer Spike?]

    C --> G[Check: aws ec2 describe-instances]
    D --> H[Check: Instance type distribution]
    E --> I[Check: Uptime vs business hours]
    F --> J[Check: CloudWatch network metrics]
Loading

Common Causes of EC2 Cost Spikes

Cause Likelihood How to Check
Forgotten dev/test instances ⭐⭐⭐⭐⭐ EC2 Console → Running instances
GPU instances left running ⭐⭐⭐⭐ Filter by instance type (p*, g*)
Auto-scaling gone wild ⭐⭐⭐ Check ASG desired vs actual capacity
Large EBS volumes ⭐⭐⭐ EC2 → Volumes → Sort by size
Cross-region data transfer ⭐⭐⭐ Cost Explorer → Group by Usage Type
NAT Gateway traffic ⭐⭐ VPC → NAT Gateways → CloudWatch

Recommended Actions

Immediate (This Week)

  • Review the 6 active cost anomalies - Click "View cost anomalies" in AWS Console
  • Audit running EC2 instances - Identify any that can be stopped/terminated
  • Check for GPU instances - These cost $1-30+/hour depending on type
  • Review unused Elastic IPs - Each unattached EIP costs ~$3.65/month

Short-term (This Month)

  • Enable Cost Allocation Tags - Tag resources by project/team/environment
  • Set up AWS Budgets - Get alerts before costs spike
  • Consider Reserved Instances - Save 30-60% on predictable workloads
  • Implement auto-stop for dev instances - Use Lambda + CloudWatch Events

AWS CLI Commands to Investigate

# List all running EC2 instances with their types and launch times
aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=running" \
  --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,LaunchTime,Tags[?Key==`Name`].Value|[0]]' \
  --output table

# Find large/expensive instance types
aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=running" \
  --query 'Reservations[*].Instances[*].[InstanceType]' \
  --output text | sort | uniq -c | sort -rn

# List EBS volumes sorted by size
aws ec2 describe-volumes \
  --query 'Volumes[*].[VolumeId,Size,State,VolumeType]' \
  --output table

# Find unattached EBS volumes (wasting money)
aws ec2 describe-volumes \
  --filters "Name=status,Values=available" \
  --query 'Volumes[*].[VolumeId,Size,CreateTime]' \
  --output table

# List Elastic IPs not attached to instances
aws ec2 describe-addresses \
  --query 'Addresses[?AssociationId==`null`].[PublicIp,AllocationId]' \
  --output table

Free Tier Alert

⚠️ You have exceeded 85% of Free Tier limits for 8 services.

This won't be a major cost driver given your spend level, but review these to avoid unexpected charges on smaller services.


Summary

Finding Impact Action
EC2 costs tripled since October ~$15K/month increase Audit running instances immediately
6 active cost anomalies Unknown Review in Cost Anomaly Detection
Bedrock usage growing ~$2-3K/month Review if usage is expected
No budget alerts set up Risk of surprise bills Configure AWS Budgets

Report generated from AWS Cost Explorer data. For detailed breakdown, use Cost Explorer with grouping by Instance Type, Usage Type, and Tags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment