I don't use S3, but it's kind of insane that unauthorized requests contribute to your bill... couldn't a bored/malicious actor with a botnet just spam common bucket names?
A bored or malicious actor can also just DDoS your CloudFront endpoint and run up an effectively unlimited bill on your end. That exposure is par for the course with AWS, they don't have a spending hard-stop and at this point they probably never will, you just have to hope that they have mercy and waive the bill if you get a surprise extra few zeroes on the end.
How an empty S3 bucket can make your AWS bill explode
21–30 of 118 posts
Re: How an empty S3 bucket can make your AWS bill explode
#22This isn't obviously a scam to me. Cloudflare have guarantees around pricing per request, and I'd expect them to honour it. AWS have different prices. I'd expect them to honour them. The problem is the cloud priorities availability over cost savings. We used to run our own infrastructure, that would just fall over if it got too many requests. This infrastructure never falls over; it just bills more. I don't know the…
Re: How an empty S3 bucket can make your AWS bill explode
#23The bucket is the same name as the domain so I can imagine this could be exploited quietly very easily as PUTs are so expensive.
Literally a $5 VPS could cost someone $1k.
Re: How an empty S3 bucket can make your AWS bill explode
#24not viable for a public bucket, but seems like it'd do the trick on private buckets.
edit: hahaha, i'm wrong https://docs.aws.amazon.com/AmazonS3/latest/userguide/Reques...
Re: How an empty S3 bucket can make your AWS bill explode
#25Earlier quoted context omitted.
That doesn't work, the standard endpoint always remains available.
I assume random names are the only way forward. Unfortunately a bucket name can’t be longer than 63 characters.
Re: How an empty S3 bucket can make your AWS bill explode
#26This isn't obviously a scam to me. Cloudflare have guarantees around pricing per request, and I'd expect them to honour it. AWS have different prices. I'd expect them to honour them. The problem is the cloud priorities availability over cost savings. We used to run our own infrastructure, that would just fall over if it got too many requests. This infrastructure never falls over; it just bills more. I don't know the…
The right way is for unauthorized requests to not cost anything.
Re: How an empty S3 bucket can make your AWS bill explode
#27Re: How an empty S3 bucket can make your AWS bill explode
#28Earlier quoted context omitted.
A bored or malicious actor can also just DDoS your CloudFront endpoint and run up an effectively unlimited bill on your end. That exposure is par for the course with AWS, they don't have a spending hard-stop and at this point they probably never will, you just have to hope that they have mercy and waive the bill if you get a surprise extra few zeroes on the end.
and their bills cost up to 100x what they should (and then other services that run on top of AWS may inflate it 10x again)
Re: How an empty S3 bucket can make your AWS bill explode
#29Ok I'm actually going to delete my web site and cloudfront distribution over this. It gets no traffic (at the moment). The bucket is the same name as the domain so I can imagine this could be exploited quietly very easily as PUTs are so expensive. Literally a $5 VPS could cost someone $1k.
Re: How an empty S3 bucket can make your AWS bill explode
#30I don't use S3, but it's kind of insane that unauthorized requests contribute to your bill... couldn't a bored/malicious actor with a botnet just spam common bucket names?
Unauthorized requests are a weird thing. They still do cost money for a web service to handle and if you (the customer) have screwed things up that's kinda on you. I've run SaaS where a customer forgot to send their key and their software would just keep retrying requests to the point that they were sending thousands of requests per second with no key. However, it's kinda crappy when it's happening through no fault of your own.
One doesn't even have to make unauthorized requests to run up a bill. One can simply make lots of spam requests to a real file in a bucket - run up the request total and bandwidth at the same time.