views:

573

answers:

1

We have been requested to stream a single video (+500MB) from a web site. The biggest additional requirement is that access must be forbidden to foreign IP addresses. Given that high bandwith usage is expected we have turned to Amazon S3 to serve the video as a FLV, but AFAIK Amazon won't let you set up IP filtering based on country lists, and FLV Pseudo-streaming is not possible from S3, either.

The solution we have come up with is to create an EC2 instance with a web server, and allow it to serve only c0ertain IP ranges corresponding to our country. Having this solved, it's only a matter of serving a static FLV file, but the main question remain:

To store the video, we will be setting up a Elastic Block Storage volume to store the video, and copy it on instance boot to local storage, and then serve it from there. Reading about serving video content from the Amazon Cloud I've only found references to serving files directly from S3, and with our scheme we will be serving it from EC2, are there any bandwith issues not present on S3? What is the maximum bandwith an EC2 can deliver? How would we scale it if a single EC2 instance fails to serve the content fast enough?

And, finally, what would be the advantages of using a streaming media server like Wowza Media Server for EC2?

+2  A: 

Here's an article about some of the differences between s3 and ebs:

In terms of throughput S3 has maximum throughput (single threaded ) of approximately 20 MB/s or 25 MB/s for multithreaded. This is on a small instance. This rises to 50 MB/s on the large and extra large instances. EBS has a maximum throughput limited by the network, This isapproximately 25 MB/s on a small instance and 50 MB/s on large instances, and 100 MB/s on extra large instances. As both S3 and EBS are shared resources they are subject to slowdown under heavy load.

Can't help with Wowza or your other questions.

mooreds