Сети доставки контента (CDN), такие как AWS Cloudfront, политики, оптимальное использование

Это типичная политика CDN? Это для того, чтобы побудить клиентов размещать только такой контент, который будет существовать довольно долго и, вероятно, будет иметь миллион загрузок?

Я начал искать в AWS Cloudfront возможность потоковой передачи мультимедийных данных RTMP (также известного как поведение Flash-сервера) для размещения видеоконтента. Другими словами, меня не слишком беспокоит выгода «распределение ближе к клиенту». Однако что меня удивило, так это пункт на странице цен на AWS Cloudfront, в котором говорится, что что-то вроде первых 1000 «отмен» (в месяц) бесплатны. Я интерпретирую «Отмена» как акт удаления контента, который я больше не хочу обслуживать через CDN. Это правильно ?

Мое требование - это возможность предоставлять мультимедийный контент (потоковое аудио, потоковое видео), который не используется широкой публикой или большой аудиторией. Это что-то вроде того, что у каждого из этих файлов есть время жизни (или актуальность) всего несколько дней (максимум неделю или около того), и каждый файл будет просматривать только небольшая группа людей / потребителей (например, 1 файл просматривает в среднем 3 человека, максимум скажем 10 человек). Кроме того, необходимо поддерживать конфиденциальность содержимого, поэтому случайно переданный URL-адрес мультимедиа не должен позволять неавторизованному лицу получить к нему доступ. В таком случае, правильно ли предполагать, что CDN - это излишество, а не правильное решение?

Меня привлекла AWS CF из-за низкой цены (по крайней мере, низкой начальной цены) для возможностей потоковой передачи RTMP. Какие еще варианты я мог бы рассмотреть. Для меня высокая доступность и время приема-передачи являются второстепенными ... основная проблема - стоимость, то есть она должна быть как можно ниже. Что касается вопроса «насколько низко», я бы сказал, что достаточно низко для развивающихся экономик, s.a. в Азии, Южной Америке и Африке. Ищем предложения по правильному подходу.


person bdutta74    schedule 26.06.2011    source источник
comment
Кто бы ни проголосовал против, мог оставить для этого причину. Неудачник.   -  person bdutta74    schedule 26.06.2011
comment
Я не голосовал, но одна из возможных причин, по которой кто-то это сделал, может заключаться в том, что это не вопрос программирования (stackoverflow.com/faq#questions).   -  person Lars Blåsjö    schedule 26.06.2011
comment
Спасибо @Lars. Я просто хочу, чтобы у людей было немного более широкое представление, и чтобы я доверял честному вопросу, который можно было бы поставить лучше в другом месте. Как вы думаете, есть ли лучший сайт Stack-Exchange, где можно было бы задать такой вопрос?   -  person bdutta74    schedule 26.06.2011
comment
На самом деле я не знаю, я использую только stackoverflow сам, но, возможно, webmasters.stackexchange.com   -  person Lars Blåsjö    schedule 26.06.2011


Ответы (2)


Отвечая сам, я нашел его на сайте AWS здесь

По умолчанию файлы, доставляемые через Amazon CloudFront, доступны для чтения всем в Интернете. Однако, если вам требуется больший контроль над тем, кто может скачивать или передавать ваши файлы в потоковом режиме, вы можете использовать функцию частного контента Amazon CloudFront. Если этот параметр включен, Amazon CloudFront будет доставлять файлы или потоковое мультимедиа только в том случае, если вы разрешите это сделать, надежно подписав свои запросы. Дополнительная плата за использование частного контента не взимается.

Amazon CloudFront использует установленный вами срок действия файлов (с помощью заголовков управления кешем), чтобы определить, нужно ли проверять происхождение обновленной версии файла. Если вы ожидаете, что ваши файлы будут часто меняться, лучше всего использовать управление версиями объектов для управления этими изменениями. Чтобы реализовать управление версиями объектов, вы создаете уникальное имя файла на исходном сервере для каждой версии вашего файла и используете имя файла, соответствующее правильной версии, на ваших веб-страницах или в приложениях. С помощью этого метода Amazon CloudFront кэширует нужную вам версию объекта, не дожидаясь истечения срока действия объекта, прежде чем вы сможете обслуживать новую версию.

Вы также можете в любое время удалить копии файла из всех периферийных местоположений Amazon CloudFront, вызвав Invalidation API. Эта функция удаляет файл из каждого пограничного местоположения Amazon CloudFront независимо от срока действия, установленного для этого файла на исходном сервере. Если вам нужно удалить сразу несколько файлов, вы можете отправить список файлов (до 1000) в виде XML-документа. Функция аннулирования предназначена для использования в непредвиденных обстоятельствах, например, для исправления ошибки кодирования в загруженном вами видео или непредвиденного обновления файла css вашего веб-сайта. Однако, если вы заранее знаете, что ваши файлы будут часто меняться, рекомендуется использовать управление версиями объектов для управления обновлениями ваших файлов. Этот метод дает вам больше контроля над тем, когда ваши изменения вступают в силу, а также позволяет избежать потенциальных сборов за недействительность объектов.

person bdutta74    schedule 26.06.2011

Похоже, вам подойдут URL-адреса с истекающим сроком действия. Каждый раз, когда вы хотите разрешить пользователю просматривать видеопоток, вы создаете подписанный URL-адрес с ограниченным сроком действия (скажем, 5 минут).

По прошествии 5 минут URL больше не работает. Это хороший способ контролировать доступ к вашим медиа без необходимости постоянно добавлять и удалять файлы из вашего дистрибутива.

Вам понадобится немного кода на вашем основном сайте, чтобы сгенерировать URL-адреса и все настроить. Вот пример настройки потоковой передачи облачного интерфейса с подписанными URL-адресами с использованием python:

Начало работы с безопасной потоковой передачей AWS CloudFront с помощью Python

Наслаждаться!

person secretmike    schedule 18.07.2011