Here's some background:
I am working with a few non-profits, each of which has 1,000 - 2,000 mp3's they want to make available for free.

I started with the most expensive option, paying for streaming media hosting (around $600 a month).
Moved on to using our own dedicated server (around $450 monthly).
And now I'm looking at AWS S3 simple storage on the cloud (costs not yet determined, because this is not a set fee, but based on bandwidth usage).

The problem I have with S3 is it does not have any way to measure or manage bandwidth. It only provides a simple email alert should your credit card fees reach a limit you've set. And in that case my only recourse would be to remove permissions to this server's content giving visitors a 404 error when they try a mp3 link (not acceptable, short sighted and not mentioned by people recommending S3).

I've contacted S3 tech support and they have no solutions, except to move to a more expensive server EC2, load an OS, and basically go back to running my own server, but with less support than my dedicated host.

I've searched for any third party tools to use with S3, and so far found nothing.

We have had BW spikes of 700+GB otherwise it is normally very low. My concern is being able to manage our bandwidth, set limits and such. I want more options than just closing down access to the mp3's altogether after we have been charged fees for a spike. And because these mp3's have open access - no log in - no password - no fees - I do not want someone to hit our server's resources (and budget) hard in an attack.

Best Practices: So anyone have some thoughts or best ways to offer free and easy access mp3's, while managing the usage and access to the server?

Do you use a cloud server to offer up files for download, and if so how to you manage it's resources?

What server resource management tools do you use and recommend?

Thanks for much for sharing your insights ~