Показаны сообщения с ярлыком amazon. Показать все сообщения
Показаны сообщения с ярлыком amazon. Показать все сообщения

четверг, 1 декабря 2011 г.

Черновик мана по амазоновскому FMS

Грабли - маны по дефолту на офсайте под версию 4.5, а софт версии 4.0
Собственно, вот мануал (про ориджин):
http://help.adobe.com/en_US/FlashMediaServer/4.0_amazonec2/index.html
Покупается лицензия:
http://www.adobe.com/products/flashmediaserver/amazonwebservices/
Стартуем инстанс из ami-2f945346 (на данный момент - 2011-12-1) или из любого Adobe ami
Тестим ориджин, раздел Live streaming:
http://help.adobe.com/en_US/FlashMediaServer/4.0_amazonec2/WSbb9528066c89be0e-605aa81e132abbe8ee2-7ffb.html
гнать видео этим:
http://www.adobe.com/products/flashmediaserver/flashmediaencoder/
тут конфигуряем плеер:
http://www.osmf.org/configurator/fmp/#
url: rtmp://ec2-75-101-169-79.compute-1.amazonaws.com/live/livestream
можно зайти на сервак:
ssh root@ec2-75-101-169-79.compute-1.amazonaws.com -i speed.pem
и код плеера запихать в /mnt/webroot/file.html, зайти на трансляцию:
http://ec2-75-101-169-79.compute-1.amazonaws.com/file.html

Теперь эдж.
запускаем инстанс.
в /opt/adobe/fms/conf/_defaultRoot_/_defaultVHost_/Vhost.xml правим:

Mode: "remote"
Anonymous: "true"
В разделе Route вписываем: "edge_name:*;origin_name:*"
Для упрощения:
 sed -i -e 's/<Mode>local<\/Mode>/<Mode>remote<\/Mode>/' /opt/adobe/fms/conf/_defaultRoot_/_defaultVHost_/Vhost.xml
 sed -i -e 's/<Anonymous>false<\/Anonymous>/<Anonymous>true<\/Anonymous>/' /opt/adobe/fms/conf/_defaultRoot_/_defaultVHost_/Vhost.xml
sed -i -e 's/<RouteEntry><\/RouteEntry>/<RouteEntry>*:*;ec2-107-21-90-191.compute-1.amazonaws.com:*<\/RouteEntry>/' /opt/adobe/fms/conf/_defaultRoot_/_defaultVHost_/Vhost.xml



/opt/adobe/fms/server restart

среда, 12 октября 2011 г.

Амазон и трансляции

Сегодня, вернее уже вчера вечером некая контора разыгрывала в одном московском клубе скидки на квартиры. Так получилось, что мне пришлось срочно поднимать резервную площадку для трансляции розыгрыша церемонии вручения купонов.
Делать решили на амазоне, используя адобовские образы с флешем (тут рассказывал про это). Настроил один ориджин, на который ребята, занимающиеся трансляцией, пустили поток из клуба, перед ним 3 эджа. Все 4 инстанса - x.large. Балансером тут выступал по сути офсайт, плеер раздавался клиентам с ссылкой на один из эджей. Коллега, который плеер на сайт прикручивал, сделал ротацию и убоал мою карусель в резерв.
В какой-то момент пришлось ресчехлять.
Итого нагрузка в пике составила в сумме 5,5 тыс. одновременных трансляций, за ~3 часа отдали полтора терабайта. Из-за небольшой ошибки, часть клиентов на ориджин попали, но так, как он мог вынести нагрузку на уровне с эджами - оставили, просто убрали его из ротации.
Причём занятно - поначалу трансляция с амазона была довольно тормозная, пока коннекты единичные были, но после их резкого роста все тормоза прекратились )

Вот график отдачи:


Странноват, конечно..
В общем, aws - вполне годится для трансляций в прямом эфире, где допустим лаг в 5-8 секунд.
И, да, всё удовольствие вышло примерно в 300$.

вторник, 5 апреля 2011 г.

Adobe FMS clustering

Надо сделать штуку для вещания в прямом эфире на много человек. Пробую в амазоне.

Архитектура такая:

1 FMS origin сервер, на который идёт поток с камеры.
N FMS edge серверов, которые проксят этот поток.
1 балансер, за которым граничные стоят.

1. Разворачиваем нужное число инстансов из амазоновского AMI.
2. На edge серверах правим теги в /opt/adobe/fms/conf/_defaultRoot_/_defaultVHost_/Vhost.xml:

Mode: "remote"
Anonymous: "true"
В разделе Route вписываем: "edge_name:*;origin_name:*"

Дальше... пока так сделал - на эджах сделал по паге с плеером, берущего поток со своего сервака, а перед эджами поставил nginx, навстроив апстримы.

Главная проблема теперь - лаг до 6-7 секунд

пятница, 11 сентября 2009 г.

AMI

Создание AMI:
На инстанс в каталог /mnt заливаем ключ и сертификат, можно воспользоваться scp.
Снимаем образ:
# ec2-bundle-vol -p myAMI -k /mnt/private_key -c /mnt/certificate -u xxxx-xxxx-xxxx

ключ обычно имеет вид pk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem
сертификат - cert-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem
-u - идентификатор юзера
-p - название амишки

Заливка на S3:
# ec2-upload-bundle -b accessd -m myAMI.manifest.xml -a access_key -s secret_key
-b - папка на S3
access_key и secret_key можно посмотреть в разделе Security в информации по аккаунту.

Напоследок регистрируем AMI в консольке aws, указав путь, сформированный в предыдущей команде.