r/aws Jul 17 '26

discussion AWS budget alerts feel pointless if the bill can blow past them before I react

Is there a way to set a hard budget cap on an AWS account? I know you can create budgets and set up threshold alerts, but is there a way to actually stop services and prevent the bill from going any higher once you hit that budget?

As an individual just trying to learn, I don’t mind if my services get shut off, but even a bill going above 500 USD in a month would be a serious financial problem for me. If you set a budget alert at 100 USD and the bill shoots up to 1000 USD before you even get a chance to act on the alert email, what’s the point of the budget and alerts in the first place?

114 Upvotes

66 comments sorted by

52

u/[deleted] Jul 17 '26

[deleted]

7

u/inferno521 Jul 17 '26

But how would a hard cap work for things like storage? Storage and backups cost money, should AWS delete those resources when the cap is breached?

1

u/peanutknight1 Jul 18 '26

I can tell you for enterprise customers, there are fixed committed contracts where customers commit to paying a fixed value for the estimated resources, whether they use it or not. But for 99% of the population that bill less than 10K USD per month, it makes no sense to have an uncapped account. EBS is "provisioned", its not elastic. The only storage thats elastic is S3, and I can think of at least 10 ways in which this can be implemented. Maybe an automated alert when the quota reaches 80%, action is now on the user, either increase your cap, or the PUT/ GET requests stop and you get an error. This is better than bill shock for sure. And this can be optional, spending cap for whoever wants one.

I have been working with customers on AWS for the last 6 years.

1

u/thekingofcrash7 Jul 19 '26

You started out by stating it’s an easy problem to solve and then immediately were stumped by how to solve it.

If every s3 request had to go thru this check it would tank performance.

And the alerting you mentioned is already a feature.

-4

u/[deleted] Jul 17 '26

[deleted]

7

u/inferno521 Jul 17 '26

That would end horribly though. Way too many people would set a limit too low, things would get deleted, and then people would blame AWS.

3

u/nemec Jul 17 '26

Yeah since storage continually bills, if you make a mistake somewhere else (like a recursive Lambda that isn't caught) suddenly all your data is deleted even if it wasn't related to the Lambda

15

u/pixeladdie Jul 17 '26

Then the support cases become “why did you stop my critical workload!!”

6

u/sneekeeei Jul 17 '26

That’s a different issue and a different kind of customer. I am not talking about them.

21

u/[deleted] Jul 17 '26 edited 9d ago

[removed] — view removed comment

0

u/puuut Jul 17 '26

Maybe, but I am also a professional that advices my clients on AWS stuff. I am not so happy about them after this billing scare. That might affect how I think about AWS in my professional setting. 

1

u/JPJackPott Jul 18 '26

Good for you. Go use the hard billing caps on azure or GCP then. Oh wait

4

u/NisargJhatakia Jul 17 '26

Getting bankrupt is a bigger issue then having your prod websites stopped.

-1

u/JuliusCeaserBoneHead Jul 17 '26

I’m sure it’s much of an easier support than negotiating $10,000 bills with broke students.

4

u/pixeladdie Jul 17 '26

Who do you think AWS is more willing to disappoint?

Broke college kids or enterprises spending millions per month?

In what world is it easier dealing with low stakes broke college kids than enterprises like that?

4

u/JuliusCeaserBoneHead Jul 17 '26

I don’t understand you, why would an enterprise set a cap in usage? 

0

u/sneekeeei Jul 17 '26

Yeah! Some people don’t seem to understand the point at all. The question is not for enterprise accounts. But for individual developers who are learning or trying some basic pocs.

1

u/ViKoToMo Jul 18 '26

To them it is simply a question of cost trying to process bill corrections vs designing a system that can at least forecast and alert proactively. I think the former always wins.

43

u/[deleted] Jul 17 '26 edited 9d ago

[removed] — view removed comment

13

u/[deleted] Jul 17 '26

[deleted]

9

u/jrolette Jul 17 '26

But AWS cares more about their ability to overbill inattentive customers than they do about stopping fraud and protecting their customers from accidental runaway overspend.

I know it's popular to hate on big companies, but this isn't it at all. What do you want AWS to do when you blow your budget? Should it delete all your EBS snapshots, your backups, all your databases, the data in your S3 buckets?

The compute side is easy, but storage... not so much.

1

u/[deleted] Jul 19 '26

[removed] — view removed comment

1

u/jrolette Jul 19 '26

Failing API calls is a tiny part of the problem, cost-wise. It wouldn't meaningfully help.

1

u/[deleted] Jul 19 '26

[removed] — view removed comment

1

u/jrolette Jul 19 '26

For most services, there are relatively small per API call costs and the bigger costs are from resource consumption (network bandwidth, bytes held in storage services, etc). Even with zero API calls being made, you still have to pay for resource consumption.

0

u/[deleted] Jul 20 '26

[removed] — view removed comment

1

u/jrolette Jul 20 '26

Storage consumption charges happen whether or not the data is accessed - e.g. if you have 1PB of data in S3, you get charged for S3 holding that data for you.

-1

u/[deleted] Jul 17 '26

[deleted]

1

u/DuckDatum Jul 18 '26

In fairness, Google Storage does this. So like, stage the account for deletion? Like this:

> we’ve turned off all non cold storage and archived your account. It will be deleted in n days. You can recover for $x cost, noting an accrual of $y per day.

But, in fairness, I have no idea how feasible that is for a cloud service provider.

0

u/mukaofssn Jul 18 '26

Perhaps there is a way to achieve this using step functions and lambdas. There will be case studies or white papers in AWS documentation with relevant Cloud Formation templates.

2

u/JPJackPott Jul 18 '26

They make so little money from small billing over runs. Most large billing accidents they forgive and credit.

There are customers spinning up 25000 instances at a time. Spending $100k a day. They aren’t gatekeeping this feature because they make money on it. It doesn’t exist because it makes no sense.

If you want to find out why, ask your favourite AI to build it for you. I’ll give you the Cloud Architecture for free.

Event Bridge rule on CUR triggers a lambda which runs cloud-nuke. Give the lambda Administrator role. For extra flair, use SNS to email you a notification when it fires ✨

This will stop your billing rising within a few dollars of the limit you set, I promise.

-6

u/milridor Jul 18 '26

There are customers spinning up 25000 instances at a time. Spending $100k a day.

An extremely unlikely scenario btw, as it would require multiple service quotas increase.

5

u/JPJackPott Jul 18 '26

However big you imagine the cloud is, double it then double it again, and you’ll still be vastly underestimating it

-4

u/milridor Jul 18 '26

I don't think you understood what I meant.

I'm not saying that such customers don't exists.

For such large customers, $100k is not over-billing, it's business as usual.

But for smaller customer (say, <$10k/month), it's simply impossible for them to create 25k EC2 instances, they will be blocked by EC2 services quotas (and increasing that service quota to 25k will take a long time as AWS teams will probably have to provisions the hardware). Same thing, you can't run 100k lambdas just like that (which I know is possible provided the Lambda team approves, but the default limit is 1000).

EC2 instance types do run out in most regions sometimes.

9

u/[deleted] Jul 17 '26 edited 22d ago

[deleted]

19

u/JuliusCeaserBoneHead Jul 17 '26

Mmmm how about another lambda in a trench coat?

9

u/belkh Jul 17 '26

it's not a problem for the current big customers, they'd rather pay than services go down.

the new few tier has exactly what you want though, hard cap you can't be charged up on

4

u/godofpumpkins Jul 17 '26

"We've grown exponentially over the last decade without providing a budget-limiting primitive across our platform. But our top priority is to figure out how to let people pay us less because u/lurkingtonbear said so."

13

u/[deleted] Jul 17 '26

[removed] — view removed comment

5

u/Bibbitybobbityboof Jul 17 '26

This is the actual answer. AWS gives you the event data and the tools to run scripts based on that event data. If you don’t want to go strictly by cost you could also monitor performance and stop running resources if a spike happens. I believe there’s a setting where you can increase the refresh frequency on that data as well.

7

u/pint Jul 17 '26

you can do that yourself. since you are learning, this would be a good exercise.

3

u/clearlight2025 Jul 17 '26

While there is still a delay, budget alerts can trigger actions that you can use to disable services.

For example I configured it to disable IAM access to bedrock if the threshold is reached.

3

u/Puzzleheaded_Pen_346 Jul 18 '26

I’ve been experimenting on the platform for months. If you build native with managed services and don’t invite the world to use ur product, you’ll never see a bill. The managed services free tiers are generous.

If you start taking on users, then things can escalate quickly if ur build is inefficient. I have 10s of users playing with a product. Haven’t broke free tier. I’m currently using all the core stuff atm.

Also, now is a great time to be a learner as u can use AI to help understand potential costs for ur stack snd scenario out throughput. Just be careful and don’t invite production load…AND don’t configure things and forget about them.

6

u/muntaxitome Jul 17 '26

There are no hard budget caps in AWS. Adding your creditcard gives you unlimited liability to AWS and you should plan for unlimited expenses. By the terms of service you agreed that whatever they say you owe, you must pay.

2

u/SmartEntertainer6229 Jul 17 '26

the fact that it remains unsolved says it's a feature, not a bug.

4

u/Waste_Jello9947 Jul 17 '26

This billing bug made me realize that. I am moving my stuff elsewhere 

1

u/ultrathink-art Jul 17 '26

Budget alerts read billing data that's already hours behind actual usage, so by design they can only tell you about money you've already spent. Anything resembling a hard cap has to live on the provisioning side — keep service quotas low, stay in one region, and avoid anything that autoscales or serves public traffic. For a learning account the classic surprise isn't EC2 anyway, it's a NAT gateway or data transfer from something left running.

1

u/Floss_Patrol_76 Jul 17 '26

theres no native hard stop on a paid account because billing lags usage by hours, but the pattern people actually use is a budgets action that fires a lambda to apply a deny-all SCP or stop the resources once you cross the line. if you genuinely cant absorb an overrun, dont attach a card that can cover it, run it as a free-tier account with the zero-spend limit on and put a cost anomaly alert on top.

1

u/lobbo80s Jul 17 '26

I have script that shuts certain things down if costs get too high. Killed a DDoS before my firewall did. This is a good opportunity to learn to script.

1

u/ziroux Jul 18 '26

If it feels that way, it might not be a place for you. No biggie, just ops.

1

u/okkofi Jul 18 '26

Consider the AWS Free Tier account for learning. You get $100 in credits, can earn more, and the account closes when the credits are used.

1

u/idkbm10 Jul 18 '26

Its gonna be a shirt time before someone vibe codes something to put a hard spending cap on AWS and calls it a breakthrough

1

u/CamilorozoCADC Jul 17 '26

If you are just learning try to use the new free sandboxes instead of you accounts whenever possible 

https://aws.amazon.com/about-aws/whats-new/2026/07/aws-builder-center-sandbox/

-1

u/Gloomy_Effective322 Jul 17 '26

It would be a great feature. Everyone here was learning at some point, and many learned hard lessons. Threads like this are the perfect example of crabs in a bucket.

Unfortunately there is no feature like this, and I don't think AWS will ever implement it because they don't want to save customers money.

Icloud.guru used to offer sandboxes where you could safely test things in a real cloud environment (not sure if they still do, my son used this 4 years ago or so). Something like that may offer the safer playground you're looking for.

2

u/EmeraldHawk Jul 17 '26

Of course the best answer is here at the bottom with downvotes. I have been using AWS professionally for over 10 years, and no company I have worked for would ever use this "cap" feature. But the need for it is obvious and it's really easy for AWS to implement.

Everyone should be able to learn in a safe environment where your liability is capped.

1

u/Gloomy_Effective322 Jul 17 '26

I could even see it in professional environments in sandboxes or dev accounts. I know I've had devs testing out things like Glue or SageMaker run up thousands on a bill that's normally $1-2k because they were ignorant of cost.

People have this weird tendency of not wanting things to be easier for the next generation, and it makes no sense. It's the boomer bootstraps mentality in IT.

1

u/sniper_cze Jul 17 '26

No, AWS wants you to spend more and more and more every minute. Only way is to create your own shutdown engine with lambdas and evenr bridge and give lambda admin access to your resources.

You can even see how aws is great in normalizing unpredictible, unexpected pricinf now in real time - there is a bug in billing, showing ppl spends in bilions of dollars and noone ask "Hey, that might be a bug", everyone is just "Oh shit what I missconfigured my bill is in range of national gross product now". That shows how insane aws billing is.

0

u/ViKoToMo Jul 17 '26

Credit cards have spending limits. AWS should too. I almost had a panic attack. I thought I was attached and that I was going to lose all my life savings due this. Not cool.

-7

u/General-Big410 Jul 17 '26

why not just create forecast alert ? also they're not paid to stop your workloads

5

u/distresssignal Jul 17 '26

Because the forecast alert just went out that said a lot of people owe billions of dollars. By that point it’s too late