Lets say, i want to restrict a file to my visitors. I mean , i have an xx.avi file to be streamed/downloaded, and the visitor paid me for the bandwidth and the size of the file.

In amazon s3, i cant control the file at all .(there is a very basic control thing which is not ok for me)

Only way is my server can proxy the file, like it fetches the file from amazon s3 storagenode and send it to the owner with authentication approval by a php script. But this way i would double up the bandwidth usage and again there would be latency problem since my server needs to get the file from amazon s3.

So i was wondering if there is a better solution or any cloud storage service that lets us to control the file restriction to my visitors.


  • 3
    What you're looking for sure looks like it defeats most of the purpose of using "cloud storage", doesn't it? A business model that relies on controlling the copying of bits is a poor business model in today's market. Its one thing to be recouping bandwidth costs, but trying to control distribution of bits is a losing battle. – Evan Anderson May 12 '10 at 23:34
  • I would give a service like rapidshare . So i have to count every bit that any user has used, at the same time giving them the quality service by cloudserver. can you tell me why did you say like that? – TORr0t May 13 '10 at 0:32

If you proxy the file through an Amazon EC2 instance, "There is no Data Transfer charge for data transferred between Amazon EC2 and Amazon S3 within the same Region". Yes, you have to pay for the cost of an EC2 instance, but you won't have to pay 'double' for bandwidth.

  • I considered that already. But as far as i remember it was until some time this year. But as Stephen mentioned, I might check the new version's documents. There is http referrer restriction option (i dont know if it can be spoofed or not) – TORr0t Apr 6 '11 at 4:09

In amazon s3, i cant control the file at all .(there is a very basic control thing which is not ok for me)

Are you talking about Amazon S3's authenticated URLs, or something else? The authenticated URL functionality sounds like it's perfect for what you want to do, so more information on why it's "not ok" would be useful.

  • yes i am talking about that, why it is not useful for me at all ? 1) it is only letting the users to have the file for a period of time, the visitor can share that url to other people,and they can multiplly download it. Thus, it will eat my bandwitdh double, triple.. times, icant control that. 2) i cant know how much traffic/bandwidth the visitor used, i need to know that so ican charge them with the bandwidth they have used.(thats my business model) maybe i should be buying a ec2 and proxy the s3 servers, but it will be very very expensive solution. – TORr0t May 13 '10 at 0:30
  • This doesn't sound like the greatest business model, if you ask me. – ceejayoz May 13 '10 at 2:35
  • His business model is simply having them pay for what they use. Sounds fair to me, as long as the usage price is fair. – Kzqai Mar 2 '11 at 14:15

I am pretty sure that S3 will accommodate your needs. Check out the documentation below, you can restrict S3 buckets to specific IP addresses, or even specific HTTP Referrers.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.