The Day My AWS Bill Surprised Me on a Personal Side Project
You’ve probably seen those viral posts or tweets about someone accidentally racking up a massive AWS bill. Every cloud user fears such nightmare. Recently, while working on a side proejct, I had my own AWS billing surprise but not those viral stories. At least, it made me enough to pause and reflect on how to avoid such situations in the future.
Well it all began with a simple CRUD based side project. I wanted to enhance my skills and decided to deploy it on AWS. To keep costs low, I chosen EC2 ARM instance(T4g) running a lightweight gunicorn web server.
Pro tip: Trust me, if you are experimenting with your side project, I prefer to choose ARM instance to keep resource’s cost low. You will thank me later on :D
Everything seemed fine until i saw widget of bills at aws console.Previously, it was charged around 4-6 USD per month which was fine.

Monthly Billing Breakdown
Here’s how my AWS costs looked over the months.
- March: $4.61
- April: $6.05
- May: $6.41
Then came June 2025, and things took a turn.
June 2025
Service Category | Service Type | Amount |
---|---|---|
EC2 | Compute | $6.05 |
Virtual Private Cloud | VPC | $3.60 |
EC2 | Other | $7.73 |
S3 | Storage | $0.04 |
Total | $17.42 |
I figured out earlier in the first week of the june, as it was going to predict the pricing around $45 usd per month. This lead me to further dig deeper into the billing details.
Here’s what I discovered when I dug into the billing details:
{
"serviceCode": "AmazonEC2",
"usageType": "CPUCredits:t4g",
"operation": "T4GCPUCredits",
"location": "us-east-1",
"usageId": "xxxx",
"usageAccountId": ss,
"accountName": "xxx",
"group": "audit-group",
"quantity": {
"unit": "vCPU-Hours",
"amount": 133.60752300000001
},
"costSummary": {
"cost": 5.344300920000001,
"currency": "USD",
"status": "historical"
},
...
I initially retrieved this data using the AWS CLI and the Billing Dashboard in the AWS Console. However, it seems that this specific level of detail is no longer available, or perhaps I forgot the exact steps I took. Based on my research, you can still access similar data through AWS Cost Explorer. If you have any alternative methods or ideas to retrieve such historical billing details, feel free to share them!
The charges were for T4g CPU credits. T4g instances are burstable performance instances, meaning they operate at a baseline CPU level and use credits to handle spikes in demand. When the credits run out, AWS starts charging for additional usage. In my case, my application had consumed 133.6 vCPU-hours, resulting in a $5.34 charge.
The unexpected spike in traffic wasn’t something I had planned for. It wasn’t even a B2C (Business-to-Consumer) application. To address the issue, I decided to turn off unlimited mode for the instance.
What is Unlimited Mode? In unlimited mode, an instance that depletes its CPU credit balance can continue to burst beyond the baseline by spending surplus credits. While this ensures consistent performance during high-demand periods, it can lead to additional charges if the average CPU utilization over a 24-hour period exceeds the baseline.
For example, my instance was running in unlimited mode. With the unexpected traffic spike, the CPU utilization exceeded the baseline, and I incurred charges for surplus credits.
How I Fixed It
To prevent further charges, I turned off credit specification for the instance. By disabling unlimited mode, the instance would no longer spend surplus credits to burst beyond the baseline. This ensured that my costs remained predictable, even if it meant slightly reduced performance during traffic spikes.
Conclusion
AWS is an incredible platform, but it comes with its complexities. This experience was a wake-up call for me to better understand the services I use and to take proactive steps to manage costs.
If you’re new to AWS or cloud computing, I hope my story helps you avoid similar surprises. Do share your story, my DMs are open and love to hear. Thank you : D
📚 Enjoying this post?
Stay Updated!
Get notified whenever I publish new articles and updates on software engineering & DevOps
Written by

Aju Tamang
Software Engineer & DevOps Specialist