内容交付网络(CDN),如AWS Cloudfront,策略,最佳使用

时间:2011-06-26 05:17:27

标签: flash video-streaming cdn rtmp amazon-cloudfront

这是典型的“CDN”政策吗?这是为了鼓励客户只托管这些内容会持续很长一段时间,并且可能会看到下载量达到一百万次吗?

我开始关注AWS Cloudfront,因为它能够流式传输RTMP媒体(也称为Flash服务器行为)来托管视频内容。也就是说,我并不太关心“靠近客户的分配”的好处。但是,让我感到惊讶的是AWS Cloudfront定价页面上的一个条款,该条款表示前1000个“取消”(每月)都是免费的。我将“取消”解释为删除我不再希望通过CDN提供的内容的行为。是吗?

我的要求是能够提供不与公众或大量观众共享的媒体内容(流媒体音频,流媒体视频)。这类文件中的每一个都有一个生命周期(或相关性)只有几天(最多一周左右),并且每个文件只能由少数人/消费者查看(例如,1个文件由平均3人,最多10人)。此外,还需要维护内容的隐私,因此意外共享的媒体URL不应允许未经授权的人访问它。在这种情况下,假设CDN是一种矫枉过正而不是正确的解决方案是正确的吗?

我被AWS CF吸引,因为它的RTMP流媒体能力价格低廉(至少入门价格低)。我还可以考虑其他什么选择。对我来说,高可用性和往返时间是次要的......主要关注的是成本,即它需要尽可能低。关于“有多低”的问题,我对发展中经济体说得足够低,s.a。在亚洲,南美洲和非洲。寻找正确方法的建议。

2 个答案:

答案 0 :(得分:1)

回答我自己,就像我在AWS site here

找到的那样
  

默认情况下,通过Amazon CloudFront提供的文件可由Internet上的任何人公开阅读。但是,如果您需要更好地控制谁可以下载或流式传输您的文件,您可以使用Amazon CloudFront的私有内容功能。启用此选项后,Amazon CloudFront将仅在您通过安全签署请求表明可以提供文件或流媒体时提供。使用私人内容功能不收取额外费用。

     

Amazon CloudFront使用您在文件上设置的有效期(通过缓存控制标头)来确定是否需要检查文件更新版本的来源。如果您希望文件经常更改,最佳做法是使用对象版本控制来管理这些更改。要实现对象版本控制,可以在源服务器中为文件的每个版本创建唯一的文件名,并使用与网页或应用程序中正确版本对应的文件名。借助这种技术,Amazon CloudFront可以缓存您想要的对象版本,而无需等待对象过期,然后才能提供更新版本。

     

您还可以通过调用Invalidation API随时从所有Amazon CloudFront边缘位置删除文件的副本。无论您在源服务器上为该文件设置的有效期如何,此功能都会从每个Amazon CloudFront边缘位置删除该文件。如果需要一次删除多个文件,可以在XML文档中发送文件列表(最多1,000个)。失效功能旨在用于意外情况,例如,纠正您上传的视频的编码错误或对您网站的css文件的意外更新。但是,如果您事先知道文件会经常更改,则建议您使用对象版本控制来管理文件更新。此技术使您可以更好地控制更改何时生效,还可以避免使对象失效的潜在费用。

答案 1 :(得分:0)

听起来,时间过期的网址非常适合您。每当您想让用户观看视频流时,您都会生成一个有效期限(例如5分钟)的签名网址。

5分钟过后,网址不再有效。这是一种控制媒体访问的好方法,无需不断添加和删除发行版中的文件。

您需要在主站点上使用一些代码来生成URL并设置所有内容。以下是使用python:

设置带有签名URL的云端流的示例

Getting started with secure AWS CloudFront streaming with Python

享受!