As a hobby, I'm writing a web application that will use some bandwith. Imagine I implement a feature that will produce custom 50 megabyte downloads for each interested user and maybe a megabyte or ten for uninterested visitors. I hope it will be popular but I don't want to have to take out a second mortgage on the house to pay for a month's bandwidth bill on the off chance I get dugg/yigged/abusively spidered and wind up transferring OMGWTFGB/mo.
I'm thinking about pushing most of the bandwidth out through S3 or S3+CloudFront. Google App Engine has a nice feature that limits the amount of money your application can spend per day. Assuming I stay away from GAE and my application is efficient enough that it won't just mercifully crash on its own, is there a good way for my application to say "buzz off" as soon as it's costing me more than I want to pay?
I understand I could hire myself part-time if I could convince a million-hits-a-day site like StackOverflow to host AdSense ads and give me the revenue. Underwhelming! And the ads would be on my own much less popular site. Since I have no way of knowing whether ad revenue or donation buttons will actually pay for the bandwidth, I'm looking for something like a CDN that allows for download budgeting, or a software component that will read the CDN's billing interface and shut down or throttle the site if it's spending too quickly.