1

这是典型的“CDN”政策吗?这是为了鼓励客户只托管将存在相当长一段时间的此类内容,并且可能会看到一百万次下载吗?

我开始关注 AWS Cloudfront,因为它能够流式传输 RTMP 媒体(也称为 Flash 服务器类行为)来托管视频内容。也就是说,我并不太在意“贴近客户”的好处。然而,令我惊讶的是 AWS Cloudfront 定价页面上的一个条款,上面写着前 1000 次“取消”(每月)是免费的。我将“取消”解释为删除我不再希望通过 CDN 提供的内容的行为。那正确吗 ?

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

我被 AWS CF 所吸引,因为它的 RTMP 流功能价格低廉(至少入门价格低)。我可以考虑哪些其他选择。对我来说,高可用性和往返时间是次要的……主要关注的是成本,即它需要尽可能低。关于“多低”的问题,我会说对于发展中经济体来说已经足够低了,比如亚洲、南美和非洲。寻找有关正确方法的建议。

4

2 回答 2

1

回答自己,因为我在 AWS 网站上找到了它

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

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

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

于 2011-06-26T17:32:30.683 回答
0

听起来过期 URL 很适合您。每次您想让用户观看视频流时,您都会生成一个具有有限生命周期(例如 5 分钟)的签名 URL。

5 分钟过去后,该 URL 将不再有效。这是控制对您的媒体的访问的好方法,而无需从您的发行版中不断添加和删除文件。

您需要在主站点上编写一些代码来生成 URL 并设置所有内容。这是一个使用 python 使用签名 URL 设置云端流的示例:

开始使用 Python 进行安全 AWS CloudFront 流式传输

享受!

于 2011-07-18T12:50:32.280 回答